Class: Io::Flow::V0::Models::ImportForm

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Import forms create imports. The import type defines both the type of the import (e.g. the CSV File format) and the URL at which the source data are available. If you do not have a URL readily available, you can first upload a file via the Flow API - see the resource named ‘Upload’

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ ImportForm

Returns a new instance of ImportForm.



35464
35465
35466
35467
35468
35469
35470
35471
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35464

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:type, :source_url], 'ImportForm')
  @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ImportType) ? x : ::Io::Flow::V0::Models::ImportType.apply(x))
  @source_url = HttpClient::Preconditions.assert_class('source_url', opts.delete(:source_url), String)
  @filename = (x = opts.delete(:filename); x.nil? ? nil : HttpClient::Preconditions.assert_class('filename', x, String))
  @emails = (x = opts.delete(:emails); x.nil? ? nil : HttpClient::Preconditions.assert_class('emails', x, Array).map { |v| HttpClient::Preconditions.assert_class('emails', v, String) })
end

Instance Attribute Details

#emailsObject (readonly)

Returns the value of attribute emails.



35462
35463
35464
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35462

def emails
  @emails
end

#filenameObject (readonly)

Returns the value of attribute filename.



35462
35463
35464
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35462

def filename
  @filename
end

#source_urlObject (readonly)

Returns the value of attribute source_url.



35462
35463
35464
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35462

def source_url
  @source_url
end

#typeObject (readonly)

Returns the value of attribute type.



35462
35463
35464
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35462

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



35477
35478
35479
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35477

def copy(incoming={})
  ImportForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#to_hashObject



35481
35482
35483
35484
35485
35486
35487
35488
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35481

def to_hash
  {
    :type => type.value,
    :source_url => source_url,
    :filename => filename,
    :emails => emails.nil? ? nil : emails
  }
end

#to_jsonObject



35473
35474
35475
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 35473

def to_json
  JSON.dump(to_hash)
end