ankane / mainstreet

Address verification for Ruby and Rails

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NoMethodError (undefined method `formatted_address' for #<Geocoder::Result::Nominatim:....

truongmkevin opened this issue · comments

Trying to create a new address (even following the example) gives me a formatted_address not found for Geocoder Result. After inspecting the object, I don't see anything close to formatted_address. Anyone else having this?

Note: I added a property_id due to an association which shouldn't affect the issue.

Ruby 2.5.3
Rails 5.2.1

Gemfile:
gem 'mainstreet'
gem 'geocoder', '~> 1.5.0'

[1] pry(main)> Address.create!(street: "1 infinite loop", zip_code: "95014", property_id: 1)
(0.2ms) BEGIN
Property Load (0.4ms) SELECT "properties".* FROM "properties" WHERE "properties"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
(0.3ms) ROLLBACK
NoMethodError: undefined method 'formatted_address' for #Geocoder::Result::Nominatim:0x00007fd53c543670
from /home/ubuntu/.gem/ruby/2.5.3/gems/mainstreet-0.1.0/lib/mainstreet.rb:67:in 'standardize_address'
[2] pry(main)> wtf!!!
Exception: NoMethodError: undefined method 'formatted_address' for #Geocoder::Result::Nominatim:0x00007fd53c543670

0: /home/ubuntu/.gem/ruby/2.5.3/gems/mainstreet-0.1.0/lib/mainstreet.rb:67:in 'standardize_address'
1: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:426:in 'block in make_lambda'
2: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:179:in 'block (2 levels) in halting_and_conditional'
3: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:606:in 'block (2 levels) in default_terminator' 4: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:605:in 'catch'
5: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:605:in 'block in default_terminator'
6: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:180:in 'block in halting_and_conditional'
7: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:513:in 'block in invoke_before'
8: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:513:in 'each'
9: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:513:in 'invoke_before'
10: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:131:in 'run_callbacks'
11: /home/ubuntu/.gem/ruby/2.5.3/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:816:in '_run_save_callbacks'
12: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/callbacks.rb:342:in 'create_or_update'
13: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/persistence.rb:308:in 'save!'
14: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/validations.rb:52:in 'save!'
15: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/transactions.rb:315:in 'block in save!'
16: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/transactions.rb:387:in 'block in with_transaction_returning_status'
17: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:254:in 'block in transaction'
18: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:239:in 'block in within_new_transaction'
19: /home/ubuntu/.rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in 'mon_synchronize'
20: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:236:in 'within_new_transaction'
21: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:254:in 'transaction'
22: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/transactions.rb:212:in 'transaction'
23: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/transactions.rb:385:in 'with_transaction_returning_status'
24: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/transactions.rb:315:in 'save!'
25: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/suppressor.rb:48:in 'save!'
26: /home/ubuntu/.gem/ruby/2.5.3/gems/activerecord-5.2.1/lib/active_record/persistence.rb:53:in 'create!'
27: (pry):1:in '

'
28: /home/ubuntu/.gem/ruby/2.5.3/gems/pry-0.12.2/lib/pry/pry_instance.rb:387:in 'eval'
29: /home/ubuntu/.gem/ruby/2.5.3/gems/pry-0.12.2/lib/pry/pry_instance.rb:387:in 'evaluate_ruby'

Hey @truongmkevin, should be fixed on master.

Put the code back in and confirming that everything is working great.

Thanks and you're awesome Andrew!