Class: ActiveRecord::FixtureSet::ModelMetadata
- Defined in:
- activerecord/lib/active_record/fixture_set/model_metadata.rb
Overview
:nodoc:
Instance Method Summary collapse
- #column_names ⇒ Object
- #column_type(column_name) ⇒ Object
- #has_column?(column_name) ⇒ Boolean
- #inheritance_column_name ⇒ Object
-
#initialize(model_class) ⇒ ModelMetadata
constructor
A new instance of ModelMetadata.
- #primary_key_name ⇒ Object
- #primary_key_type ⇒ Object
- #timestamp_column_names ⇒ Object
Constructor Details
#initialize(model_class) ⇒ ModelMetadata
Returns a new instance of ModelMetadata.
6 7 8 |
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 6 def initialize(model_class) @model_class = model_class end |
Instance Method Details
#column_names ⇒ Object
29 30 31 |
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 29 def column_names @column_names ||= @model_class ? @model_class.columns.map(&:name).to_set : Set.new end |
#column_type(column_name) ⇒ Object
18 19 20 21 22 23 |
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 18 def column_type(column_name) @column_type ||= {} return @column_type[column_name] if @column_type.key?(column_name) @column_type[column_name] = @model_class && @model_class.type_for_attribute(column_name).type end |
#has_column?(column_name) ⇒ Boolean
25 26 27 |
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 25 def has_column?(column_name) column_names.include?(column_name) end |
#inheritance_column_name ⇒ Object
37 38 39 |
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 37 def inheritance_column_name @inheritance_column_name ||= @model_class && @model_class.inheritance_column end |
#primary_key_name ⇒ Object
10 11 12 |
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 10 def primary_key_name @primary_key_name ||= @model_class && @model_class.primary_key end |
#primary_key_type ⇒ Object
14 15 16 |
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 14 def primary_key_type @primary_key_type ||= @model_class && column_type(@model_class.primary_key) end |
#timestamp_column_names ⇒ Object
33 34 35 |
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 33 def @model_class. end |