socketry / cloudflare

An asynchronous Ruby wrapper for the CloudFlare V4 API.
138 stars 86 forks source link

Undefined method "Sync" when using cloudflare-dns-update #67

Closed jeffbyrnes closed 3 years ago

jeffbyrnes commented 3 years ago

Not sure when this started, but I’m seeing this error when using the gem:

♠ cloudflare-dns-update
 0.22s    error: Cloudflare::DNS::Update::Command [pid=86231] [2020-11-28 18:22:15 -0500]
               |   NoMethodError: undefined method `Sync' for #<Cloudflare::DNS::Update::Command::Top:0x00007fe2ce8b06b0>
               |   Did you mean?  Async
               |   → /usr/local/var/rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/cloudflare-dns-update-3.0.1/lib/cloudflare/dns/update/command.rb:170 in `call'
               |     /usr/local/var/rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/samovar-2.1.4/lib/samovar/command.rb:36 in `call'
               |     /usr/local/var/rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/cloudflare-dns-update-3.0.1/lib/cloudflare/dns/update/command.rb:34 in `call'
               |     /usr/local/var/rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/cloudflare-dns-update-3.0.1/bin/cloudflare-dns-update:26 in `<top (required)>'
               |     /usr/local/var/rbenv/versions/2.7.0/bin/cloudflare-dns-update:23 in `load'
               |     /usr/local/var/rbenv/versions/2.7.0/bin/cloudflare-dns-update:23 in `<main>'

I’m a bit rusty with my Ruby, so I’m not really sure where it’s expected the Sync method to come from.

ioquatix commented 3 years ago

I will check... can you tell the version of async you are using?

jeffbyrnes commented 3 years ago
🕙 13:25:17 jeffbyrnes in Jeff’s iMac in ~ took 2s
♠ gem list async

*** LOCAL GEMS ***

async (1.24.2, 1.24.1)
ioquatix commented 3 years ago

Can you please update to the latest version of async. kernel/sync was needed to be required explicitly before but it's now required by default.

jeffbyrnes commented 3 years ago

That worked!

🕙 11:18:59 jeffbyrnes in Jeff’s iMac in ~
♠ gem install async
Fetching console-1.10.1.gem
Fetching fiber-local-1.0.0.gem
Fetching async-1.27.0.gem
Successfully installed fiber-local-1.0.0
Successfully installed console-1.10.1
Successfully installed async-1.27.0
Parsing documentation for fiber-local-1.0.0
Installing ri documentation for fiber-local-1.0.0
Parsing documentation for console-1.10.1
Installing ri documentation for console-1.10.1
Parsing documentation for async-1.27.0
Installing ri documentation for async-1.27.0
Done installing documentation for fiber-local, console, async after 0 seconds
3 gems installed

🕙 11:19:05 jeffbyrnes in Jeff’s iMac in ~
♠ cloudflare-dns-update --configuration ~/dev/home.A.yml
This configuration does not contain authorization token, we require some details.