Skip to content

Instantly share code, notes, and snippets.

@mtwentyman
Created June 2, 2014 14:28
Show Gist options
  • Save mtwentyman/25261e2e8a3ac36deab0 to your computer and use it in GitHub Desktop.
Save mtwentyman/25261e2e8a3ac36deab0 to your computer and use it in GitHub Desktop.
active model/support 4.1 upgrade errors for Her
Her::Model::Associations .....................................FFFFFF....
1) Her::Model::Associations object returned by the association method doesnt mask the object's basic methods
Failure/Error: Foo::User.new.tap { |user| user.role = associated_value }
NoMethodError:
undefined method `empty?' for nil:NilClass
# ./lib/her/model/associations/association.rb:47:in `fetch'
# ./lib/her/model/associations/association_proxy.rb:18:in `is_a?'
# ./lib/her/model/associations/association_proxy.rb:47:in `method_missing'
# ./lib/her/model/attributes.rb:192:in `role='
# ./lib/her/model/attributes.rb:78:in `method_missing'
# ./spec/model/associations_spec.rb:306:in `block (4 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:306:in `tap'
# ./spec/model/associations_spec.rb:306:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:309:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:312:in `block (3 levels) in <top (required)>'
2) Her::Model::Associations object returned by the association method doesnt mask core methods like extend
Failure/Error: Foo::User.new.tap { |user| user.role = associated_value }
NoMethodError:
undefined method `empty?' for nil:NilClass
# ./lib/her/model/associations/association.rb:47:in `fetch'
# ./lib/her/model/associations/association_proxy.rb:18:in `is_a?'
# ./lib/her/model/associations/association_proxy.rb:47:in `method_missing'
# ./lib/her/model/attributes.rb:192:in `role='
# ./lib/her/model/attributes.rb:78:in `method_missing'
# ./spec/model/associations_spec.rb:306:in `block (4 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:306:in `tap'
# ./spec/model/associations_spec.rb:306:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:309:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:317:in `block (3 levels) in <top (required)>'
3) Her::Model::Associations object returned by the association method can return the association object
Failure/Error: Foo::User.new.tap { |user| user.role = associated_value }
NoMethodError:
undefined method `empty?' for nil:NilClass
# ./lib/her/model/associations/association.rb:47:in `fetch'
# ./lib/her/model/associations/association_proxy.rb:18:in `is_a?'
# ./lib/her/model/associations/association_proxy.rb:47:in `method_missing'
# ./lib/her/model/attributes.rb:192:in `role='
# ./lib/her/model/attributes.rb:78:in `method_missing'
# ./spec/model/associations_spec.rb:306:in `block (4 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:306:in `tap'
# ./spec/model/associations_spec.rb:306:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:309:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:322:in `block (3 levels) in <top (required)>'
4) Her::Model::Associations object returned by the association method still can call fetch via the association
Failure/Error: Foo::User.new.tap { |user| user.role = associated_value }
NoMethodError:
undefined method `empty?' for nil:NilClass
# ./lib/her/model/associations/association.rb:47:in `fetch'
# ./lib/her/model/associations/association_proxy.rb:18:in `is_a?'
# ./lib/her/model/associations/association_proxy.rb:47:in `method_missing'
# ./lib/her/model/attributes.rb:192:in `role='
# ./lib/her/model/attributes.rb:78:in `method_missing'
# ./spec/model/associations_spec.rb:306:in `block (4 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:306:in `tap'
# ./spec/model/associations_spec.rb:306:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:309:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:326:in `block (3 levels) in <top (required)>'
5) Her::Model::Associations object returned by the association method calls missing methods on associated value
Failure/Error: Foo::User.new.tap { |user| user.role = associated_value }
NoMethodError:
undefined method `empty?' for nil:NilClass
# ./lib/her/model/associations/association.rb:47:in `fetch'
# ./lib/her/model/associations/association_proxy.rb:18:in `is_a?'
# ./lib/her/model/associations/association_proxy.rb:47:in `method_missing'
# ./lib/her/model/attributes.rb:192:in `role='
# ./lib/her/model/attributes.rb:78:in `method_missing'
# ./spec/model/associations_spec.rb:306:in `block (4 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:306:in `tap'
# ./spec/model/associations_spec.rb:306:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:309:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:330:in `block (3 levels) in <top (required)>'
6) Her::Model::Associations object returned by the association method can use association methods like where
Failure/Error: Foo::User.new.tap { |user| user.role = associated_value }
NoMethodError:
undefined method `empty?' for nil:NilClass
# ./lib/her/model/associations/association.rb:47:in `fetch'
# ./lib/her/model/associations/association_proxy.rb:18:in `is_a?'
# ./lib/her/model/associations/association_proxy.rb:47:in `method_missing'
# ./lib/her/model/attributes.rb:192:in `role='
# ./lib/her/model/attributes.rb:78:in `method_missing'
# ./spec/model/associations_spec.rb:306:in `block (4 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:306:in `tap'
# ./spec/model/associations_spec.rb:306:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:309:in `block (3 levels) in <top (required)>'
# ./spec/model/associations_spec.rb:334:in `block (3 levels) in <top (required)>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment