flowcommerce 0.2.12 → 0.2.13

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: ab5696b4424f07eb939e67d96eefd198c8bbaa7e
4
- data.tar.gz: 66f52d09a8bbe5b90c1e255bbf4ca0fe6fb5dcc0
3
+ metadata.gz: 5e209e01320fef03cfe22e4855bc420ae533e67a
4
+ data.tar.gz: 45de4ca93686ff823612e4773dee781e83221ed5
5
5
  SHA512:
6
- metadata.gz: 4f3c67b3e8305505a0003d599030642b25c2c2bf5b2105b953504a29b1c08018c871353c937064eef8e89f54021f8af030eb8b58d3f4adc26452ee161c14d597
7
- data.tar.gz: 2b5f2d487f3f218343b83ce622cf7386544f10fe3dc39040000fc667856ed893c38341380aed9cf52eb887c9a1d545a651818e02ffccac994436a38bf415b3fa
6
+ metadata.gz: 11ef494dd9aa6a1f7e1a431f275bc76e86e167f64721e49ac9f627533ed47463bf29c72c887cb0e7cb8c3fcc4af709222f51cf3f84367016fadef2f7eac34b81
7
+ data.tar.gz: 70cafeea55dc71d6256f6943be0475d0224c124f6cdbd9def42ac2249be4320502578ff384c1211bd64388c77ce882d301250583d0127276a79609eff349062a
@@ -1,6 +1,6 @@
1
1
  # Generated by apidoc - http://www.apidoc.me
2
2
  # Service version: 0.3.17
3
- # apidoc:0.11.77 http://www.apidoc.me/flow/api/0.3.17/ruby_client
3
+ # apidoc:0.11.78 http://www.apidoc.me/flow/api/0.3.22/ruby_client
4
4
 
5
5
  require 'cgi'
6
6
  require 'net/http'
@@ -25,7 +25,7 @@ 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.77 http://www.apidoc.me/flow/api/0.3.17/ruby_client' unless defined?(Constants::USER_AGENT)
28
+ USER_AGENT = 'apidoc:0.11.78 http://www.apidoc.me/flow/api/0.3.22/ruby_client' unless defined?(Constants::USER_AGENT)
29
29
  VERSION = '0.3.17' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
@@ -308,6 +308,10 @@ module Io
308
308
  @exports ||= ::Io::Flow::V0::Clients::Exports.new(self)
309
309
  end
310
310
 
311
+ def feeds
312
+ @feeds ||= ::Io::Flow::V0::Clients::Feeds.new(self)
313
+ end
314
+
311
315
  def healthchecks
312
316
  @healthchecks ||= ::Io::Flow::V0::Clients::Healthchecks.new(self)
313
317
  end
@@ -1096,6 +1100,7 @@ module Io
1096
1100
  HttpClient::Preconditions.assert_class('organization', organization, String)
1097
1101
  opts = HttpClient::Helper.symbolize_keys(incoming)
1098
1102
  query = {
1103
+ :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1099
1104
  :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String))
1100
1105
  }.delete_if { |k, v| v.nil? }
1101
1106
  r = @client.request("/#{CGI.escape(organization)}/countries").with_query(query).get
@@ -3667,6 +3672,49 @@ module Io
3667
3672
 
3668
3673
  end
3669
3674
 
3675
+ class Feeds
3676
+
3677
+ def initialize(client)
3678
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3679
+ end
3680
+
3681
+ def get(organization, incoming={})
3682
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3683
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3684
+ query = {
3685
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3686
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3687
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3688
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
3689
+ }.delete_if { |k, v| v.nil? }
3690
+ r = @client.request("/#{CGI.escape(organization)}/feeds").with_query(query).get
3691
+ r.map { |x| ::Io::Flow::V0::Models::Feed.from_json(x) }
3692
+ end
3693
+
3694
+ def delete_by_id(organization, id)
3695
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3696
+ HttpClient::Preconditions.assert_class('id', id, String)
3697
+ r = @client.request("/#{CGI.escape(organization)}/feeds/#{CGI.escape(id)}").delete
3698
+ nil
3699
+ end
3700
+
3701
+ def post_catalog(organization, catalog_feed_form_post)
3702
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3703
+ HttpClient::Preconditions.assert_class('catalog_feed_form_post', catalog_feed_form_post, ::Io::Flow::V0::Models::CatalogFeedFormPost)
3704
+ r = @client.request("/#{CGI.escape(organization)}/feeds/catalog").with_json(catalog_feed_form_post.to_json).post
3705
+ ::Io::Flow::V0::Models::CatalogFeed.new(r)
3706
+ end
3707
+
3708
+ def put_catalog_by_id(organization, id, catalog_feed_form_put)
3709
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3710
+ HttpClient::Preconditions.assert_class('id', id, String)
3711
+ HttpClient::Preconditions.assert_class('catalog_feed_form_put', catalog_feed_form_put, ::Io::Flow::V0::Models::CatalogFeedFormPut)
3712
+ r = @client.request("/#{CGI.escape(organization)}/feeds/catalog/#{CGI.escape(id)}").with_json(catalog_feed_form_put.to_json).put
3713
+ ::Io::Flow::V0::Models::CatalogFeed.new(r)
3714
+ end
3715
+
3716
+ end
3717
+
3670
3718
  class Healthchecks
3671
3719
 
