class FIR::AppUploader
Attributes
app_info[RW]
options[RW]
uploading_info[RW]
user_info[RW]
Public Class Methods
new(app_info, user_info, uploading_info, options)
click to toggle source
# File lib/fir/util/app_uploader.rb, line 9 def initialize(app_info, user_info, uploading_info, options) @app_info = app_info @user_info = user_info @uploading_info = uploading_info @options = options end
Public Instance Methods
upload()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 16 def upload upload_icon binary_callback_info = upload_binary raise binary_callback_info if binary_callback_info.is_a? StandardError # 将 binary 的callback信息返回 binary_callback_info end
Protected Instance Methods
app_id()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 78 def app_id uploading_info[:id] end
binary_cert()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 60 def binary_cert uploading_info[:cert][:binary] end
callback_binary_information()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 95 def callback_binary_information { build: app_info[:build], fname: File.basename(file_path), key: binary_cert[:key], name: options[:specify_app_display_name] || app_info[:display_name] || app_info[:name], origin: 'fir-cli', parent_id: app_id, release_tag: 'develop', fsize: File.size(file_path), release_type: app_info[:release_type], distribution_name: app_info[:distribution_name], token: binary_cert[:token], version: app_info[:version], changelog: read_changelog, user_id: user_info[:id] }.reject { |x| x.nil? || x == '' } end
callback_icon_information()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 82 def callback_icon_information return {} if icon_file_path.nil? { key: icon_cert[:key], token: icon_cert[:token], origin: 'fir-cli', parent_id: app_id, fsize: File.size(icon_file_path), fname: 'blob' } end
callback_to_api(callback_url, callback_binary_information)
click to toggle source
# File lib/fir/util/app_uploader.rb, line 27 def callback_to_api(callback_url, callback_binary_information) logger.debug 'begin to callback api' return if callback_binary_information.blank? answer = post callback_url, callback_binary_information, timeout: 20 logger.debug 'callback api finished' answer end
file_path()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 64 def file_path app_info[:file_path] end
icon_cert()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 56 def icon_cert uploading_info[:cert][:icon] end
icon_file_path()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 36 def icon_file_path if options[:specify_icon_file].blank? app_info[:icons].max_by { |f| File.size(f) } else File.absolute_path(options[:specify_icon_file]) end end
logger()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 114 def logger FIR.logger end
read_changelog()
click to toggle source
# File lib/fir/util/app_uploader.rb, line 49 def read_changelog changelog = options[:changelog].to_s.to_utf8 return if changelog.blank? File.exist?(changelog) ? File.read(changelog) : changelog end
skip_update_icon?()
click to toggle source
是否跳过 icon 上传
# File lib/fir/util/app_uploader.rb, line 45 def skip_update_icon? options[:skip_update_icon].to_s == 'true' end
try_to_action(action, &block)
click to toggle source
# File lib/fir/util/app_uploader.rb, line 68 def try_to_action(action, &block) logger.debug "begin to #{action}" answer = block.call logger.debug "#{action} finished" answer rescue StandardError => e logger.error "#{action} error ! #{e.message}" raise e end