flowcommerce 0.0.66 → 0.0.68

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d160ee2c6a021a69a3d23aaa633a4d0debec30d
4
- data.tar.gz: 6e8e6e9c094e6519eddbe13e5cf1fcca2ffa3036
3
+ metadata.gz: 42ccb98c59c58414e13d86bb69900c224d9df4e2
4
+ data.tar.gz: ed339f6ac6ab00ff0184435d9686909330eaefd3
5
5
  SHA512:
6
- metadata.gz: a75501ed693d75d7bd9708216cdb7c6e514b1d16d6f778709b1890a8ad14a94b6a721b6ca3c43fe7a1f1842a3bdcdebebb9db5e0a6199a1baef275c60b6d768b
7
- data.tar.gz: c7f9c2952b8480a25b4553ec2f270291e61a7cb0a32358be3808dfa48d8218fb25de7ebe117e885ff34fc46c527998b41281ff25d29970ee68cbfbd1123281d8
6
+ metadata.gz: f2e935a88c413119127bb4489400474cc9917b458661570c9f1f0a3887226ad6cb5ccddbe34905bf61a636cb9fb54170937c4f0e151e1e0fe835e8eecbef1c67
7
+ data.tar.gz: cd9865c1858837f9fb2444ddc93435e5fa3c53728376c0c2d103fd8005cc18bf5ecc3e2e8e14c5ac07c2c4b28f17df02538ca5d8d88222784c7863734410e7af
@@ -1,6 +1,6 @@
1
1
  # Generated by apidoc - http://www.apidoc.me
2
- # Service version: 0.1.66
3
- # apidoc:0.11.37 http://www.apidoc.me/flow/api/0.1.67/ruby_client
2
+ # Service version: 0.1.72
3
+ # apidoc:0.11.37 http://www.apidoc.me/flow/api/0.1.71/ruby_client
4
4
 
5
5
  require 'cgi'
6
6
  require 'net/http'
@@ -25,8 +25,8 @@ module Io
25
25
 
26
26
  BASE_URL = 'https://api.flow.io' unless defined?(Constants::BASE_URL)
27
27
  NAMESPACE = 'io.flow.v0' unless defined?(Constants::NAMESPACE)
28
- USER_AGENT = 'apidoc:0.11.37 http://www.apidoc.me/flow/api/0.1.67/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.1.66' unless defined?(Constants::VERSION)
28
+ USER_AGENT = 'apidoc:0.11.37 http://www.apidoc.me/flow/api/0.1.71/ruby_client' unless defined?(Constants::USER_AGENT)
29
+ VERSION = '0.1.72' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -85,6 +85,10 @@ module Io
85
85
  @order_estimates ||= ::Io::Flow::V0::Clients::OrderEstimates.new(self)
86
86
  end
87
87
 
88
+ def queries
89
+ @queries ||= ::Io::Flow::V0::Clients::Queries.new(self)
90
+ end
91
+
88
92
  def subcatalogs
89
93
  @subcatalogs ||= ::Io::Flow::V0::Clients::Subcatalogs.new(self)
90
94
  end
@@ -823,6 +827,21 @@ module Io
823
827
 
824
828
  end
825
829
 
830
+ class Queries
831
+
832
+ def initialize(client)
833
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
834
+ end
835
+
836
+ def post_validations(organization, values)
837
+ HttpClient::Preconditions.assert_class('organization', organization, String)
838
+ HttpClient::Preconditions.assert_collection_of_class('strings', strings, ::Io::Flow::V0::Models::String)
839
+ r = @client.request("/#{CGI.escape(organization)}/query/validations").with_json(strings.to_json).post
840
+ ::Io::Flow::V0::Models::QueryValidation.new(r)
841
+ end
842
+
843
+ end
844
+
826
845
  class Subcatalogs
827
846
 
828
847
  def initialize(client)
@@ -2573,14 +2592,14 @@ module Io
2573
2592
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2574
2593
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2575
2594
  }.delete_if { |k, v| v.nil? }
2576
- r = @client.request("/trackings/#{CGI.escape(organization)}/trackings").with_query(query).get
2595
+ r = @client.request("/#{CGI.escape(organization)}/trackings").with_query(query).get
2577
2596
  r.map { |x| ::Io::Flow::V0::Models::Tracking.new(x) }
2578
2597
  end
2579
2598
 
2580
2599
  def post_trackings_by_organization(organization, tracking_form)
2581
2600
  HttpClient::Preconditions.assert_class('organization', organization, String)