3672
3720
  def initialize(client)
@@ -4089,6 +4137,13 @@ module Io
4089
4137
  ::Io::Flow::V0::Models::OrganizationSession.new(r)
4090
4138
  end
4091
4139
 
4140
+ def post_shopify_by_shop(shop, session_form)
4141
+ HttpClient::Preconditions.assert_class('shop', shop, String)
4142
+ HttpClient::Preconditions.assert_class('session_form', session_form, ::Io::Flow::V0::Models::SessionForm)
4143
+ r = @client.request("/sessions/shopify/#{CGI.escape(shop)}").with_json(session_form.to_json).post
4144
+ ::Io::Flow::V0::Models::ShopifySession.new(r)
4145
+ end
4146
+
4092
4147
  end
4093
4148
 
4094
4149
  class SessionAuthorizations
@@ -5490,6 +5545,68 @@ module Io
5490
5545
 
5491
5546
  end
5492
5547
 
5548
+ # Describes types of feeds that may be produced by Flow.
5549
+ class Feed
5550
+
5551
+ module Types
5552
+ # A localized product catalog.
5553
+ CATALOG_FEED = 'catalog_feed' unless defined?(CATALOG_FEED)
5554
+ end
5555
+
5556
+ attr_reader :discriminator
5557
+
5558
+ def initialize(incoming={})
5559
+ opts = HttpClient::Helper.symbolize_keys(incoming)
5560
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'Feed')
5561
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
5562
+ end
5563
+
5564
+ def subtype_to_hash
5565
+ raise 'Cannot serialize an instance of feed directly - must use one of the specific types: catalog_feed'
5566
+ end
5567
+
5568
+ def to_hash
5569
+ subtype_to_hash.merge(:discriminator => @discriminator)
5570
+ end
5571
+
5572
+ def Feed.from_json(hash)
5573
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
5574
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
5575
+ if discriminator.empty?
5576
+ raise "Union type[feed] requires a field named 'discriminator'"
5577
+ end
5578
+ case discriminator
5579
+ when Types::CATALOG_FEED; CatalogFeed.new(hash)
5580
+ else FeedUndefinedType.new(:discriminator => discriminator)
5581
+ end
5582
+ end
5583
+
5584
+ end
5585
+
5586
+ class FeedUndefinedType < Feed
5587
+
5588
+ attr_reader :name
5589
+
5590
+ def initialize(incoming={})
5591
+ super(:discriminator => 'undefined_type')
5592
+ opts = HttpClient::Helper.symbolize_keys(incoming)
5593
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
5594
+ end
5595
+
5596
+ def subtype_to_hash
5597
+ raise 'Unable to serialize undefined type to json'
5598
+ end
5599
+
5600
+ def copy(incoming={})
5601
+ raise 'Operation not supported for undefined type'
5602
+ end
5603
+
5604
+ def to_hash
5605
+ raise 'Operation not supported for undefined type'
5606
+ end
5607
+
5608
+ end
5609
+
5493
5610
  # Types of rules used to apply on inventory to calculate available quantity
5494
5611
  class InventoryStrategy
5495
5612
 
@@ -7685,6 +7802,55 @@ module Io
7685
7802
 
7686
7803
  end
7687
7804
 
7805
+ class FlowFieldName
7806
+
7807
+ attr_reader :value
7808
+
7809
+ def initialize(value)
7810
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
7811
+ end
7812
+
7813
+ # Returns the instance of FlowFieldName for this value, creating a new instance for an unknown value
7814
+ def FlowFieldName.apply(value)
7815
+ if value.instance_of?(FlowFieldName)
7816
+ value
7817
+ else
7818
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
7819
+ value.nil? ? nil : (from_string(value) || FlowFieldName.new(value))
7820
+ end
7821
+ end
7822
+
7823
+ # Returns the instance of FlowFieldName for this value, or nil if not found
7824
+ def FlowFieldName.from_string(value)
7825
+ HttpClient::Preconditions.assert_class('value', value, String)
7826
+ FlowFieldName.ALL.find { |v| v.value == value }
7827
+ end
7828
+
7829
+ def FlowFieldName.ALL
7830
+ @@all ||= [FlowFieldName.item_number, FlowFieldName.sku_attribute, FlowFieldName.product_id_attribute]
7831
+ end
7832
+
7833
+ # The Flow catalog item number
7834
+ def FlowFieldName.item_number
7835
+ @@_item_number ||= FlowFieldName.new('item-number')
7836
+ end
7837
+
7838
+ # A Flow catalog attribute named 'sku'
7839
+ def FlowFieldName.sku_attribute
7840
+ @@_sku_attribute ||= FlowFieldName.new('sku-attribute')
7841
+ end
7842
+
7843
+ # A Flow catalog attribute named 'product_id'
7844
+ def FlowFieldName.product_id_attribute
7845
+ @@_product_id_attribute ||= FlowFieldName.new('product_id-attribute')
7846
+ end
7847
+
7848
+ def to_hash
7849
+ value
7850
+ end
7851
+
7852
+ end
7853
+
7688
7854
  class GenericErrorCode
7689
7855
 
7690
7856
  attr_reader :value
@@ -7863,6 +8029,94 @@ module Io
7863
8029
 
7864
8030
  end
7865
8031
 
