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



13509
13510
13511
13512
13513
13514
13515
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13509

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.



13507
13508
13509
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13507

def emails
  @emails
end

#organization_qObject (readonly)

Returns the value of attribute organization_q.



13507
13508
13509
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13507

def organization_q
  @organization_q
end

#typeObject (readonly)

Returns the value of attribute type.



13507
13508
13509
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13507

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



13521
13522
13523
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13521

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

#to_hashObject



13525
13526
13527
13528
13529
13530
13531
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13525

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

#to_jsonObject



13517
13518
13519
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 13517

def to_json
  JSON.dump(to_hash)
end