class Fastlane::Actions::CreateGoogleDriveFolderAction
Public Class Methods
available_options()
click to toggle source
# File lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb, line 48 def self.available_options [ FastlaneCore::ConfigItem.new(key: :drive_keyfile, env_name: 'GDRIVE_KEY_FILE', description: 'Json config file', type: String, default_value: 'drive_key.json', verify_block: proc do |value| UI.user_error!("Couldn't find config keyfile at path '#{value}'") unless File.exist?(value) end), FastlaneCore::ConfigItem.new(key: :service_account, env_name: 'GDRIVE_SERVICE_ACCOUNT', description: 'Credential is service account', optional: true, is_string: false, default_value: false), FastlaneCore::ConfigItem.new(key: :folder_id, env_name: "GDRIVE_UPLOAD_FOLDER_ID", description: "Upload target folder id", optional: false, type: String, verify_block: proc do |value| UI.user_error!("No target folder_id given, pass using `folder_id: 'some_id'`") unless value and !value.empty? end), FastlaneCore::ConfigItem.new(key: :folder_title, env_name: "GDRIVE_FOLDER_NAME", description: "Folder title of new one", optional: false, type: String, verify_block: proc do |value| UI.user_error!("No folder title given") if value.nil? || value.empty? end) ] end
description()
click to toggle source
# File lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb, line 37 def self.description 'Create new folder on Google Drive' end
details()
click to toggle source
# File lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb, line 41 def self.details [ 'Create new folder on Google Drive', 'See https://github.com/gimite/google-drive-ruby/blob/master/doc/authorization.md to get a keyfile' ].join("\n") end
is_supported?(platform)
click to toggle source
# File lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb, line 98 def self.is_supported?(platform) true end
output()
click to toggle source
# File lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb, line 83 def self.output [ ['GDRIVE_CREATED_FOLDER_ID', 'ID of the created folder'], ['GDRIVE_CREATED_FOLDER_URL', 'Link to the created folder'] ] end
return_value()
click to toggle source
# File lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb, line 90 def self.return_value '`GoogleDrive::Collection` object which indicates the created folder.' end
run(params)
click to toggle source
# File lib/fastlane/plugin/google_drive/actions/create_google_drive_folder_action.rb, line 11 def self.run(params) UI.message("Using config file: #{params[:drive_keyfile]}") session = Helper::GoogleDriveHelper.setup( keyfile: params[:drive_keyfile], service_account: params[:service_account] ) folder = Helper::GoogleDriveHelper.file_by_id( session: session, fid: params[:folder_id] ) title = params[:folder_title] UI.message('------------------') UI.important("Creating #{title}") new_folder = Helper::GoogleDriveHelper.create_subcollection(root_folder: folder, title: title) UI.success('Success') UI.message('------------------') folder_id = new_folder.resource_id.split(':').last Actions.lane_context[SharedValues::GDRIVE_CREATED_FOLDER_ID] = folder_id Actions.lane_context[SharedValues::GDRIVE_CREATED_FOLDER_URL] = new_folder.human_url new_folder end