class BugsnagSourcemapUploader::UploadTask

The unit of work to send a sourcemap with its associated minified javascript file to Bugsnag.

Constants

UPLOAD_URL

Public Class Methods

new(asset_metadata:, bugsnag_api_key:) click to toggle source
# File lib/bugsnag_sourcemap_uploader/upload_task.rb, line 11
def initialize(asset_metadata:, bugsnag_api_key:)
  @asset_metadata = asset_metadata
  @bugsnag_api_key = bugsnag_api_key
end

Public Instance Methods

run(http_options: {}) click to toggle source
# File lib/bugsnag_sourcemap_uploader/upload_task.rb, line 16
def run(http_options: {})
  body_payload = {
    'apiKey' => @bugsnag_api_key,
    'minifiedUrl' => @asset_metadata.cdn_url,
    'sourceMap' => source_map_contents,
    'minifiedFile' => script_contents,
    'overwrite' => true
  }

  payload = http_options.merge(body: body_payload)

  Result.new(
    @asset_metadata,
    HTTParty.post(UPLOAD_URL, payload)
  )
rescue StandardError => e
  ExecutionErrorResult.new(@asset_metadata, e)
end

Private Instance Methods

script_contents() click to toggle source
# File lib/bugsnag_sourcemap_uploader/upload_task.rb, line 41
def script_contents
  File.open(@asset_metadata.script_path)
end
source_map_contents() click to toggle source
# File lib/bugsnag_sourcemap_uploader/upload_task.rb, line 37
def source_map_contents
  File.open(@asset_metadata.source_map_path)
end