2582
2601
  HttpClient::Preconditions.assert_class('tracking_form', tracking_form, ::Io::Flow::V0::Models::TrackingForm)
2583
- r = @client.request("/trackings/#{CGI.escape(organization)}/trackings").with_json(tracking_form.to_json).post
2602
+ r = @client.request("/#{CGI.escape(organization)}/trackings").with_json(tracking_form.to_json).post
2584
2603
  ::Io::Flow::V0::Models::Tracking.new(r)
2585
2604
  end
2586
2605
 
@@ -2594,7 +2613,7 @@ module Io
2594
2613
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2595
2614
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
2596
2615
  }.delete_if { |k, v| v.nil? }
2597
- r = @client.request("/trackings/#{CGI.escape(organization)}/trackings/versions").with_query(query).get
2616
+ r = @client.request("/#{CGI.escape(organization)}/trackings/versions").with_query(query).get
2598
2617
  r.map { |x| ::Io::Flow::V0::Models::TrackingVersion.new(x) }
2599
2618
  end
2600
2619
 
@@ -2602,7 +2621,7 @@ module Io
2602
2621
  # under it, and event(s) under those label(s)
2603
2622
  def get_trackings_by_id(id)
2604
2623
  HttpClient::Preconditions.assert_class('id', id, String)
2605
- r = @client.request("/trackings/trackings/#{CGI.escape(id)}").get
2624
+ r = @client.request("/trackings/#{CGI.escape(id)}").get
2606
2625
  ::Io::Flow::V0::Models::Tracking.new(r)
2607
2626
  end
2608
2627
 
@@ -4250,6 +4269,58 @@ module Io
4250
4269
 
4251
4270
  end
4252
4271
 
4272
+ class OrderError
4273
+
4274
+ module Types
4275
+ ORDER_ITEM_NOT_AVAILABLE_ERROR = 'order_item_not_available_error' unless defined?(ORDER_ITEM_NOT_AVAILABLE_ERROR)
4276
+ VALIDATION_ERROR = 'validation_error' unless defined?(VALIDATION_ERROR)
4277
+ end
4278
+
4279
+ def initialize(incoming={})
4280
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4281
+ HttpClient::Preconditions.require_keys(opts, [:name], 'OrderError')
4282
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
4283
+ end
4284
+
4285
+ def to_hash
4286
+ subtype_to_hash.merge(:code => @name)
4287
+ end
4288
+
4289
+ def OrderError.from_json(hash)
4290
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
4291
+ case HttpClient::Helper.symbolize_keys(hash)[:code]
4292
+ when Types::ORDER_ITEM_NOT_AVAILABLE_ERROR; OrderItemNotAvailableError.new(hash)
4293
+ when Types::VALIDATION_ERROR; ValidationError.new(hash)
4294
+ else OrderErrorUndefinedType.new(:name => union_type_name)
4295
+ end
4296
+ end
4297
+
4298
+ end
4299
+
4300
+ class OrderErrorUndefinedType < OrderError
4301
+
4302
+ attr_reader :name
4303
+
4304
+ def initialize(incoming={})
4305
+ super(:name => 'undefined_type')
4306
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4307
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
4308
+ end
4309
+
4310
+ def subtype_to_hash
4311
+ raise 'Unable to serialize undefined type to json'
4312
+ end
4313
+
4314
+ def copy(incoming={})
4315
+ raise 'Operation not supported for undefined type'
4316
+ end
4317
+
4318
+ def to_hash
4319
+ raise 'Operation not supported for undefined type'
4320
+ end
4321
+
4322
+ end
4323
+
4253
4324
  # Possible outcome types from a tier rule
4254
4325
  class TierRuleOutcome
4255
4326
 
@@ -7566,21 +7637,22 @@ module Io
7566
7637
 
7567
7638
  class CardUpserted < Event
7568
7639
 
7569
- attr_reader :event_id, :timestamp, :organization, :token, :type, :expiration, :last4, :name, :address
7640
+ attr_reader :event_id, :timestamp, :organization, :token, :type, :expiration, :iin, :last4, :name, :address
7570
7641
 
7571
7642
  def initialize(incoming={})
7572
7643
  super(:name => Event::Types::CARD_UPSERTED)
7573
7644
  opts = HttpClient::Helper.symbolize_keys(incoming)
7574
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :token, :type, :expiration, :last4, :name, :address], 'CardUpserted')
7645
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :token, :type, :expiration, :iin, :last4, :name], 'CardUpserted')
7575
7646
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
7576
7647
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
7577
7648
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
7578
7649
  @token = HttpClient::Preconditions.assert_class('token', opts.delete(:token), String)
