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.



12522
12523
12524
12525
12526
12527
12528
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12522

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

#emails ⇒ Object (readonly)

Returns the value of attribute emails.



12520
12521
12522
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12520

def emails
  @emails
end

#organization_q ⇒ Object (readonly)

Returns the value of attribute organization_q.



12520
12521
12522
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12520

def organization_q
  @organization_q
end

#type ⇒ Object (readonly)

Returns the value of attribute type.



12520
12521
12522
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12520

def type
  @type
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



12534
12535
12536
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12534

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

#to_hash ⇒ Object



12538
12539
12540
12541
12542
12543
12544
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12538

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

#to_json ⇒ Object



12530
12531
12532
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 12530

def to_json
  JSON.dump(to_hash)
end