All Projects → hopsoft → Model_probe

hopsoft / Model_probe

Licence: mit
Schema introspection for ActiveModel

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Model probe

Goldiloader
Just the right amount of Rails eager loading
Stars: ✭ 1,074 (+1751.72%)
Mutual labels:  activerecord, ruby-on-rails
LocalSupport
A directory of local support services and volunteer opportunities
Stars: ✭ 60 (+3.45%)
Mutual labels:  activerecord, ruby-on-rails
squint
Search PostgreSQL jsonb and hstore columns
Stars: ✭ 26 (-55.17%)
Mutual labels:  activerecord, ruby-on-rails
activerecord-setops
Union, Intersect, and Difference set operations for ActiveRecord (also, SQL's UnionAll).
Stars: ✭ 21 (-63.79%)
Mutual labels:  activerecord, ruby-on-rails
Ransack
Object-based searching.
Stars: ✭ 5,020 (+8555.17%)
Mutual labels:  activerecord, ruby-on-rails
nxt state machine
A simple but powerful state machine implementation.
Stars: ✭ 14 (-75.86%)
Mutual labels:  activerecord, ruby-on-rails
filtered
Filters ActiveRecord queries in a nice way
Stars: ✭ 28 (-51.72%)
Mutual labels:  activerecord, ruby-on-rails
Octopus
Database Sharding for ActiveRecord
Stars: ✭ 2,496 (+4203.45%)
Mutual labels:  activerecord, ruby-on-rails
Database consistency
The tool to find inconsistency between models schema and database constraints.
Stars: ✭ 418 (+620.69%)
Mutual labels:  activerecord, ruby-on-rails
Database validations
Database validations for ActiveRecord
Stars: ✭ 274 (+372.41%)
Mutual labels:  activerecord, ruby-on-rails
prefixed ids
Friendly Prefixed IDs for your Ruby on Rails models
Stars: ✭ 159 (+174.14%)
Mutual labels:  activerecord, ruby-on-rails
Filterrific
Filterrific is a Rails Engine plugin that makes it easy to filter, search, and sort your ActiveRecord lists.
Stars: ✭ 810 (+1296.55%)
Mutual labels:  activerecord, ruby-on-rails
active record-updated at
Touch `updated_at` by default with calls to `update_all` and `update_column(s)`
Stars: ✭ 27 (-53.45%)
Mutual labels:  activerecord, ruby-on-rails
activerecord-cockroachdb-adapter
CockroachDB adapter for ActiveRecord.
Stars: ✭ 90 (+55.17%)
Mutual labels:  activerecord, ruby-on-rails
activerecord-crate-adapter
Ruby on Rails ActiveRecord adapter for CrateDB
Stars: ✭ 27 (-53.45%)
Mutual labels:  activerecord, ruby-on-rails
rails cursor pagination
Add cursor pagination to your ActiveRecord backed application
Stars: ✭ 21 (-63.79%)
Mutual labels:  activerecord, ruby-on-rails
Active record Events
Manage timestamps in ActiveRecord models
Stars: ✭ 109 (+87.93%)
Mutual labels:  activerecord, ruby-on-rails
Elasticsearch Rails
Elasticsearch integrations for ActiveModel/Record and Ruby on Rails
Stars: ✭ 2,896 (+4893.1%)
Mutual labels:  activerecord, ruby-on-rails
Active Record Query Trace
Rails plugin that logs/displays a backtrace of all SQL queries executed by Active Record
Stars: ✭ 785 (+1253.45%)
Mutual labels:  activerecord, ruby-on-rails
Type scopes
Automatic scopes for ActiveRecord models.
Stars: ✭ 24 (-58.62%)
Mutual labels:  activerecord, ruby-on-rails

ModelProbe

Schema introspection for ActiveRecord

Provides a detailed view of the underlying schema that backs an ActiveRecord model.

This functionality can be added to any object that implements ActiveRecord's columns interface.

Quick Start

# Gemfile
gem "model_probe"
# examples with an ActiveRecord User model
User.extend ModelProbe
User.probe
User.print_fixture
User.print_model

Rails Integration

ModelProbe auto initializes in the Rails development environment. This means your models are implicitly extended with this behavior when developing.

It also ships with these convenient rake tasks.

rails t -T model_probe

# rails model_probe:print_fixture[klass]  # Print fixture
# rails model_probe:print_model[klass]    # Print model
# rails model_probe:probe[klass]          # Probe
rails model_probe:probe[User]

#   confirmation_sent_at datetime..timestamp without time zone NULL
#     confirmation_token string....character varying           NULL
#           confirmed_at datetime..timestamp without time zone NULL
#             created_at datetime..timestamp without time zone
#     current_sign_in_at datetime..timestamp without time zone NULL
#     current_sign_in_ip inet......inet                        NULL
#                  email string....character varying           NULL []
#     encrypted_password string....character varying            []
#        failed_attempts integer...integer                      [0]
#                   * id uuid......uuid
#        last_sign_in_at datetime..timestamp without time zone NULL
#        last_sign_in_ip inet......inet                        NULL
#              locked_at datetime..timestamp without time zone NULL
#       payment_platform string....character varying           NULL
#    payment_platform_id string....character varying           NULL
#        phone_number_id uuid......uuid
#    remember_created_at datetime..timestamp without time zone NULL
# reset_password_sent_at datetime..timestamp without time zone NULL
#   reset_password_token string....character varying           NULL
#          sign_in_count integer...integer                      [0]
#      unconfirmed_email string....character varying           NULL
#           unlock_token string....character varying           NULL
#             updated_at datetime..timestamp without time zone
rails model_probe:print_fixture[User]

# ---
# user:
#   confirmation_sent_at: value
#   confirmation_token: value
#   confirmed_at: value
#   current_sign_in_at: value
#   current_sign_in_ip: value
#   email: ''
#   encrypted_password: ''
#   failed_attempts: '0'
#   last_sign_in_at: value
#   last_sign_in_ip: value
#   locked_at: value
#   payment_platform: value
#   payment_platform_id: value
#   phone_number_id: value
#   reset_password_sent_at: value
#   reset_password_token: value
#   sign_in_count: '0'
#   unconfirmed_email: value
#   unlock_token: value
rails model_probe:print_model[User]

# class User < ApplicationRecord
#   # extends ...................................................................
#   # includes ..................................................................
#
#   # relationships .............................................................
#   belongs_to :payment_platform
#   belongs_to :phone_number
#
#   # validations ...............................................................
#   validates :created_at, presence: true
#   validates :encrypted_password, presence: true
#   validates :failed_attempts, presence: true
#   validates :phone_number_id, presence: true
#   validates :sign_in_count, presence: true
#   validates :updated_at, presence: true
#
#   # callbacks .................................................................
#   # scopes ....................................................................
#   # additional config (i.e. accepts_nested_attribute_for etc...) ..............
#
#   # class methods .............................................................
#   class << self
#   end
#
#   # public instance methods ...................................................
#
#   # protected instance methods ................................................
#   protected
#
#   # private instance methods ..................................................
#   private
# end
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].