gimite / google-drive-ruby

A Ruby library to read/write files/spreadsheets in Google Drive/Docs.
Other
1.76k stars 493 forks source link

gemspec dependency on google-api-client is too broad #376

Open zwalker opened 4 years ago

zwalker commented 4 years ago

This PR https://github.com/gimite/google-drive-ruby/pull/367 included in release 3.0.5 added the supports_all_drives parameter to some calls to the google-api-client. The google api client seems to have added support for this field in version in this commit https://github.com/googleapis/google-api-ruby-client/commit/50a63b45e3ced41bb102457d96c78d035db2f861 which is first seen in release 0.29.0 https://github.com/googleapis/google-api-ruby-client/releases/tag/0.29.0

The gemspec allows versions of google-api-client back to 0.11.0 which would be incompatible with versions after 3.0.4 of this library.

I think the appropriate fix is just to make the minimum acceptable version of the google-api-client gem 0.29.0 and making making at least a minor version bump to the gem

Below is the relevant part of the stacktrace that led me to this. I started getting this error after moving form version 3.0.4 to 3.0.5

ArgumentError: unknown keyword: supports_all_drives
File "vendor/bundle/ruby/2.6.0/gems/google-api-client-0.25.0/generated/google/apis/drive_v3/service.rb" line 777 in get_file
File "vendor/bundle/ruby/2.6.0/gems/google_drive-3.0.5/lib/google_drive/session.rb" line 288 in file_by_id
File "vendor/bundle/ruby/2.6.0/gems/google_drive-3.0.5/lib/google_drive/session.rb" line 414 in root_collection
File "engines/web_common/lib/web_common/session.rb", line 46 in find_folder
DannyBen commented 3 years ago

I believe this issue is now fixed as a side effect of #396, right?