Class: Io::Flow::V0::Models::ExportForm

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

Overview

Export forms are used to create exports. The export type defines both the type of the export (e.g. the CSV File format) and the available parameters for each export (e.g. the filters to apply to select the desired data).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ ExportForm

Returns a new instance of ExportForm.



21815
21816
21817
21818
21819
21820
21821
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21815

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

Instance Attribute Details

#emailsObject (readonly)

Returns the value of attribute emails.



21813
21814
21815
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21813

def emails
  @emails
end

#organization_qObject (readonly)

Returns the value of attribute organization_q.



21813
21814
21815
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21813

def organization_q
  @organization_q
end

#typeObject (readonly)

Returns the value of attribute type.



21813
21814
21815
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21813

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



21827
21828
21829
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21827

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

#to_hashObject



21831
21832
21833
21834
21835
21836
21837
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21831

def to_hash
  {
    :type => type.to_hash,
    :emails => emails.nil? ? nil : emails,
    :organization_q => organization_q
  }
end

#to_jsonObject



21823
21824
21825
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 21823

def to_json
  JSON.dump(to_hash)
end