t = Test.new
=> #<Test id: nil, name: nil, created_at: nil, updated_at: nil>
Test.public_instance_methods - ActiveRecord::Base.public_instance_methods
=>
t.methods - ActiveRecord::Base.public_instance_methods
=> ["updated_at", "validate_on_update", "updated_at=", "created_at?", "name", "name=", "validate", "created_at", "created_at=", "name?", "validate_on_create", "updated_at?"]
Test.public_instance_methods - ActiveRecord::Base.public_instance_methods
=> ["updated_at", "updated_at=", "created_at?", "name", "name=", "created_at", "created_at=", "name?", "updated_at?"]
Test.public_instance_methods is not updated until t.methods has been called. This would appear to be in error.