lib/browse_everything/driver/sky_drive.rb in browse-everything-0.10.5 vs lib/browse_everything/driver/sky_drive.rb in browse-everything-0.11.0

- old
+ new

@@ -1,37 +1,36 @@ module BrowseEverything module Driver class SkyDrive < Base - require 'skydrive' def icon 'windows' end def container_items - ["folder","album"] + %w(folder album) end def validate_config unless config[:client_id] - raise BrowseEverything::InitializationError, "SkyDrive driver requires a :client_id argument" + raise BrowseEverything::InitializationError, 'SkyDrive driver requires a :client_id argument' end unless config[:client_secret] - raise BrowseEverything::InitializationError, "SkyDrive driver requires a :client_secret argument" + raise BrowseEverything::InitializationError, 'SkyDrive driver requires a :client_secret argument' end end - def contents(path='') + def contents(path = '') result = [] token_obj = rehydrate_token client = Skydrive::Client.new(token_obj) - if (path == '') + if path == '' folder = client.my_skydrive - #todo do some loop to get down to my path + # TODO: do some loop to get down to my path else - folder = client.get("/#{path.gsub("-",".")}/") + folder = client.get("/#{path.tr('-', '.')}/") result += [parent_folder_details(folder)] if folder.parent_id end files = folder.files files.items.each do |item| @@ -45,87 +44,82 @@ result end def link_for(path) response = Skydrive::Client.new(rehydrate_token).get("/#{real_id(path)}/") - [response.download_link, {expires: 1.hour.from_now, file_name: File.basename(path), file_size: response.size.to_i}] + [response.download_link, { expires: 1.hour.from_now, file_name: File.basename(path), file_size: response.size.to_i }] end - - def file_details(file) - BrowseEverything::FileEntry.new( - safe_id(file.id), - "#{key}:#{safe_id(file.id)}", - file.name, - file.size, - file.updated_time, - false - ) + BrowseEverything::FileEntry.new( + safe_id(file.id), + "#{key}:#{safe_id(file.id)}", + file.name, + file.size, + file.updated_time, + false + ) end - def parent_folder_details(file) - BrowseEverything::FileEntry.new( - safe_id(file.parent_id), - "#{key}:#{safe_id(file.parent_id)}", - "..", - 0, - Time.now, - true - ) + def parent_folder_details(file) + BrowseEverything::FileEntry.new( + safe_id(file.parent_id), + "#{key}:#{safe_id(file.parent_id)}", + '..', + 0, + Time.now, + true + ) end - - - def folder_details(folder) BrowseEverything::FileEntry.new( - safe_id(folder.id), - "#{key}:#{safe_id(folder.id)}", - folder.name, - 0, - folder.updated_time, - true, - 'directory'#todo how are we getting mime type + safe_id(folder.id), + "#{key}:#{safe_id(folder.id)}", + folder.name, + 0, + folder.updated_time, + true, + 'directory' # TODO: how are we getting mime type ) end - def auth_link oauth_client.authorize_url end def authorized? return false unless @token.present? - return !rehydrate_token.expired? + !rehydrate_token.expired? end - def connect(params,data) + def connect(params, _data) Rails.logger.warn "params #{params.inspect}" token = oauth_client.get_access_token(params[:code]) - @token = {token:token.token, expires_at:token.expires_at} + @token = { token: token.token, expires_at: token.expires_at } end private + def oauth_client - Skydrive::Oauth::Client.new(config[:client_id], config[:client_secret], callback.to_s,"wl.skydrive") - #todo error checking here + Skydrive::Oauth::Client.new(config[:client_id], config[:client_secret], callback.to_s, 'wl.skydrive') + # TODO: error checking here end def rehydrate_token return @rehydrate_token if @rehydrate_token token_str = @token[:token] token_expires = @token[:expires_at] Rails.logger.warn "\n\n Rehydrating: #{@token} #{token_str} #{token_expires}" - @rehydrate_token = oauth_client.get_access_token_from_hash(token_str,{expires_at:token_expires}) + @rehydrate_token = oauth_client.get_access_token_from_hash(token_str, expires_at: token_expires) end def safe_id(id) - id.gsub(".","-") + id.tr('.', '-') end def real_id(id) - id.gsub("-",".") + id.tr('-', '.') end end end end