7579
7650
  @type = HttpClient::Preconditions.assert_class('type', opts.delete(:type), String)
7580
7651
  @expiration = HttpClient::Preconditions.assert_class('expiration', HttpClient::Helper.to_object(opts.delete(:expiration)), Hash)
7652
+ @iin = HttpClient::Preconditions.assert_class('iin', opts.delete(:iin), String)
7581
7653
  @last4 = HttpClient::Preconditions.assert_class('last4', opts.delete(:last4), String)
7582
7654
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
7583
- @address = HttpClient::Preconditions.assert_class('address', HttpClient::Helper.to_object(opts.delete(:address)), Hash)
7655
+ @address = (x = opts.delete(:address); x.nil? ? nil : HttpClient::Preconditions.assert_class('address', HttpClient::Helper.to_object(x), Hash))
7584
7656
  end
7585
7657
 
7586
7658
  def to_json
@@ -7599,6 +7671,7 @@ module Io
7599
7671
  :token => token,
7600
7672
  :type => type,
7601
7673
  :expiration => expiration,
7674
+ :iin => iin,
7602
7675
  :last4 => last4,
7603
7676
  :name => name,
7604
7677
  :address => address
@@ -9170,36 +9243,6 @@ module Io
9170
9243
 
9171
9244
  end
9172
9245
 
9173
- # Represents an error of some sort (e.g. invalid input). Each error will contain
9174
- # a code and a specific message describing the failure.
9175
- class Error
9176
-
9177
- attr_reader :code, :message
9178
-
9179
- def initialize(incoming={})
9180
- opts = HttpClient::Helper.symbolize_keys(incoming)
9181
- HttpClient::Preconditions.require_keys(opts, [:code, :message], 'Error')
9182
- @code = HttpClient::Preconditions.assert_class('code', opts.delete(:code), String)
9183
- @message = HttpClient::Preconditions.assert_class('message', opts.delete(:message), String)
9184
- end
9185
-
9186
- def to_json
9187
- JSON.dump(to_hash)
9188
- end
9189
-
9190
- def copy(incoming={})
9191
- Error.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
9192
- end
9193
-
9194
- def to_hash
9195
- {
9196
- :code => code,
9197
- :message => message
9198
- }
9199
- end
9200
-
9201
- end
9202
-
9203
9246
  # Range of time given a from and to number and the unit. For example: 1-4 hours
9204
9247
  # or 4-7 days
9205
9248
  class EstimatedWindow
@@ -12870,6 +12913,39 @@ module Io
12870
12913
 
12871
12914
  end
12872
12915
 
12916
+ # When creating an order, if a particular item is not available in the country /
12917
+ # destination (either because it was restricted or excluded from that country),
12918
+ # we return this error to highlight the specific item numbers which are not
12919
+ # available.
12920
+ class OrderItemNotAvailableError < OrderError
12921
+
12922
+ attr_reader :messages, :numbers
12923
+
12924
+ def initialize(incoming={})
12925
+ super(:name => OrderError::Types::ORDER_ITEM_NOT_AVAILABLE_ERROR)
12926
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12927
+ HttpClient::Preconditions.require_keys(opts, [:messages, :numbers], 'OrderItemNotAvailableError')
12928
+ @messages = HttpClient::Preconditions.assert_class('messages', opts.delete(:messages), Array).map { |v| HttpClient::Preconditions.assert_class('messages', v, String) }
12929
+ @numbers = HttpClient::Preconditions.assert_class('numbers', opts.delete(:numbers), Array).map { |v| HttpClient::Preconditions.assert_class('numbers', v, String) }
12930
+ end
12931
+
12932
+ def to_json
12933
+ JSON.dump(to_hash)
12934
+ end
12935
+
12936
+ def copy(incoming={})
12937
+ OrderItemNotAvailableError.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12938
+ end
12939
+
12940
+ def subtype_to_hash
12941
+ {
12942
+ :messages => messages,
12943
+ :numbers => numbers
12944
+ }
12945
+ end
12946
+
12947
+ end
12948
+
12873
12949
  # Represents a top-level order price detail, e.g. 'Subtotal' or 'VAT'.
12874
12950
  class OrderPriceDetail
12875
12951
 
@@ -14020,6 +14096,35 @@ module Io
14020
14096
 
14021
14097
  end
14022
14098
 
