module ActiveScaffold::OrmChecks
Public Class Methods
Source
# File lib/active_scaffold/orm_checks.rb, line 4 def active_record?(klass) return false unless defined? ActiveRecord klass < ActiveRecord::Base end
Source
# File lib/active_scaffold/orm_checks.rb, line 96 def cast(klass, column_name, value) if active_record? klass type_for_attribute(klass, column_name).cast value elsif mongoid? klass type_for_attribute(klass, column_name)&.evolve value end end
Source
# File lib/active_scaffold/orm_checks.rb, line 80 def column_type(klass, column_name) if active_record? klass type_for_attribute(klass, column_name).type elsif mongoid? klass type_for_attribute(klass, column_name) end end
Source
# File lib/active_scaffold/orm_checks.rb, line 32 def columns(klass) if active_record? klass klass.columns elsif mongoid? klass klass.fields.values else [] end end
Source
# File lib/active_scaffold/orm_checks.rb, line 42 def columns_hash(klass) if active_record? klass klass.columns_hash elsif mongoid? klass klass.fields else {} end end
Source
# File lib/active_scaffold/orm_checks.rb, line 62 def content_columns(klass) if active_record? klass klass.content_columns elsif mongoid? klass klass.fields.except('_id').values else [] end end
Source
# File lib/active_scaffold/orm_checks.rb, line 88 def default_value(klass, column_name) if ActiveScaffold::OrmChecks.mongoid? klass columns_hash(klass)[column_name.to_s]&.default_val elsif ActiveScaffold::OrmChecks.active_record? klass klass._default_attributes[column_name.to_s]&.value end end
Source
# File lib/active_scaffold/orm_checks.rb, line 10 def mongoid?(klass) return false unless defined? Mongoid klass < Mongoid::Document end
Source
# File lib/active_scaffold/orm_checks.rb, line 28 def quoted_table_name(klass) klass.quoted_table_name if active_record? klass end
Source
# File lib/active_scaffold/orm_checks.rb, line 52 def reflect_on_all_associations(klass) if active_record? klass klass.reflect_on_all_associations elsif mongoid? klass klass.relations.values else [] end end
Source
# File lib/active_scaffold/orm_checks.rb, line 20 def table_name(klass) if active_record? klass klass.table_name elsif mongoid? klass klass.collection.name end end
Source
# File lib/active_scaffold/orm_checks.rb, line 16 def tableless?(klass) klass < ActiveScaffold::Tableless end
Source
# File lib/active_scaffold/orm_checks.rb, line 72 def type_for_attribute(klass, column_name) if active_record? klass klass.type_for_attribute column_name.to_s elsif mongoid? klass klass.fields[column_name.to_s]&.type end end
Public Instance Methods
Source
# File lib/active_scaffold/orm_checks.rb, line 123 def cast(column_name, value) ActiveScaffold::OrmChecks.cast active_record_class, column_name, value end