Class: ActiveRecord::FixtureSet::ModelMetadata

Inherits:
Object
  • Object
show all
Defined in:
lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4/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 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4/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 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4/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



27
28
29
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4/lib/active_record/fixture_set/model_metadata.rb', line 27

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

#primary_key_nameObject



10
11
12
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4/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 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4/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
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.4/lib/active_record/fixture_set/model_metadata.rb', line 23

def timestamp_column_names
  @model_class.all_timestamp_attributes_in_model
end