8032
+ class IncomingFeedFormat
8033
+
8034
+ attr_reader :value
8035
+
8036
+ def initialize(value)
8037
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
8038
+ end
8039
+
8040
+ # Returns the instance of IncomingFeedFormat for this value, creating a new instance for an unknown value
8041
+ def IncomingFeedFormat.apply(value)
8042
+ if value.instance_of?(IncomingFeedFormat)
8043
+ value
8044
+ else
8045
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
8046
+ value.nil? ? nil : (from_string(value) || IncomingFeedFormat.new(value))
8047
+ end
8048
+ end
8049
+
8050
+ # Returns the instance of IncomingFeedFormat for this value, or nil if not found
8051
+ def IncomingFeedFormat.from_string(value)
8052
+ HttpClient::Preconditions.assert_class('value', value, String)
8053
+ IncomingFeedFormat.ALL.find { |v| v.value == value }
8054
+ end
8055
+
8056
+ def IncomingFeedFormat.ALL
8057
+ @@all ||= [IncomingFeedFormat.google_xml, IncomingFeedFormat.google_sheet]
8058
+ end
8059
+
8060
+ # Google RSS-like product catalog feed
8061
+ def IncomingFeedFormat.google_xml
8062
+ @@_google_xml ||= IncomingFeedFormat.new('google-xml')
8063
+ end
8064
+
8065
+ # Google Sheet-based product catalog feed
8066
+ def IncomingFeedFormat.google_sheet
8067
+ @@_google_sheet ||= IncomingFeedFormat.new('google-sheet')
8068
+ end
8069
+
8070
+ def to_hash
8071
+ value
8072
+ end
8073
+
8074
+ end
8075
+
8076
+ class IncomingFieldName
8077
+
8078
+ attr_reader :value
8079
+
8080
+ def initialize(value)
8081
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
8082
+ end
8083
+
8084
+ # Returns the instance of IncomingFieldName for this value, creating a new instance for an unknown value
8085
+ def IncomingFieldName.apply(value)
8086
+ if value.instance_of?(IncomingFieldName)
8087
+ value
8088
+ else
8089
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
8090
+ value.nil? ? nil : (from_string(value) || IncomingFieldName.new(value))
8091
+ end
8092
+ end
8093
+
8094
+ # Returns the instance of IncomingFieldName for this value, or nil if not found
8095
+ def IncomingFieldName.from_string(value)
8096
+ HttpClient::Preconditions.assert_class('value', value, String)
8097
+ IncomingFieldName.ALL.find { |v| v.value == value }
8098
+ end
8099
+
8100
+ def IncomingFieldName.ALL
8101
+ @@all ||= [IncomingFieldName.id, IncomingFieldName.mpn]
8102
+ end
8103
+
8104
+ # The id field of the incoming feed
8105
+ def IncomingFieldName.id
8106
+ @@_id ||= IncomingFieldName.new('id')
8107
+ end
8108
+
8109
+ # The Manufacturer's Product Number (MPN) field of the incoming feed
8110
+ def IncomingFieldName.mpn
8111
+ @@_mpn ||= IncomingFieldName.new('mpn')
8112
+ end
8113
+
8114
+ def to_hash
8115
+ value
8116
+ end
8117
+
8118
+ end
8119
+
7866
8120
  class InvitationErrorCode
7867
8121
 
7868
8122
  attr_reader :value
@@ -8449,6 +8703,60 @@ module Io
8449
8703
 
8450
8704
  end
8451
8705
 
8706
+ class OutgoingFeedFormat
8707
+
8708
+ attr_reader :value
8709
+
8710
+ def initialize(value)
8711
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
8712
+ end
8713
+
8714
+ # Returns the instance of OutgoingFeedFormat for this value, creating a new instance for an unknown value
8715
+ def OutgoingFeedFormat.apply(value)
8716
+ if value.instance_of?(OutgoingFeedFormat)
8717
+ value
8718
+ else
8719
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
8720
+ value.nil? ? nil : (from_string(value) || OutgoingFeedFormat.new(value))
8721
+ end
8722
+ end
8723
+
8724
+ # Returns the instance of OutgoingFeedFormat for this value, or nil if not found
8725
+ def OutgoingFeedFormat.from_string(value)
8726
+ HttpClient::Preconditions.assert_class('value', value, String)
8727
+ OutgoingFeedFormat.ALL.find { |v| v.value == value }
8728
+ end
8729
+
8730
+ def OutgoingFeedFormat.ALL
8731
+ @@all ||= [OutgoingFeedFormat.facebook_xml, OutgoingFeedFormat.google_tsv, OutgoingFeedFormat.google_xml, OutgoingFeedFormat.criteo_xml]
8732
+ end
8733
+
8734
+ # Facebook RSS XML product catalog feed
8735
+ def OutgoingFeedFormat.facebook_xml
8736
+ @@_facebook_xml ||= OutgoingFeedFormat.new('facebook-xml')
8737
+ end
8738
+
8739
+ # Google Tab Seperated Values product catalog feed
8740
+ def OutgoingFeedFormat.google_tsv
8741
+ @@_google_tsv ||= OutgoingFeedFormat.new('google-tsv')
8742
+ end
8743
+
8744
+ # Google RSS XML product catalog feed
8745
+ def OutgoingFeedFormat.google_xml
8746
+ @@_google_xml ||= OutgoingFeedFormat.new('google-xml')
8747
+ end
8748
+
8749
+ # Criteo RSS XML product catalog feed
8750
+ def OutgoingFeedFormat.criteo_xml
8751
+ @@_criteo_xml ||= OutgoingFeedFormat.new('criteo-xml')
8752
+ end
8753
+
8754
+ def to_hash
8755
+ value
8756
+ end
8757
+
8758
+ end
8759
+
8452
8760
  class PaymentErrorCode