14099
+ # Indicates valid and invalid queries
14100
+ class QueryValidation
14101
+
14102
+ attr_reader :valid, :invalid
14103
+
14104
+ def initialize(incoming={})
14105
+ opts = HttpClient::Helper.symbolize_keys(incoming)
14106
+ HttpClient::Preconditions.require_keys(opts, [:valid, :invalid], 'QueryValidation')
14107
+ @valid = HttpClient::Preconditions.assert_class('valid', opts.delete(:valid), Array).map { |v| HttpClient::Preconditions.assert_class('valid', v, String) }
14108
+ @invalid = HttpClient::Preconditions.assert_class('invalid', opts.delete(:invalid), Array).map { |v| HttpClient::Preconditions.assert_class('invalid', v, String) }
14109
+ end
14110
+
14111
+ def to_json
14112
+ JSON.dump(to_hash)
14113
+ end
14114
+
14115
+ def copy(incoming={})
14116
+ QueryValidation.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
14117
+ end
14118
+
14119
+ def to_hash
14120
+ {
14121
+ :valid => valid,
14122
+ :invalid => invalid
14123
+ }
14124
+ end
14125
+
14126
+ end
14127
+
14023
14128
  # Represents a collection of deliveries and available options for fulfillment of
14024
14129
  # that delivery
14025
14130
  class Quote
@@ -14814,9 +14919,9 @@ module Io
14814
14919
 
14815
14920
  def initialize(incoming={})
14816
14921
  opts = HttpClient::Helper.symbolize_keys(incoming)
14817
- HttpClient::Preconditions.require_keys(opts, [:id, :attributes, :carrier_tracking_number, :zpl, :destination, :flow_tracking_number, :origin, :service, :window], 'ShippingLabel')
14922
+ HttpClient::Preconditions.require_keys(opts, [:id, :carrier_tracking_number, :zpl, :destination, :flow_tracking_number, :origin, :service, :window], 'ShippingLabel')
14818
14923
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
14819
- @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
14924
+ @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
14820
14925
  @carrier_tracking_number = HttpClient::Preconditions.assert_class('carrier_tracking_number', opts.delete(:carrier_tracking_number), String)
14821
14926
  @zpl = HttpClient::Preconditions.assert_class('zpl', opts.delete(:zpl), String)
14822
14927
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
@@ -14860,17 +14965,17 @@ module Io
14860
14965
 
14861
14966
  class ShippingLabelForm
14862
14967
 
14863
- attr_reader :attributes, :delivered_duty, :service, :destination, :origin, :packages, :order_number
14968
+ attr_reader :attributes, :delivered_duty, :service, :destination, :origin, :package, :order_number
14864
14969
 
14865
14970
  def initialize(incoming={})
14866
14971
  opts = HttpClient::Helper.symbolize_keys(incoming)
14867
- HttpClient::Preconditions.require_keys(opts, [:delivered_duty, :service, :destination, :origin, :packages], 'ShippingLabelForm')
14868
- @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
14972
+ HttpClient::Preconditions.require_keys(opts, [:delivered_duty, :service, :destination, :origin, :package], 'ShippingLabelForm')
14973
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
14869
14974
  @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
14870
14975
  @service = HttpClient::Preconditions.assert_class('service', opts.delete(:service), String)
14871
14976
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
14872
14977
  @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
14873
- @packages = HttpClient::Preconditions.assert_class('packages', opts.delete(:packages), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabelPackage) ? x : ::Io::Flow::V0::Models::ShippingLabelPackage.new(x)) }
14978
+ @package = (x = opts.delete(:package); x.is_a?(::Io::Flow::V0::Models::ShippingLabelPackage) ? x : ::Io::Flow::V0::Models::ShippingLabelPackage.new(x))
14874
14979
  @order_number = (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String))
14875
14980
  end
14876
14981
 
@@ -14884,12 +14989,12 @@ module Io
14884
14989
 
14885
14990
  def to_hash
14886
14991
  {
14887
- :attributes => attributes,
14992
+ :attributes => attributes.nil? ? nil : attributes,
14888
14993
  :delivered_duty => delivered_duty.value,
14889
14994
  :service => service,
14890
14995
  :destination => destination.to_hash,
14891
14996
  :origin => origin.to_hash,
14892
- :packages => packages.map { |o| o.to_hash },
14997
+ :package => package.to_hash,
14893
14998
  :order_number => order_number
14894
14999
  }
14895
15000
  end
@@ -16281,15 +16386,16 @@ module Io
16281
16386
  # tracking number
16282
16387
  class Tracking
16283
16388
 
16284
- attr_reader :id, :labels, :status, :metadata, :order_number
16389
+ attr_reader :id, :labels, :status, :attributes, :window, :order_number
16285
16390
 
