class FIR::QiniuUploader

Public Instance Methods

upload_binary() click to toggle source
# File lib/fir/util/qiniu_uploader.rb, line 31
def upload_binary
  try_to_action 'upload binary ...' do
    binary_url = uploading_info[:cert][:binary][:upload_url]
    binary_info = uploading_binary_info

    _uploaded_info = post(binary_url, binary_info.merge(manual_callback: true),
                          params_to_json: false,
                          header: nil)

    callback_to_api(callback_url, callback_binary_information)
  end
rescue StandardError => e
  logger.error "binary upload to qiniu fail, #{e.message}"
  exit 1
end
upload_icon() click to toggle source
# File lib/fir/util/qiniu_uploader.rb, line 8
def upload_icon
  if skip_update_icon?
    logger.info 'skip update icon...'
    return
  end
  try_to_action('upload icon') do
    # 拿到 icon 的授权
    icon_url = uploading_info[:cert][:icon][:upload_url]
    icon_info = uploading_icon_info

    logger.debug "icon_url = #{icon_url}, icon_info = #{icon_info}"

    _uploaded_info = post(icon_url, icon_info.merge(manual_callback: true),
                          params_to_json: false,
                          header: nil)

    callback_to_api(callback_url, callback_icon_information)
  end
rescue StandardError => e
  # ignore icon error
  logger.info "ignore icon upload error #{e.message}"
end

Protected Instance Methods

callback_url() click to toggle source
# File lib/fir/util/qiniu_uploader.rb, line 49
def callback_url
  "#{fir_api[:base_url]}/auth/qiniu/callback"
end
uploading_binary_info() click to toggle source

七牛需要的 binary params

# File lib/fir/util/qiniu_uploader.rb, line 64
def uploading_binary_info
  binary_cert = uploading_info[:cert][:binary]
  {
    key: binary_cert[:key],
    token: binary_cert[:token],
    file: File.new(file_path, 'rb')
  }
end
uploading_icon_info() click to toggle source

七牛需要的 icon params

# File lib/fir/util/qiniu_uploader.rb, line 54
def uploading_icon_info
  icon_cert = uploading_info[:cert][:icon]
  {
    key: icon_cert[:key],
    token: icon_cert[:token],
    file: File.new(icon_file_path, 'rb')
  }
end