Sha256: b269d5237558ef29dacbb78394f848eda6685bd10947b88a904b5c95fef18a7c

Contents?: true

Size: 722 Bytes

Versions: 4

Compression:

Stored size: 722 Bytes

Contents

class FutureFile
  attr_reader :name, :io

  def initialize(name:, io:)
    @name = name
    @io = io
  end

  def to_request_params
    {
      name: @name,
      size: @io.size,
    }
  end

  def add_to_board(client:, remote_board:)
    client.authorize_if_no_bearer_token!
    response = client.faraday.post(
      "/v2/boards/#{remote_board.id}/files",
      # this needs to be a array with hashes => [{name, filesize}]
      JSON.pretty_generate([to_request_params]),
      client.auth_headers.merge('Content-Type' => 'application/json')
    )
    client.ensure_ok_status!(response)
    file_item = JSON.parse(response.body, symbolize_names: true).first
    remote_board.items << RemoteFile.new(file_item)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
wetransfer-0.9.0.beta3 lib/we_transfer_client/future_file.rb
wetransfer-0.9.0.beta2 lib/we_transfer_client/future_file.rb
wetransfer-0.9.0.beta1 lib/we_transfer_client/future_file.rb
wetransfer-0.9.0.beta lib/we_transfer_client/future_file.rb