16286
16391
  def initialize(incoming={})
16287
16392
  opts = HttpClient::Helper.symbolize_keys(incoming)
16288
- HttpClient::Preconditions.require_keys(opts, [:id, :labels, :status, :metadata], 'Tracking')
16393
+ HttpClient::Preconditions.require_keys(opts, [:id, :labels, :status, :attributes], 'Tracking')
16289
16394
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
16290
16395
  @labels = HttpClient::Preconditions.assert_class('labels', opts.delete(:labels), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TrackingLabel) ? x : ::Io::Flow::V0::Models::TrackingLabel.new(x)) }
16291
16396
  @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::TrackingStatus) ? x : ::Io::Flow::V0::Models::TrackingStatus.apply(x))
16292
- @metadata = HttpClient::Preconditions.assert_class('metadata', HttpClient::Helper.to_object(opts.delete(:metadata)), Hash)
16397
+ @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
16398
+ @window = (x = opts.delete(:window); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DatetimeRange) ? x : ::Io::Flow::V0::Models::DatetimeRange.new(x)))
16293
16399
  @order_number = (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String))
16294
16400
  end
16295
16401
 
@@ -16306,7 +16412,8 @@ module Io
16306
16412
  :id => id,
16307
16413
  :labels => labels.map { |o| o.to_hash },
16308
16414
  :status => status.value,
16309
- :metadata => metadata,
16415
+ :attributes => attributes,
16416
+ :window => window.nil? ? nil : window.to_hash,
16310
16417
  :order_number => order_number
16311
16418
  }
16312
16419
  end
@@ -16449,13 +16556,14 @@ module Io
16449
16556
  # tracking number
16450
16557
  class TrackingForm
16451
16558
 
16452
- attr_reader :status, :order_number, :metadata
16559
+ attr_reader :status, :order_number, :attributes, :window
16453
16560
 
16454
16561
  def initialize(incoming={})
16455
16562
  opts = HttpClient::Helper.symbolize_keys(incoming)
16456
16563
  @status = (x = opts.delete(:status); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TrackingStatus) ? x : ::Io::Flow::V0::Models::TrackingStatus.apply(x)))
16457
16564
  @order_number = (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String))
16458
- @metadata = (x = opts.delete(:metadata); x.nil? ? nil : HttpClient::Preconditions.assert_class('metadata', HttpClient::Helper.to_object(x), Hash))
16565
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
16566
+ @window = (x = opts.delete(:window); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DatetimeRange) ? x : ::Io::Flow::V0::Models::DatetimeRange.new(x)))
16459
16567
  end
16460
16568
 
16461
16569
  def to_json
@@ -16470,7 +16578,8 @@ module Io
16470
16578
  {
16471
16579
  :status => status.nil? ? nil : status.value,
16472
16580
  :order_number => order_number,
16473
- :metadata => metadata
16581
+ :attributes => attributes.nil? ? nil : attributes,
16582
+ :window => window.nil? ? nil : window.to_hash
16474
16583
  }
16475
16584
  end
16476
16585
 
@@ -16907,6 +17016,35 @@ module Io
16907
17016
 
16908
17017
  end
16909
17018
 
17019
+ # A validation error of some type has occured. See messages for a detailed
17020
+ # description of the specific error or errors
17021
+ class ValidationError < OrderError
17022
+
17023
+ attr_reader :messages
17024
+
17025
+ def initialize(incoming={})
17026
+ super(:name => OrderError::Types::VALIDATION_ERROR)
17027
+ opts = HttpClient::Helper.symbolize_keys(incoming)
17028
+ HttpClient::Preconditions.require_keys(opts, [:messages], 'ValidationError')
17029
+ @messages = HttpClient::Preconditions.assert_class('messages', opts.delete(:messages), Array).map { |v| HttpClient::Preconditions.assert_class('messages', v, String) }
17030
+ end
17031
+
17032
+ def to_json
17033
+ JSON.dump(to_hash)
17034
+ end
17035
+
17036
+ def copy(incoming={})
17037
+ ValidationError.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
17038
+ end
17039
+
17040
+ def subtype_to_hash
17041
+ {
17042
+ :messages => messages
17043
+ }
17044
+ end
17045
+
17046
+ end
17047
+
16910
17048
  # Defines the payload of a request to validate a token, with primary goal of
16911
17049
  # preventing the token from being included in an HTTP GET.
16912
17050
  class ValidationForm
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flowcommerce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.66
4
+ version: 0.0.68
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flow Commerce, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-26 00:00:00.000000000 Z
11
+ date: 2016-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json