Class: ActiveRecord::FixtureSet::ModelMetadata

Inherits:
Object
  • Object
show all
Defined in:
activerecord/lib/active_record/fixture_set/model_metadata.rb

Overview

:nodoc:

Instance Method Summary collapse

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

#has_primary_key_column?Boolean

Returns:

  • (Boolean)

18
19
20
21
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 18

def has_primary_key_column?
  @has_primary_key_column ||= primary_key_name &&
    @model_class.columns.any? { |col| col.name == primary_key_name }
end

#inheritance_column_nameObject


28
29
30
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 28

def inheritance_column_name
  @inheritance_column_name ||= @model_class && @model_class.inheritance_column
end

#primary_key_nameObject


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_typeObject


14
15
16
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 14

def primary_key_type
  @primary_key_type ||= @model_class && @model_class.type_for_attribute(@model_class.primary_key).type
end

#timestamp_column_namesObject


23
24
25
26
# File 'activerecord/lib/active_record/fixture_set/model_metadata.rb', line 23

def timestamp_column_names
  @timestamp_column_names ||=
    %w(created_at created_on updated_at updated_on) & @model_class.column_names
end