class ActiveRecord::AttributeMethods::ReadTest

Constants

FakeColumn

Public Class Methods

attribute_names() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 21
def self.attribute_names
  %w{ one two three }
end
base_class() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 15
def self.base_class; self; end
columns() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 28
def self.columns
  attribute_names.map { FakeColumn.new(name) }
end
columns_hash() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 32
def self.columns_hash
  Hash[attribute_names.map { |name|
    [name, FakeColumn.new(name)]
  }]
end
decorate_matching_attribute_types(*) click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 16
def self.decorate_matching_attribute_types(*); end
initialize_generated_modules() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 13
def self.initialize_generated_modules; end
primary_key() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 25
def self.primary_key
end
superclass() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 14
def self.superclass; Base; end

Public Instance Methods

setup() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 12
def setup
  @klass = Class.new(Class.new { def self.initialize_generated_modules; end }) do
    def self.superclass; Base; end
    def self.base_class; self; end
    def self.decorate_matching_attribute_types(*); end

    include ActiveRecord::DefineCallbacks
    include ActiveRecord::AttributeMethods

    def self.attribute_names
      %w{ one two three }
    end

    def self.primary_key
    end

    def self.columns
      attribute_names.map { FakeColumn.new(name) }
    end

    def self.columns_hash
      Hash[attribute_names.map { |name|
        [name, FakeColumn.new(name)]
      }]
    end
  end
end
test_attribute_methods_generated?() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 54
def test_attribute_methods_generated?
  assert_not @klass.method_defined?(:one)
  @klass.define_attribute_methods
  assert @klass.method_defined?(:one)
end
test_define_attribute_methods() click to toggle source
# File activerecord/test/cases/attribute_methods/read_test.rb, line 40
def test_define_attribute_methods
  instance = @klass.new

  @klass.attribute_names.each do |name|
    assert_not_includes instance.methods.map(&:to_s), name
  end

  @klass.define_attribute_methods

  @klass.attribute_names.each do |name|
    assert_includes instance.methods.map(&:to_s), name, "#{name} is not defined"
  end
end