Class: RGet::Dropbox
- Inherits:
-
Object
- Object
- RGet::Dropbox
- Defined in:
- lib/dropbox.rb
Class Method Summary collapse
Instance Method Summary collapse
- #exist?(dst, dropbox_path) ⇒ Boolean
-
#initialize ⇒ Dropbox
constructor
A new instance of Dropbox.
- #upload(dropbox_path) ⇒ Object
Constructor Details
#initialize ⇒ Dropbox
Returns a new instance of Dropbox.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/dropbox.rb', line 10 def initialize token = Pit::get('rget-dropbox') unless token[:api_token] if token[:api_key] api_key = token[:api_key] else print "Enter dropbox app key: " api_key = $stdin.gets.chomp end if token[:api_secret] api_secret = token[:api_secret] else print "Enter dropbox app secret: " api_secret = $stdin.gets.chomp end authenticator = ::DropboxApi::Authenticator.new(api_key, api_secret) puts "\nGo to this url and click 'Authorize' to get the token:" puts authenticator. token.clear # delete all old settings print "Enter the token: " code = $stdin.gets.chomp token[:api_token] = authenticator.get_token(code).token Pit::set('rget-dropbox', data: token) end @client = ::DropboxApi::Client.new(token[:api_token]) end |
Class Method Details
.client ⇒ Object
6 7 8 |
# File 'lib/dropbox.rb', line 6 def self.client self.new end |
Instance Method Details
#exist?(dst, dropbox_path) ⇒ Boolean
40 41 42 |
# File 'lib/dropbox.rb', line 40 def exist?(dst, dropbox_path) !(@client.list_folder(dropbox_path).entries.find{|e|e.name == dst} == nil) end |
#upload(dropbox_path) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/dropbox.rb', line 44 def upload(dropbox_path) info = ::DropboxApi::Metadata::CommitInfo.new('path'=>dropbox_path, 'mode'=>:add) cursor = @client.upload_session_start('') while data = yield @client.upload_session_append_v2(cursor, data) end @client.upload_session_finish(cursor, info) end |