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.



18473
18474
18475
18476
18477
18478
18479
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18473

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.



18471
18472
18473
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18471

def emails
  @emails
end

#organization_qObject (readonly)

Returns the value of attribute organization_q.



18471
18472
18473
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18471

def organization_q
  @organization_q
end

#typeObject (readonly)

Returns the value of attribute type.



18471
18472
18473
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18471

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



18485
18486
18487
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18485

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

#to_hashObject



18489
18490
18491
18492
18493
18494
18495
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18489

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

#to_jsonObject



18481
18482
18483
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 18481

def to_json
  JSON.dump(to_hash)
end