trailblazer / representable

Maps representation documents from and to Ruby objects. Includes JSON, XML and YAML support, plain properties and compositions.
http://trailblazer.to/2.1/docs/representable.html
MIT License
689 stars 108 forks source link

Representable doesn't work as expected on truffleruby-21.3.0 #256

Open jahan-paisley opened 2 years ago

jahan-paisley commented 2 years ago

It fails with a mysterious message, a method expects a definition object but receives an array! appreciate any help, thanks!

["_self", #<Representable::Definition ==>_self @options={:getter=>#<Proc:0x52848 /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/google-apis-core-0.4.1/lib/google/apis/core/json_representation.rb:40 (lambda)>, :render_nil=>true, :if=>#<Proc:0x52858 /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/google-apis-core-0.4.1/lib/google/apis/core/json_representation.rb:57 (lambda)>, :collection=>true, :name=>"_self", :parse_filter=>[], :render_filter=>[]}>]/Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/binding.rb:34:in `initialize': undefined method `name' for #<Array:0x52828> (NoMethodError)
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/hash/binding.rb:10:in `build_for'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/binding.rb:29:in `build'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable.rb:72:in `block in representable_bindings_for'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable.rb:72:in `collect'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable.rb:72:in `representable_bindings_for'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/hash/collection.rb:28:in `create_representation_with'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/hash.rb:37:in `to_hash'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/serializer.rb:45:in `block in <module:Representable>'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/pipeline.rb:19:in `evaluate'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/pipeline.rb:10:in `block in call'
    from <internal:core> core/enumerable.rb:463:in `inject'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/pipeline.rb:9:in `call'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/pipeline.rb:40:in `block in call'
    from <internal:core> core/enumerable.rb:354:in `each_with_index'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/pipeline.rb:39:in `call'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/pipeline.rb:19:in `evaluate'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/pipeline.rb:10:in `block in call'
    from <internal:core> core/enumerable.rb:463:in `inject'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/pipeline.rb:9:in `call'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/binding.rb:51:in `compile_fragment'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/binding.rb:15:in `block in call'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/binding.rb:13:in `each'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/binding.rb:13:in `call'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable.rb:68:in `representable_map!'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable.rb:56:in `create_representation_with'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/hash.rb:37:in `to_hash'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/representable-3.1.1/lib/representable/json.rb:42:in `to_json'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/google-apis-core-0.4.1/lib/google/apis/core/api_command.rb:81:in `prepare!'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/google-apis-core-0.4.1/lib/google/apis/core/http_command.rb:99:in `execute'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/google-apis-core-0.4.1/lib/google/apis/core/base_service.rb:377:in `execute_or_queue_command'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/google-apis-sheets_v4-0.10.0/lib/google/apis/sheets_v4/service.rb:753:in `update_spreadsheet_value'
    from /Users/jani/.rbenv/versions/truffleruby-21.3.0/lib/gems/gems/google_drive-3.0.7/lib/google_drive/worksheet.rb:454:in `save'
    from /Users/jani/Projects/crawler/base_crawler.rb:53:in `save'
    from /Users/jani/Projects/crawler/base_crawler.rb:244:in `add_new_posts!'
    from /Users/jani/Projects/crawler/base_crawler.rb:181:in `block in check_users_and_update_posts!'
    from <internal:core> core/enumerable.rb:354:in `each_with_index'
    from /Users/jani/Projects/crawler/base_crawler.rb:144:in `check_users_and_update_posts!'
    from /Users/jani/Projects/crawler/base_crawler.rb:602:in `<top (required)>'
    from <internal:core> core/kernel.rb:293:in `require_relative'
    from /Users/jani/Projects/crawler/crawler.rb:9:in `<main>'

Process finished with exit code 1
seuros commented 1 year ago

Can you provide a reproduction ? Truffleruby test are now green.