8453
8761
 
8454
8762
  attr_reader :value
@@ -10081,17 +10389,17 @@ module Io
10081
10389
 
10082
10390
  class AccountOrdersExportType < ExportType
10083
10391
 
10084
- attr_reader :payment_reference, :transaction_summary_id, :transaction_date_on_or_after, :transaction_date_after, :transaction_date_on_or_before, :transaction_date_before
10392
+ attr_reader :statement_id, :transaction_summary_id, :transaction_posted_on_or_after, :transaction_posted_after, :transaction_posted_on_or_before, :transaction_posted_before
10085
10393
 
10086
10394
  def initialize(incoming={})
10087
10395
  super(:discriminator => ExportType::Types::ACCOUNT_ORDERS_EXPORT_TYPE)
10088
10396
  opts = HttpClient::Helper.symbolize_keys(incoming)
10089
- @payment_reference = (x = opts.delete(:payment_reference); x.nil? ? nil : HttpClient::Preconditions.assert_class('payment_reference', x, String))
10397
+ @statement_id = (x = opts.delete(:statement_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('statement_id', x, String))
10090
10398
  @transaction_summary_id = (x = opts.delete(:transaction_summary_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_summary_id', x, String))
10091
- @transaction_date_on_or_after = (x = opts.delete(:transaction_date_on_or_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_date_on_or_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10092
- @transaction_date_after = (x = opts.delete(:transaction_date_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_date_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10093
- @transaction_date_on_or_before = (x = opts.delete(:transaction_date_on_or_before); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_date_on_or_before', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10094
- @transaction_date_before = (x = opts.delete(:transaction_date_before); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_date_before', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10399
+ @transaction_posted_on_or_after = (x = opts.delete(:transaction_posted_on_or_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_posted_on_or_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10400
+ @transaction_posted_after = (x = opts.delete(:transaction_posted_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_posted_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10401
+ @transaction_posted_on_or_before = (x = opts.delete(:transaction_posted_on_or_before); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_posted_on_or_before', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10402
+ @transaction_posted_before = (x = opts.delete(:transaction_posted_before); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_posted_before', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10095
10403
  end
10096
10404
 
10097
10405
  def to_json
@@ -10104,12 +10412,12 @@ module Io
10104
10412
 
10105
10413
  def subtype_to_hash
10106
10414
  {
10107
- :payment_reference => payment_reference,
10415
+ :statement_id => statement_id,
10108
10416
  :transaction_summary_id => transaction_summary_id,
10109
- :transaction_date_on_or_after => transaction_date_on_or_after,
10110
- :transaction_date_after => transaction_date_after,
10111
- :transaction_date_on_or_before => transaction_date_on_or_before,
10112
- :transaction_date_before => transaction_date_before
10417
+ :transaction_posted_on_or_after => transaction_posted_on_or_after,
10418
+ :transaction_posted_after => transaction_posted_after,
10419
+ :transaction_posted_on_or_before => transaction_posted_on_or_before,
10420
+ :transaction_posted_before => transaction_posted_before
10113
10421
  }
10114
10422
  end
10115
10423
 
@@ -10117,17 +10425,17 @@ module Io
10117
10425
 
10118
10426
  class AccountTransactionsExportType < ExportType
10119
10427
 
10120
- attr_reader :payment_reference, :transaction_summary_id, :date_on_or_after, :date_after, :date_on_or_before, :date_before
10428
+ attr_reader :statement_id, :transaction_summary_id, :posted_on_or_after, :posted_after, :posted_on_or_before, :posted_before
10121
10429
 
10122
10430
  def initialize(incoming={})
10123
10431
  super(:discriminator => ExportType::Types::ACCOUNT_TRANSACTIONS_EXPORT_TYPE)
10124
10432
  opts = HttpClient::Helper.symbolize_keys(incoming)
10125
- @payment_reference = (x = opts.delete(:payment_reference); x.nil? ? nil : HttpClient::Preconditions.assert_class('payment_reference', x, String))
10433
+ @statement_id = (x = opts.delete(:statement_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('statement_id', x, String))
10126
10434
  @transaction_summary_id = (x = opts.delete(:transaction_summary_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('transaction_summary_id', x, String))
10127
- @date_on_or_after = (x = opts.delete(:date_on_or_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('date_on_or_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10128
- @date_after = (x = opts.delete(:date_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('date_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10129
- @date_on_or_before = (x = opts.delete(:date_on_or_before); x.nil? ? nil : HttpClient::Preconditions.assert_class('date_on_or_before', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10130
- @date_before = (x = opts.delete(:date_before); x.nil? ? nil : HttpClient::Preconditions.assert_class('date_before', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10435
+ @posted_on_or_after = (x = opts.delete(:posted_on_or_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('posted_on_or_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10436
+ @posted_after = (x = opts.delete(:posted_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('posted_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10437
+ @posted_on_or_before = (x = opts.delete(:posted_on_or_before); x.nil? ? nil : HttpClient::Preconditions.assert_class('posted_on_or_before', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10438
+ @posted_before = (x = opts.delete(:posted_before); x.nil? ? nil : HttpClient::Preconditions.assert_class('posted_before', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
10131
10439
  end
10132
10440
 
10133
10441
  def to_json
@@ -10140,12 +10448,12 @@ module Io
10140
10448
 
10141
10449
  def subtype_to_hash
10142
10450
  {
10143
- :payment_reference => payment_reference,
10451
+ :statement_id => statement_id,
10144
10452
  :transaction_summary_id => transaction_summary_id,
10145
- :date_on_or_after => date_on_or_after,
10146
- :date_after => date_after,
10147
- :date_on_or_before => date_on_or_before,
10148
- :date_before => date_before
10453
+ :posted_on_or_after => posted_on_or_after,
10454
+ :posted_after => posted_after,
10455
+ :posted_on_or_before => posted_on_or_before,
10456
+ :posted_before => posted_before
10149
10457
  }
10150
10458
  end
10151
10459
 
@@ -12040,6 +12348,106 @@ module Io
12040
12348
 
12041
12349
  end
12042
12350
 
12351
+ # Describes a catalog feed.
12352
+ class CatalogFeed < Feed
12353
+
12354
+ attr_reader :id, :experience_feed_summaries, :incoming_feed, :outgoing_feed, :feed_statistics_summary
12355
+
12356
+ def initialize(incoming={})
12357
+ super(:discriminator => Feed::Types::CATALOG_FEED)
12358
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12359
+ HttpClient::Preconditions.require_keys(opts, [:id, :experience_feed_summaries, :incoming_feed, :outgoing_feed, :feed_statistics_summary], 'CatalogFeed')
12360
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
12361
+ @experience_feed_summaries = HttpClient::Preconditions.assert_class('experience_feed_summaries', opts.delete(:experience_feed_summaries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperienceFeedSummary) ? x : ::Io::Flow::V0::Models::ExperienceFeedSummary.new(x)) }
12362
+ @incoming_feed = (x = opts.delete(:incoming_feed); x.is_a?(::Io::Flow::V0::Models::IncomingFeed) ? x : ::Io::Flow::V0::Models::IncomingFeed.new(x))
12363
+ @outgoing_feed = (x = opts.delete(:outgoing_feed); x.is_a?(::Io::Flow::V0::Models::OutgoingFeed) ? x : ::Io::Flow::V0::Models::OutgoingFeed.new(x))
12364
+ @feed_statistics_summary = (x = opts.delete(:feed_statistics_summary); x.is_a?(::Io::Flow::V0::Models::FeedStatisticsSummary) ? x : ::Io::Flow::V0::Models::FeedStatisticsSummary.new(x))
12365
+ end
12366
+
12367
+ def to_json
12368
+ JSON.dump(to_hash)
12369
+ end
12370
+
12371
+ def copy(incoming={})
12372
+ CatalogFeed.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12373
+ end
12374
+
12375
+ def subtype_to_hash
12376
+ {
12377
+ :id => id,
12378
+ :experience_feed_summaries => experience_feed_summaries.map { |o| o.to_hash },
12379
+ :incoming_feed => incoming_feed.to_hash,
12380
+ :outgoing_feed => outgoing_feed.to_hash,
12381
+ :feed_statistics_summary => feed_statistics_summary.to_hash
12382
+ }
12383
+ end
12384
+
12385
+ end
12386
+
12387
+ # Specify a catalog feed for one or more experiences.
12388
+ class CatalogFeedFormPost
12389
+
12390
+ attr_reader :experience_keys, :incoming_feed, :outgoing_feed_form
12391
+
12392
+ def initialize(incoming={})
12393
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12394
+ HttpClient::Preconditions.require_keys(opts, [:experience_keys, :incoming_feed, :outgoing_feed_form], 'CatalogFeedFormPost')
12395
+ @experience_keys = HttpClient::Preconditions.assert_class('experience_keys', opts.delete(:experience_keys), Array).map { |v| HttpClient::Preconditions.assert_class('experience_keys', v, String) }
12396
+ @incoming_feed = (x = opts.delete(:incoming_feed); x.is_a?(::Io::Flow::V0::Models::IncomingFeed) ? x : ::Io::Flow::V0::Models::IncomingFeed.new(x))
12397
+ @outgoing_feed_form = (x = opts.delete(:outgoing_feed_form); x.is_a?(::Io::Flow::V0::Models::OutgoingFeed) ? x : ::Io::Flow::V0::Models::OutgoingFeed.new(x))
12398
+ end
12399
+
12400
+ def to_json
12401
+ JSON.dump(to_hash)
12402
+ end
12403
+
12404
+ def copy(incoming={})
12405
+ CatalogFeedFormPost.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12406
+ end
12407
+
12408
+ def to_hash
12409
+ {
12410
+ :experience_keys => experience_keys,
12411
+ :incoming_feed => incoming_feed.to_hash,
12412
+ :outgoing_feed_form => outgoing_feed_form.to_hash
12413
+ }
12414
+ end
12415
+
12416
+ end
12417
+
12418
+ # Specify a catalog feed for one or more experiences.
12419
+ class CatalogFeedFormPut
12420
+
12421
+ attr_reader :id, :experience_keys, :incoming_feed, :outgoing_feed_form
12422
+
12423
+ def initialize(incoming={})
12424
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12425
+ HttpClient::Preconditions.require_keys(opts, [:id, :experience_keys, :incoming_feed, :outgoing_feed_form], 'CatalogFeedFormPut')
12426
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
12427
+ @experience_keys = HttpClient::Preconditions.assert_class('experience_keys', opts.delete(:experience_keys), Array).map { |v| HttpClient::Preconditions.assert_class('experience_keys', v, String) }
12428
+ @incoming_feed = (x = opts.delete(:incoming_feed); x.is_a?(::Io::Flow::V0::Models::IncomingFeed) ? x : ::Io::Flow::V0::Models::IncomingFeed.new(x))
12429
+ @outgoing_feed_form = (x = opts.delete(:outgoing_feed_form); x.is_a?(::Io::Flow::V0::Models::OutgoingFeed) ? x : ::Io::Flow::V0::Models::OutgoingFeed.new(x))
12430
+ end
12431
+
12432
+ def to_json
12433
+ JSON.dump(to_hash)
12434
+ end
12435
+
12436
+ def copy(incoming={})
12437
+ CatalogFeedFormPut.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12438
+ end
12439
+
12440
+ def to_hash
12441
+ {
12442
+ :id => id,
12443
+ :experience_keys => experience_keys,
12444
+ :incoming_feed => incoming_feed.to_hash,
12445
+ :outgoing_feed_form => outgoing_feed_form.to_hash
12446
+ }
12447
+ end
12448
+
12449
+ end
12450
+
12043
12451
  class CatalogItemDeleted < Event
12044
12452
 
12045
12453
  attr_reader :event_id, :timestamp, :organization, :number, :catalog
@@ -13637,6 +14045,36 @@ module Io
13637
14045
 
13638
14046
  end
13639
14047
 
14048
+ class ExperienceFeedSummary
14049
+
14050
+ attr_reader :experience, :url, :last_construct_date
14051
+
14052
+ def initialize(incoming={})
14053
+ opts = HttpClient::Helper.symbolize_keys(incoming)
14054
+ HttpClient::Preconditions.require_keys(opts, [:experience, :url], 'ExperienceFeedSummary')
14055
+ @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::ExperienceReference) ? x : ::Io::Flow::V0::Models::ExperienceReference.new(x))
14056
+ @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
14057
+ @last_construct_date = (x = opts.delete(:last_construct_date); x.nil? ? nil : HttpClient::Preconditions.assert_class('last_construct_date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
14058
+ end
14059
+
14060
+ def to_json
14061
+ JSON.dump(to_hash)
14062
+ end
14063
+
14064
+ def copy(incoming={})
14065
+ ExperienceFeedSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
14066
+ end
14067
+
14068
+ def to_hash
14069
+ {
14070
+ :experience => experience.to_hash,
14071
+ :url => url,
14072
+ :last_construct_date => last_construct_date
14073
+ }
14074
+ end
14075
+
14076
+ end
14077
+
13640
14078
  # Experiences define a local experience for a given geographic region
13641
14079
  class ExperienceForm
13642
14080
 
@@ -13682,6 +14120,45 @@ module Io
13682
14120
 
13683
14121
  end
13684
14122
 
14123
+ # Experience Geo summarizes an experience along with geographic info
14124
+ class ExperienceGeo
14125
+
14126
+ attr_reader :key, :name, :region, :country, :currency, :language, :measurement_system
14127
+
14128
+ def initialize(incoming={})
14129
+ opts = HttpClient::Helper.symbolize_keys(incoming)
14130
+ HttpClient::Preconditions.require_keys(opts, [:key, :name, :region, :country, :currency, :language, :measurement_system], 'ExperienceGeo')
14131
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
14132
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
14133
+ @region = (x = opts.delete(:region); x.is_a?(::Io::Flow::V0::Models::RegionReference) ? x : ::Io::Flow::V0::Models::RegionReference.new(x))
14134
+ @country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
14135
+ @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
14136
+ @language = HttpClient::Preconditions.assert_class('language', opts.delete(:language), String)
14137
+ @measurement_system = (x = opts.delete(:measurement_system); x.is_a?(::Io::Flow::V0::Models::MeasurementSystem) ? x : ::Io::Flow::V0::Models::MeasurementSystem.apply(x))
14138
+ end
14139
+
14140
+ def to_json
14141
+ JSON.dump(to_hash)
14142
+ end
14143
+
14144
+ def copy(incoming={})
14145
+ ExperienceGeo.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
14146
+ end
14147
+
14148
+ def to_hash
14149
+ {
14150
+ :key => key,
14151
+ :name => name,
14152
+ :region => region.to_hash,
14153
+ :country => country,
14154
+ :currency => currency,
14155
+ :language => language,
14156
+ :measurement_system => measurement_system.value
14157
+ }
14158
+ end
14159
+
14160
+ end
14161
+
13685
14162
  class ExperienceReference < ExpandableExperience
13686
14163
 
13687
14164
  attr_reader :key
@@ -14073,6 +14550,33 @@ module Io
14073
14550
 
14074
14551
  end
14075
14552
 
14553
+ # A brief packet of statistics about a live feed. Will be blank for most new
14554
+ # feeds.
14555
+ class FeedStatisticsSummary
14556
+
14557
+ attr_reader :last_incoming_date
14558
+
14559
+ def initialize(incoming={})
14560
+ opts = HttpClient::Helper.symbolize_keys(incoming)
14561
+ @last_incoming_date = (x = opts.delete(:last_incoming_date); x.nil? ? nil : HttpClient::Preconditions.assert_class('last_incoming_date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
14562
+ end
14563
+
14564
+ def to_json
14565
+ JSON.dump(to_hash)
14566
+ end
14567
+
14568
+ def copy(incoming={})
14569
+ FeedStatisticsSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
14570
+ end
14571
+
14572
+ def to_hash
14573
+ {
14574
+ :last_incoming_date => last_incoming_date
14575
+ }
14576
+ end
14577
+
14578
+ end
14579
+
14076
14580
  class Ference
14077
14581
 
14078
14582
  attr_reader :id
@@ -15531,6 +16035,39 @@ module Io
15531
16035
 
15532
16036
  end
15533
16037
 
16038
+ # Describe a feed incoming to Flow
16039
+ class IncomingFeed
16040
+
16041
+ attr_reader :url, :format, :minute, :item_link
16042
+
16043
+ def initialize(incoming={})
16044
+ opts = HttpClient::Helper.symbolize_keys(incoming)
16045
+ HttpClient::Preconditions.require_keys(opts, [:url, :format, :item_link], 'IncomingFeed')
16046
+ @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
16047
+ @format = (x = opts.delete(:format); x.is_a?(::Io::Flow::V0::Models::IncomingFeedFormat) ? x : ::Io::Flow::V0::Models::IncomingFeedFormat.apply(x))
16048
+ @minute = HttpClient::Preconditions.assert_class('minute', (x = opts.delete(:minute); x.nil? ? 55 : x), Integer)
16049
+ @item_link = (x = opts.delete(:item_link); x.is_a?(::Io::Flow::V0::Models::ItemLink) ? x : ::Io::Flow::V0::Models::ItemLink.new(x))
16050
+ end
16051
+
16052
+ def to_json
16053
+ JSON.dump(to_hash)
16054
+ end
16055
+
16056
+ def copy(incoming={})
16057
+ IncomingFeed.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
16058
+ end
16059
+
16060
+ def to_hash
16061
+ {
16062
+ :url => url,
16063
+ :format => format.value,
16064
+ :minute => minute,
16065
+ :item_link => item_link.to_hash
16066
+ }
16067
+ end
16068
+
16069
+ end
16070
+
15534
16071
  # Enables backorders, setting an optional number of units that we allow for
15535
16072
  # backorder. For example, a backorder w/ quantity 10 will enable selling until
15536
16073
  # the actual inventory quantity is -10.
@@ -16340,6 +16877,36 @@ module Io
16340
16877
 
16341
16878
  end
16342
16879
 
16880
+ # Describes how items from an incoming feed will link with localized items in a
16881
+ # Flow catalog to create an outgoing feed.
16882
+ class ItemLink
16883
+
16884
+ attr_reader :incoming_field_name, :flow_field_name
16885
+
16886
+ def initialize(incoming={})
16887
+ opts = HttpClient::Helper.symbolize_keys(incoming)
16888
+ HttpClient::Preconditions.require_keys(opts, [:incoming_field_name, :flow_field_name], 'ItemLink')
16889
+ @incoming_field_name = (x = opts.delete(:incoming_field_name); x.is_a?(::Io::Flow::V0::Models::IncomingFieldName) ? x : ::Io::Flow::V0::Models::IncomingFieldName.apply(x))
16890
+ @flow_field_name = (x = opts.delete(:flow_field_name); x.is_a?(::Io::Flow::V0::Models::FlowFieldName) ? x : ::Io::Flow::V0::Models::FlowFieldName.apply(x))
16891
+ end
16892
+
16893
+ def to_json
16894
+ JSON.dump(to_hash)
16895
+ end
16896
+
16897
+ def copy(incoming={})
16898
+ ItemLink.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
16899
+ end
16900
+
16901
+ def to_hash
16902
+ {
16903
+ :incoming_field_name => incoming_field_name.value,
16904
+ :flow_field_name => flow_field_name.value
16905
+ }
16906
+ end
16907
+
16908
+ end
16909
+
16343
16910
  # Defines a fixed and percent margin to apply to items matching a query.
16344
16911
  class ItemMargin
16345
16912
 
@@ -17188,7 +17755,7 @@ module Io
17188
17755
  @currency = (x = opts.delete(:currency); x.is_a?(::Io::Flow::V0::Models::Currency) ? x : ::Io::Flow::V0::Models::Currency.new(x))
17189
17756
  @language = (x = opts.delete(:language); x.is_a?(::Io::Flow::V0::Models::Language) ? x : ::Io::Flow::V0::Models::Language.new(x))
17190
17757
  @locale = (x = opts.delete(:locale); x.is_a?(::Io::Flow::V0::Models::Locale) ? x : ::Io::Flow::V0::Models::Locale.new(x))
17191
- @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::ExperienceReference) ? x : ::Io::Flow::V0::Models::ExperienceReference.new(x))
17758
+ @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::ExperienceGeo) ? x : ::Io::Flow::V0::Models::ExperienceGeo.new(x))
17192
17759
  end
17193
17760
 
17194
17761
  def to_json
@@ -19396,7 +19963,7 @@ module Io
19396
19963
 
19397
19964
  class OrganizationSession < Session
19398
19965
 
19399
- attr_reader :id, :organization, :environment, :attributes, :local
19966
+ attr_reader :id, :organization, :environment, :attributes, :ip, :local
19400
19967
 
19401
19968
  def initialize(incoming={})
19402
19969
  super(:discriminator => Session::Types::ORGANIZATION_SESSION)
@@ -19406,6 +19973,7 @@ module Io
19406
19973
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
19407
19974
  @environment = (x = opts.delete(:environment); x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x))
19408
19975
  @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 }
19976
+ @ip = (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
19409
19977
  @local = (x = opts.delete(:local); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalSession) ? x : ::Io::Flow::V0::Models::LocalSession.new(x)))
19410
19978
  end
19411
19979
 
@@ -19423,6 +19991,7 @@ module Io
19423
19991
  :organization => organization,
19424
19992
  :environment => environment.value,
19425
19993
  :attributes => attributes,
19994
+ :ip => ip,
19426
19995
  :local => local.nil? ? nil : local.to_hash
19427
19996
  }
19428
19997
  end
@@ -19669,6 +20238,64 @@ module Io
19669
20238
 
19670
20239
  end
19671
20240
 
20241
+ # Describes the outgoing feed constructed by Flow
20242
+ class OutgoingFeed
20243
+
20244
+ attr_reader :format, :minute
20245
+
20246
+ def initialize(incoming={})
20247
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20248
+ HttpClient::Preconditions.require_keys(opts, [:format], 'OutgoingFeed')
20249
+ @format = (x = opts.delete(:format); x.is_a?(::Io::Flow::V0::Models::OutgoingFeedFormat) ? x : ::Io::Flow::V0::Models::OutgoingFeedFormat.apply(x))
20250
+ @minute = HttpClient::Preconditions.assert_class('minute', (x = opts.delete(:minute); x.nil? ? 0 : x), Integer)
20251
+ end
20252
+
20253
+ def to_json
20254
+ JSON.dump(to_hash)
20255
+ end
20256
+
20257
+ def copy(incoming={})
20258
+ OutgoingFeed.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20259
+ end
20260
+
20261
+ def to_hash
20262
+ {
20263
+ :format => format.value,
20264
+ :minute => minute
20265
+ }
20266
+ end
20267
+
20268
+ end
20269
+
20270
+ # Describes the outgoing feed constructed by Flow
20271
+ class OutgoingFeedForm
20272
+
20273
+ attr_reader :format, :minute
20274
+
20275
+ def initialize(incoming={})
20276
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20277
+ HttpClient::Preconditions.require_keys(opts, [:format], 'OutgoingFeedForm')
20278
+ @format = (x = opts.delete(:format); x.is_a?(::Io::Flow::V0::Models::OutgoingFeedFormat) ? x : ::Io::Flow::V0::Models::OutgoingFeedFormat.apply(x))
20279
+ @minute = HttpClient::Preconditions.assert_class('minute', (x = opts.delete(:minute); x.nil? ? 0 : x), Integer)
20280
+ end
20281
+
20282
+ def to_json
20283
+ JSON.dump(to_hash)
20284
+ end
20285
+
20286
+ def copy(incoming={})
20287
+ OutgoingFeedForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20288
+ end
20289
+
20290
+ def to_hash
20291
+ {
20292
+ :format => format.value,
20293
+ :minute => minute
20294
+ }
20295
+ end
20296
+
20297
+ end
20298
+
19672
20299
  # Represents packaging available to ship items
19673
20300
  class Packaging
19674
20301
 
@@ -22585,7 +23212,7 @@ module Io
22585
23212
 
22586
23213
  class ShopifySession < Session
22587
23214
 
22588
- attr_reader :id, :organization, :environment, :attributes, :local, :shop, :cart, :experiments
23215
+ attr_reader :id, :organization, :environment, :attributes, :ip, :local, :shop, :cart, :experiments
22589
23216
 
22590
23217
  def initialize(incoming={})
22591
23218
  super(:discriminator => Session::Types::SHOPIFY_SESSION)
@@ -22595,6 +23222,7 @@ module Io
22595
23222
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
22596
23223
  @environment = (x = opts.delete(:environment); x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x))
22597
23224
  @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 }
23225
+ @ip = (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
22598
23226
  @local = (x = opts.delete(:local); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalSession) ? x : ::Io::Flow::V0::Models::LocalSession.new(x)))
22599
23227
  @shop = HttpClient::Preconditions.assert_class('shop', opts.delete(:shop), String)
22600
23228
  @cart = (x = opts.delete(:cart); x.is_a?(::Io::Flow::V0::Models::CartReference) ? x : ::Io::Flow::V0::Models::CartReference.new(x))
@@ -22615,6 +23243,7 @@ module Io
22615
23243
  :organization => organization,
22616
23244
  :environment => environment.value,
22617
23245
  :attributes => attributes,
23246
+ :ip => ip,
22618
23247
  :local => local.nil? ? nil : local.to_hash,
22619
23248
  :shop => shop,
22620
23249
  :cart => cart.to_hash,
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.2.12
4
+ version: 0.2.13
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: 2017-04-21 00:00:00.000000000 Z
11
+ date: 2017-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json