flowcommerce 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/clients/flow_catalog_v0_client.rb +342 -31
- data/lib/clients/flow_common_v0_client.rb +4 -4
- data/lib/clients/flow_experience_v0_client.rb +32 -28
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e0646c5728af522534a9d1a26d55173bfac492f
|
4
|
+
data.tar.gz: bf13054e394904b83bc29a250ed262f1171604fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f07dc5618565a0ec1a0af6f835c8439641b507f0c1403d7de0f351ad0e3c6b1fb24659e7263b65dea12eaab95165cd30bb9dff4a859ec771fb7bb3201106c6c5
|
7
|
+
data.tar.gz: 3804e2ce17a39fb3bede119a4ebfb77e5168d52f85cecc9f275151bfea40fb92473e8a566e1d227de4449068f2f5ff001f5704c1d72a4c46704e3320b42ce8c5
|
data/README.md
CHANGED
@@ -19,7 +19,15 @@ experience. This is temporary.
|
|
19
19
|
|
20
20
|
gem install flowcommerce
|
21
21
|
|
22
|
-
|
22
|
+
require 'flowcommerce'
|
23
|
+
|
24
|
+
client = FlowCommerce.catalog_client("<YOUR API TOKEN>")
|
25
|
+
client.items.get("<YOUR ORGANIZATION ID>", :limit => 5, :offset => 0).each do |i|
|
26
|
+
puts i.number
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
## Running the Examples in this Repository
|
23
31
|
|
24
32
|
1. Create a file named ~/.flow/token that contains your API token
|
25
33
|
and nothing else
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Generated by apidoc - http://www.apidoc.me
|
2
|
-
# Service version: 0.0.
|
3
|
-
# apidoc:0.11.
|
2
|
+
# Service version: 0.0.36
|
3
|
+
# apidoc:0.11.29 http://www.apidoc.me/flow/catalog/0.0.36/ruby_client
|
4
4
|
|
5
5
|
require 'cgi'
|
6
6
|
require 'net/http'
|
@@ -26,8 +26,8 @@ module Io
|
|
26
26
|
|
27
27
|
BASE_URL = 'https://catalog.api.flow.io' unless defined?(Constants::BASE_URL)
|
28
28
|
NAMESPACE = 'io.flow.catalog.v0' unless defined?(Constants::NAMESPACE)
|
29
|
-
USER_AGENT = 'apidoc:0.11.
|
30
|
-
VERSION = '0.0.
|
29
|
+
USER_AGENT = 'apidoc:0.11.29 http://www.apidoc.me/flow/catalog/0.0.36/ruby_client' unless defined?(Constants::USER_AGENT)
|
30
|
+
VERSION = '0.0.36' unless defined?(Constants::VERSION)
|
31
31
|
VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
|
32
32
|
|
33
33
|
end
|
@@ -62,6 +62,10 @@ module Io
|
|
62
62
|
request
|
63
63
|
end
|
64
64
|
|
65
|
+
def attributes
|
66
|
+
@attributes ||= ::Io::Flow::Catalog::V0::Clients::Attributes.new(self)
|
67
|
+
end
|
68
|
+
|
65
69
|
def catalogs
|
66
70
|
@catalogs ||= ::Io::Flow::Catalog::V0::Clients::Catalogs.new(self)
|
67
71
|
end
|
@@ -85,6 +89,78 @@ module Io
|
|
85
89
|
|
86
90
|
module Clients
|
87
91
|
|
92
|
+
class Attributes
|
93
|
+
|
94
|
+
def initialize(client)
|
95
|
+
@client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::Catalog::V0::Client)
|
96
|
+
end
|
97
|
+
|
98
|
+
# Provides visibility into recent changes of each object, including deletion
|
99
|
+
def get_versions(organization, incoming={})
|
100
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
101
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
102
|
+
query = {
|
103
|
+
:id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
|
104
|
+
:name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, Array).map { |v| HttpClient::Preconditions.assert_class('name', v, String) }),
|
105
|
+
:limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
|
106
|
+
:offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
|
107
|
+
:sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
|
108
|
+
}.delete_if { |k, v| v.nil? }
|
109
|
+
r = @client.request("/#{CGI.escape(organization)}/attributes/versions").with_query(query).get
|
110
|
+
r.map { |x| ::Io::Flow::Catalog::V0::Models::AttributeVersion.new(x) }
|
111
|
+
end
|
112
|
+
|
113
|
+
# Search metadata. Always paginated.
|
114
|
+
def get(organization, incoming={})
|
115
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
116
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
117
|
+
query = {
|
118
|
+
:id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
|
119
|
+
:name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, Array).map { |v| HttpClient::Preconditions.assert_class('name', v, String) }),
|
120
|
+
:option => (x = opts.delete(:option); x.nil? ? nil : HttpClient::Preconditions.assert_class('option', x, Array).map { |v| HttpClient::Preconditions.assert_class('option', v, String) }),
|
121
|
+
:limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
|
122
|
+
:offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
|
123
|
+
:sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "name" : x), String)
|
124
|
+
}.delete_if { |k, v| v.nil? }
|
125
|
+
r = @client.request("/#{CGI.escape(organization)}/attributes").with_query(query).get
|
126
|
+
r.map { |x| ::Io::Flow::Catalog::V0::Models::Attribute.new(x) }
|
127
|
+
end
|
128
|
+
|
129
|
+
# Returns information about a specific attribute.
|
130
|
+
def get_by_name(organization, name)
|
131
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
132
|
+
HttpClient::Preconditions.assert_class('name', name, String)
|
133
|
+
r = @client.request("/#{CGI.escape(organization)}/attributes/#{CGI.escape(name)}").get
|
134
|
+
::Io::Flow::Catalog::V0::Models::Attribute.new(r)
|
135
|
+
end
|
136
|
+
|
137
|
+
# Add attribute
|
138
|
+
def post(organization, attribute)
|
139
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
140
|
+
HttpClient::Preconditions.assert_class('attribute', attribute, ::Io::Flow::Catalog::V0::Models::Attribute)
|
141
|
+
r = @client.request("/#{CGI.escape(organization)}/attributes").with_json(attribute.to_json).post
|
142
|
+
::Io::Flow::Catalog::V0::Models::Attribute.new(r)
|
143
|
+
end
|
144
|
+
|
145
|
+
# Update an attribute with the specified name, creating if it does not exist.
|
146
|
+
def put_by_name(organization, name, attribute)
|
147
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
148
|
+
HttpClient::Preconditions.assert_class('name', name, String)
|
149
|
+
HttpClient::Preconditions.assert_class('attribute', attribute, ::Io::Flow::Catalog::V0::Models::Attribute)
|
150
|
+
r = @client.request("/#{CGI.escape(organization)}/attributes/#{CGI.escape(name)}").with_json(attribute.to_json).put
|
151
|
+
::Io::Flow::Catalog::V0::Models::Attribute.new(r)
|
152
|
+
end
|
153
|
+
|
154
|
+
# Delete an attribute with this name
|
155
|
+
def delete_by_name(organization, name)
|
156
|
+
HttpClient::Preconditions.assert_class('organization', organization, String)
|
157
|
+
HttpClient::Preconditions.assert_class('name', name, String)
|
158
|
+
r = @client.request("/#{CGI.escape(organization)}/attributes/#{CGI.escape(name)}").delete
|
159
|
+
nil
|
160
|
+
end
|
161
|
+
|
162
|
+
end
|
163
|
+
|
88
164
|
class Catalogs
|
89
165
|
|
90
166
|
def initialize(client)
|
@@ -112,6 +188,7 @@ module Io
|
|
112
188
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
113
189
|
query = {
|
114
190
|
:id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
|
191
|
+
:key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
|
115
192
|
:name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, Array).map { |v| HttpClient::Preconditions.assert_class('name', v, String) }),
|
116
193
|
:limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
|
117
194
|
:offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
|
@@ -127,6 +204,7 @@ module Io
|
|
127
204
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
128
205
|
query = {
|
129
206
|
:id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
|
207
|
+
:key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
|
130
208
|
:name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, Array).map { |v| HttpClient::Preconditions.assert_class('name', v, String) }),
|
131
209
|
:position => (x = opts.delete(:position); x.nil? ? nil : HttpClient::Preconditions.assert_class('position', x, Array).map { |v| HttpClient::Preconditions.assert_class('position', v, Integer) }),
|
132
210
|
:subcatalog => (x = opts.delete(:subcatalog); x.nil? ? nil : HttpClient::Preconditions.assert_class('subcatalog', x, Array).map { |v| HttpClient::Preconditions.assert_class('subcatalog', v, String) }),
|
@@ -139,10 +217,10 @@ module Io
|
|
139
217
|
end
|
140
218
|
|
141
219
|
# Returns information about a specific function.
|
142
|
-
def
|
220
|
+
def get_by_key(organization, key)
|
143
221
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
144
|
-
HttpClient::Preconditions.assert_class('
|
145
|
-
r = @client.request("/#{CGI.escape(organization)}/functions/#{CGI.escape(
|
222
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
223
|
+
r = @client.request("/#{CGI.escape(organization)}/functions/#{CGI.escape(key)}").get
|
146
224
|
::Io::Flow::Catalog::V0::Models::Function.new(r)
|
147
225
|
end
|
148
226
|
|
@@ -154,20 +232,20 @@ module Io
|
|
154
232
|
::Io::Flow::Catalog::V0::Models::Function.new(r)
|
155
233
|
end
|
156
234
|
|
157
|
-
# Update function with the specified
|
158
|
-
def
|
235
|
+
# Update function with the specified key, creating if it does not exist.
|
236
|
+
def put_by_key(organization, key, function_form)
|
159
237
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
160
|
-
HttpClient::Preconditions.assert_class('
|
238
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
161
239
|
HttpClient::Preconditions.assert_class('function_form', function_form, ::Io::Flow::Catalog::V0::Models::FunctionForm)
|
162
|
-
r = @client.request("/#{CGI.escape(organization)}/functions/#{CGI.escape(
|
240
|
+
r = @client.request("/#{CGI.escape(organization)}/functions/#{CGI.escape(key)}").with_json(function_form.to_json).put
|
163
241
|
::Io::Flow::Catalog::V0::Models::Function.new(r)
|
164
242
|
end
|
165
243
|
|
166
|
-
# Delete the function with this
|
167
|
-
def
|
244
|
+
# Delete the function with this key
|
245
|
+
def delete_by_key(organization, key)
|
168
246
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
169
|
-
HttpClient::Preconditions.assert_class('
|
170
|
-
r = @client.request("/#{CGI.escape(organization)}/functions/#{CGI.escape(
|
247
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
248
|
+
r = @client.request("/#{CGI.escape(organization)}/functions/#{CGI.escape(key)}").delete
|
171
249
|
nil
|
172
250
|
end
|
173
251
|
|
@@ -426,6 +504,59 @@ module Io
|
|
426
504
|
|
427
505
|
module Models
|
428
506
|
|
507
|
+
# Cost variation used to calculate localized prices
|
508
|
+
class Adjustment
|
509
|
+
|
510
|
+
module Types
|
511
|
+
MARGIN = 'margin' unless defined?(MARGIN)
|
512
|
+
ROUNDING = 'rounding' unless defined?(ROUNDING)
|
513
|
+
end
|
514
|
+
|
515
|
+
def initialize(incoming={})
|
516
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
517
|
+
HttpClient::Preconditions.require_keys(opts, [:name], 'Adjustment')
|
518
|
+
@name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
|
519
|
+
end
|
520
|
+
|
521
|
+
def to_hash
|
522
|
+
subtype_to_hash.merge(:discriminator => @name)
|
523
|
+
end
|
524
|
+
|
525
|
+
def Adjustment.from_json(hash)
|
526
|
+
HttpClient::Preconditions.assert_class('hash', hash, Hash)
|
527
|
+
case HttpClient::Helper.symbolize_keys(hash)[:discriminator]
|
528
|
+
when Types::MARGIN; Margin.new(hash)
|
529
|
+
when Types::ROUNDING; Rounding.new(hash)
|
530
|
+
else AdjustmentUndefinedType.new(:name => union_type_name)
|
531
|
+
end
|
532
|
+
end
|
533
|
+
|
534
|
+
end
|
535
|
+
|
536
|
+
class AdjustmentUndefinedType < Adjustment
|
537
|
+
|
538
|
+
attr_reader :name
|
539
|
+
|
540
|
+
def initialize(incoming={})
|
541
|
+
super(:name => 'undefined_type')
|
542
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
543
|
+
@name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
|
544
|
+
end
|
545
|
+
|
546
|
+
def subtype_to_hash
|
547
|
+
raise 'Unable to serialize undefined type to json'
|
548
|
+
end
|
549
|
+
|
550
|
+
def copy(incoming={})
|
551
|
+
raise 'Operation not supported for undefined type'
|
552
|
+
end
|
553
|
+
|
554
|
+
def to_hash
|
555
|
+
raise 'Operation not supported for undefined type'
|
556
|
+
end
|
557
|
+
|
558
|
+
end
|
559
|
+
|
429
560
|
# A function can be represented with just it's ID, or the entire model
|
430
561
|
class ExpandableFunction
|
431
562
|
|
@@ -667,6 +798,55 @@ module Io
|
|
667
798
|
|
668
799
|
end
|
669
800
|
|
801
|
+
class RoundingMethod
|
802
|
+
|
803
|
+
attr_reader :value
|
804
|
+
|
805
|
+
def initialize(value)
|
806
|
+
@value = HttpClient::Preconditions.assert_class('value', value, String)
|
807
|
+
end
|
808
|
+
|
809
|
+
# Returns the instance of RoundingMethod for this value, creating a new instance for an unknown value
|
810
|
+
def RoundingMethod.apply(value)
|
811
|
+
if value.instance_of?(RoundingMethod)
|
812
|
+
value
|
813
|
+
else
|
814
|
+
HttpClient::Preconditions.assert_class_or_nil('value', value, String)
|
815
|
+
value.nil? ? nil : (from_string(value) || RoundingMethod.new(value))
|
816
|
+
end
|
817
|
+
end
|
818
|
+
|
819
|
+
# Returns the instance of RoundingMethod for this value, or nil if not found
|
820
|
+
def RoundingMethod.from_string(value)
|
821
|
+
HttpClient::Preconditions.assert_class('value', value, String)
|
822
|
+
RoundingMethod.ALL.find { |v| v.value == value }
|
823
|
+
end
|
824
|
+
|
825
|
+
def RoundingMethod.ALL
|
826
|
+
@@all ||= [RoundingMethod.up, RoundingMethod.down, RoundingMethod.nearest]
|
827
|
+
end
|
828
|
+
|
829
|
+
# Round up to the specified rounding.value
|
830
|
+
def RoundingMethod.up
|
831
|
+
@@_up ||= RoundingMethod.new('up')
|
832
|
+
end
|
833
|
+
|
834
|
+
# Round down to the specified rounding.value
|
835
|
+
def RoundingMethod.down
|
836
|
+
@@_down ||= RoundingMethod.new('down')
|
837
|
+
end
|
838
|
+
|
839
|
+
# Round to the nearest specified rounding.value. If equidistant, will round up.
|
840
|
+
def RoundingMethod.nearest
|
841
|
+
@@_nearest ||= RoundingMethod.new('nearest')
|
842
|
+
end
|
843
|
+
|
844
|
+
def to_hash
|
845
|
+
value
|
846
|
+
end
|
847
|
+
|
848
|
+
end
|
849
|
+
|
670
850
|
class UpdatePolicy
|
671
851
|
|
672
852
|
attr_reader :value
|
@@ -714,15 +894,18 @@ module Io
|
|
714
894
|
|
715
895
|
end
|
716
896
|
|
717
|
-
|
897
|
+
# An attribute represents applicable item data made available on specific UI
|
898
|
+
# elements (e.g. require 'Brand')
|
899
|
+
class Attribute
|
718
900
|
|
719
|
-
attr_reader :name, :
|
901
|
+
attr_reader :name, :options, :label
|
720
902
|
|
721
903
|
def initialize(incoming={})
|
722
904
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
723
|
-
HttpClient::Preconditions.require_keys(opts, [:name, :
|
724
|
-
@name = (
|
725
|
-
@
|
905
|
+
HttpClient::Preconditions.require_keys(opts, [:name, :options], 'Attribute')
|
906
|
+
@name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
|
907
|
+
@options = (x = opts.delete(:options); x.is_a?(::Io::Flow::Catalog::V0::Models::Options) ? x : ::Io::Flow::Catalog::V0::Models::Options.new(x))
|
908
|
+
@label = (x = opts.delete(:label); x.nil? ? nil : HttpClient::Preconditions.assert_class('label', x, String))
|
726
909
|
end
|
727
910
|
|
728
911
|
def to_json
|
@@ -730,25 +913,28 @@ module Io
|
|
730
913
|
end
|
731
914
|
|
732
915
|
def copy(incoming={})
|
733
|
-
|
916
|
+
Attribute.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
734
917
|
end
|
735
918
|
|
736
919
|
def to_hash
|
737
920
|
{
|
738
|
-
:name => name
|
739
|
-
:
|
921
|
+
:name => name,
|
922
|
+
:options => options.to_hash,
|
923
|
+
:label => label
|
740
924
|
}
|
741
925
|
end
|
742
926
|
|
743
927
|
end
|
744
928
|
|
745
|
-
|
929
|
+
# Attribtue metadata represents additional item data not configured in other top
|
930
|
+
# level fields
|
931
|
+
class AttributeMetadata
|
746
932
|
|
747
933
|
attr_reader :key, :value
|
748
934
|
|
749
935
|
def initialize(incoming={})
|
750
936
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
751
|
-
HttpClient::Preconditions.require_keys(opts, [:key, :value], '
|
937
|
+
HttpClient::Preconditions.require_keys(opts, [:key, :value], 'AttributeMetadata')
|
752
938
|
@key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
|
753
939
|
@value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), String)
|
754
940
|
end
|
@@ -758,7 +944,7 @@ module Io
|
|
758
944
|
end
|
759
945
|
|
760
946
|
def copy(incoming={})
|
761
|
-
|
947
|
+
AttributeMetadata.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
762
948
|
end
|
763
949
|
|
764
950
|
def to_hash
|
@@ -770,6 +956,39 @@ module Io
|
|
770
956
|
|
771
957
|
end
|
772
958
|
|
959
|
+
# Retrieve journaled history of an attribute
|
960
|
+
class AttributeVersion
|
961
|
+
|
962
|
+
attr_reader :id, :timestamp, :type, :attribute
|
963
|
+
|
964
|
+
def initialize(incoming={})
|
965
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
966
|
+
HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :attribute], 'AttributeVersion')
|
967
|
+
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
968
|
+
@timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
|
969
|
+
@type = (x = opts.delete(:type); x.is_a?(::Io::Flow::Common::V0::Models::ChangeType) ? x : ::Io::Flow::Common::V0::Models::ChangeType.apply(x))
|
970
|
+
@attribute = (x = opts.delete(:attribute); x.is_a?(::Io::Flow::Catalog::V0::Models::Attribute) ? x : ::Io::Flow::Catalog::V0::Models::Attribute.new(x))
|
971
|
+
end
|
972
|
+
|
973
|
+
def to_json
|
974
|
+
JSON.dump(to_hash)
|
975
|
+
end
|
976
|
+
|
977
|
+
def copy(incoming={})
|
978
|
+
AttributeVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
979
|
+
end
|
980
|
+
|
981
|
+
def to_hash
|
982
|
+
{
|
983
|
+
:id => id,
|
984
|
+
:timestamp => timestamp,
|
985
|
+
:type => type.value,
|
986
|
+
:attribute => attribute.to_hash
|
987
|
+
}
|
988
|
+
end
|
989
|
+
|
990
|
+
end
|
991
|
+
|
773
992
|
class Catalog
|
774
993
|
|
775
994
|
attr_reader :id
|
@@ -863,14 +1082,15 @@ module Io
|
|
863
1082
|
# defined price function)
|
864
1083
|
class Function < ExpandableFunction
|
865
1084
|
|
866
|
-
attr_reader :id, :subcatalog_id, :name, :position, :presets, :code, :q
|
1085
|
+
attr_reader :id, :subcatalog_id, :key, :name, :position, :presets, :code, :q
|
867
1086
|
|
868
1087
|
def initialize(incoming={})
|
869
1088
|
super(:name => ExpandableFunction::Types::FUNCTION)
|
870
1089
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
871
|
-
HttpClient::Preconditions.require_keys(opts, [:id, :subcatalog_id, :name, :position, :presets, :code], 'Function')
|
1090
|
+
HttpClient::Preconditions.require_keys(opts, [:id, :subcatalog_id, :key, :name, :position, :presets, :code], 'Function')
|
872
1091
|
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
873
1092
|
@subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
|
1093
|
+
@key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
|
874
1094
|
@name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
|
875
1095
|
@position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
|
876
1096
|
@presets = (x = opts.delete(:presets); x.is_a?(::Io::Flow::Catalog::V0::Models::Presets) ? x : ::Io::Flow::Catalog::V0::Models::Presets.new(x))
|
@@ -890,6 +1110,7 @@ module Io
|
|
890
1110
|
{
|
891
1111
|
:id => id,
|
892
1112
|
:subcatalog_id => subcatalog_id,
|
1113
|
+
:key => key,
|
893
1114
|
:name => name,
|
894
1115
|
:position => position,
|
895
1116
|
:presets => presets.to_hash,
|
@@ -1099,7 +1320,7 @@ module Io
|
|
1099
1320
|
@price = (x = opts.delete(:price); x.is_a?(::Io::Flow::Catalog::V0::Models::Price) ? x : ::Io::Flow::Catalog::V0::Models::Price.new(x))
|
1100
1321
|
@categories = HttpClient::Preconditions.assert_class('categories', (x = opts.delete(:categories); x.nil? ? [] : x), Array).map { |v| HttpClient::Preconditions.assert_class('categories', v, String) }
|
1101
1322
|
@description = (x = opts.delete(:description); x.nil? ? nil : HttpClient::Preconditions.assert_class('description', x, String))
|
1102
|
-
@attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::
|
1323
|
+
@attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::AttributeMetadata) ? x : ::Io::Flow::Catalog::V0::Models::AttributeMetadata.new(x)) }
|
1103
1324
|
@dimensions = HttpClient::Preconditions.assert_class('dimensions', (x = opts.delete(:dimensions); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::Common::V0::Models::Dimension) ? x : ::Io::Flow::Common::V0::Models::Dimension.new(x)) }
|
1104
1325
|
@images = HttpClient::Preconditions.assert_class('images', (x = opts.delete(:images); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::Image) ? x : ::Io::Flow::Catalog::V0::Models::Image.new(x)) }
|
1105
1326
|
@flow = (x = opts.delete(:flow); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::Catalog::V0::Models::Flow) ? x : ::Io::Flow::Catalog::V0::Models::Flow.new(x)))
|
@@ -1149,7 +1370,7 @@ module Io
|
|
1149
1370
|
@price = HttpClient::Preconditions.assert_class('price', opts.delete(:price), Numeric)
|
1150
1371
|
@categories = (x = opts.delete(:categories); x.nil? ? nil : HttpClient::Preconditions.assert_class('categories', x, Array).map { |v| HttpClient::Preconditions.assert_class('categories', v, String) })
|
1151
1372
|
@description = (x = opts.delete(:description); x.nil? ? nil : HttpClient::Preconditions.assert_class('description', x, String))
|
1152
|
-
@attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::
|
1373
|
+
@attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::AttributeMetadata) ? x : ::Io::Flow::Catalog::V0::Models::AttributeMetadata.new(x)) })
|
1153
1374
|
@dimensions = (x = opts.delete(:dimensions); x.nil? ? nil : HttpClient::Preconditions.assert_class('dimensions', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::Common::V0::Models::Dimension) ? x : ::Io::Flow::Common::V0::Models::Dimension.new(x)) })
|
1154
1375
|
@images = (x = opts.delete(:images); x.nil? ? nil : HttpClient::Preconditions.assert_class('images', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::ImageForm) ? x : ::Io::Flow::Catalog::V0::Models::ImageForm.new(x)) })
|
1155
1376
|
end
|
@@ -1269,6 +1490,65 @@ module Io
|
|
1269
1490
|
|
1270
1491
|
end
|
1271
1492
|
|
1493
|
+
class Margin < Adjustment
|
1494
|
+
|
1495
|
+
attr_reader :name, :value
|
1496
|
+
|
1497
|
+
def initialize(incoming={})
|
1498
|
+
super(:name => Adjustment::Types::MARGIN)
|
1499
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
1500
|
+
HttpClient::Preconditions.require_keys(opts, [:name, :value], 'Margin')
|
1501
|
+
@name = (x = opts.delete(:name); x.is_a?(::Io::Flow::Catalog::V0::Models::AdjustmentType) ? x : ::Io::Flow::Catalog::V0::Models::AdjustmentType.apply(x))
|
1502
|
+
@value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), Numeric)
|
1503
|
+
end
|
1504
|
+
|
1505
|
+
def to_json
|
1506
|
+
JSON.dump(to_hash)
|
1507
|
+
end
|
1508
|
+
|
1509
|
+
def copy(incoming={})
|
1510
|
+
Margin.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
1511
|
+
end
|
1512
|
+
|
1513
|
+
def subtype_to_hash
|
1514
|
+
{
|
1515
|
+
:name => name.value,
|
1516
|
+
:value => value
|
1517
|
+
}
|
1518
|
+
end
|
1519
|
+
|
1520
|
+
end
|
1521
|
+
|
1522
|
+
# Flags to indicate whether a feature is enabled/disabled on a particular model
|
1523
|
+
# (e.g. show/do not show attribute as a column in harmonization table view of
|
1524
|
+
# items)
|
1525
|
+
class Options
|
1526
|
+
|
1527
|
+
attr_reader :show_in_catalog, :show_in_harmonization
|
1528
|
+
|
1529
|
+
def initialize(incoming={})
|
1530
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
1531
|
+
@show_in_catalog = HttpClient::Preconditions.assert_boolean('show_in_catalog', (x = opts.delete(:show_in_catalog); x.nil? ? false : x))
|
1532
|
+
@show_in_harmonization = HttpClient::Preconditions.assert_boolean('show_in_harmonization', (x = opts.delete(:show_in_harmonization); x.nil? ? false : x))
|
1533
|
+
end
|
1534
|
+
|
1535
|
+
def to_json
|
1536
|
+
JSON.dump(to_hash)
|
1537
|
+
end
|
1538
|
+
|
1539
|
+
def copy(incoming={})
|
1540
|
+
Options.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
1541
|
+
end
|
1542
|
+
|
1543
|
+
def to_hash
|
1544
|
+
{
|
1545
|
+
:show_in_catalog => show_in_catalog,
|
1546
|
+
:show_in_harmonization => show_in_harmonization
|
1547
|
+
}
|
1548
|
+
end
|
1549
|
+
|
1550
|
+
end
|
1551
|
+
|
1272
1552
|
# Presentation for UI that is used to generate a localized price function
|
1273
1553
|
class Presets
|
1274
1554
|
|
@@ -1276,7 +1556,7 @@ module Io
|
|
1276
1556
|
|
1277
1557
|
def initialize(incoming={})
|
1278
1558
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
1279
|
-
@adjustments = HttpClient::Preconditions.assert_class('adjustments', (x = opts.delete(:adjustments); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::Adjustment) ? x : ::Io::Flow::Catalog::V0::Models::Adjustment.
|
1559
|
+
@adjustments = HttpClient::Preconditions.assert_class('adjustments', (x = opts.delete(:adjustments); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::Adjustment) ? x : ::Io::Flow::Catalog::V0::Models::Adjustment.from_json(x)) }
|
1280
1560
|
@levies = HttpClient::Preconditions.assert_class('levies', (x = opts.delete(:levies); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::Catalog::V0::Models::Levy) ? x : ::Io::Flow::Catalog::V0::Models::Levy.apply(x)) }
|
1281
1561
|
end
|
1282
1562
|
|
@@ -1325,6 +1605,37 @@ module Io
|
|
1325
1605
|
|
1326
1606
|
end
|
1327
1607
|
|
1608
|
+
class Rounding < Adjustment
|
1609
|
+
|
1610
|
+
attr_reader :name, :rounding_method, :value
|
1611
|
+
|
1612
|
+
def initialize(incoming={})
|
1613
|
+
super(:name => Adjustment::Types::ROUNDING)
|
1614
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
1615
|
+
HttpClient::Preconditions.require_keys(opts, [:name, :rounding_method, :value], 'Rounding')
|
1616
|
+
@name = (x = opts.delete(:name); x.is_a?(::Io::Flow::Catalog::V0::Models::AdjustmentType) ? x : ::Io::Flow::Catalog::V0::Models::AdjustmentType.apply(x))
|
1617
|
+
@rounding_method = (x = opts.delete(:rounding_method); x.is_a?(::Io::Flow::Catalog::V0::Models::RoundingMethod) ? x : ::Io::Flow::Catalog::V0::Models::RoundingMethod.apply(x))
|
1618
|
+
@value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), Numeric)
|
1619
|
+
end
|
1620
|
+
|
1621
|
+
def to_json
|
1622
|
+
JSON.dump(to_hash)
|
1623
|
+
end
|
1624
|
+
|
1625
|
+
def copy(incoming={})
|
1626
|
+
Rounding.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
1627
|
+
end
|
1628
|
+
|
1629
|
+
def subtype_to_hash
|
1630
|
+
{
|
1631
|
+
:name => name.value,
|
1632
|
+
:rounding_method => rounding_method.value,
|
1633
|
+
:value => value
|
1634
|
+
}
|
1635
|
+
end
|
1636
|
+
|
1637
|
+
end
|
1638
|
+
|
1328
1639
|
# A configuration with custom query to select a subset of master catalog items
|
1329
1640
|
# for a localized experience
|
1330
1641
|
class Subcatalog < ExpandableSubcatalog
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Generated by apidoc - http://www.apidoc.me
|
2
|
-
# Service version: 0.0.
|
3
|
-
# apidoc:0.11.
|
2
|
+
# Service version: 0.0.36
|
3
|
+
# apidoc:0.11.29 http://www.apidoc.me/flow/common/0.0.36/ruby_client
|
4
4
|
|
5
5
|
require 'cgi'
|
6
6
|
require 'net/http'
|
@@ -26,8 +26,8 @@ module Io
|
|
26
26
|
|
27
27
|
BASE_URL = 'https://api.flow.io' unless defined?(Constants::BASE_URL)
|
28
28
|
NAMESPACE = 'io.flow.common.v0' unless defined?(Constants::NAMESPACE)
|
29
|
-
USER_AGENT = 'apidoc:0.11.
|
30
|
-
VERSION = '0.0.
|
29
|
+
USER_AGENT = 'apidoc:0.11.29 http://www.apidoc.me/flow/common/0.0.36/ruby_client' unless defined?(Constants::USER_AGENT)
|
30
|
+
VERSION = '0.0.36' unless defined?(Constants::VERSION)
|
31
31
|
VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
|
32
32
|
|
33
33
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Generated by apidoc - http://www.apidoc.me
|
2
|
-
# Service version: 0.0.
|
3
|
-
# apidoc:0.11.
|
2
|
+
# Service version: 0.0.36
|
3
|
+
# apidoc:0.11.29 http://www.apidoc.me/flow/experience/0.0.36/ruby_client
|
4
4
|
|
5
5
|
require 'cgi'
|
6
6
|
require 'net/http'
|
@@ -26,8 +26,8 @@ module Io
|
|
26
26
|
|
27
27
|
BASE_URL = 'https://experience.api.flow.io' unless defined?(Constants::BASE_URL)
|
28
28
|
NAMESPACE = 'io.flow.experience.v0' unless defined?(Constants::NAMESPACE)
|
29
|
-
USER_AGENT = 'apidoc:0.11.
|
30
|
-
VERSION = '0.0.
|
29
|
+
USER_AGENT = 'apidoc:0.11.29 http://www.apidoc.me/flow/experience/0.0.36/ruby_client' unless defined?(Constants::USER_AGENT)
|
30
|
+
VERSION = '0.0.36' unless defined?(Constants::VERSION)
|
31
31
|
VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
|
32
32
|
|
33
33
|
end
|
@@ -85,6 +85,7 @@ module Io
|
|
85
85
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
86
86
|
query = {
|
87
87
|
:id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
|
88
|
+
:key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
|
88
89
|
:name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, Array).map { |v| HttpClient::Preconditions.assert_class('name', v, String) }),
|
89
90
|
:limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
|
90
91
|
:offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
|
@@ -100,6 +101,7 @@ module Io
|
|
100
101
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
101
102
|
query = {
|
102
103
|
:id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
|
104
|
+
:key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
|
103
105
|
:name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, Array).map { |v| HttpClient::Preconditions.assert_class('name', v, String) }),
|
104
106
|
:limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
|
105
107
|
:offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
|
@@ -110,10 +112,10 @@ module Io
|
|
110
112
|
end
|
111
113
|
|
112
114
|
# Returns information about a specific display.
|
113
|
-
def
|
115
|
+
def get_by_key(organization, key)
|
114
116
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
115
|
-
HttpClient::Preconditions.assert_class('
|
116
|
-
r = @client.request("/#{CGI.escape(organization)}/displays/#{CGI.escape(
|
117
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
118
|
+
r = @client.request("/#{CGI.escape(organization)}/displays/#{CGI.escape(key)}").get
|
117
119
|
::Io::Flow::Experience::V0::Models::Display.new(r)
|
118
120
|
end
|
119
121
|
|
@@ -125,20 +127,20 @@ module Io
|
|
125
127
|
::Io::Flow::Experience::V0::Models::Display.new(r)
|
126
128
|
end
|
127
129
|
|
128
|
-
# Update display with the specified
|
129
|
-
def
|
130
|
+
# Update display with the specified key, creating if it does not exist.
|
131
|
+
def put_by_key(organization, key, display_form)
|
130
132
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
131
|
-
HttpClient::Preconditions.assert_class('
|
133
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
132
134
|
HttpClient::Preconditions.assert_class('display_form', display_form, ::Io::Flow::Experience::V0::Models::DisplayForm)
|
133
|
-
r = @client.request("/#{CGI.escape(organization)}/displays/#{CGI.escape(
|
135
|
+
r = @client.request("/#{CGI.escape(organization)}/displays/#{CGI.escape(key)}").with_json(display_form.to_json).put
|
134
136
|
::Io::Flow::Experience::V0::Models::Display.new(r)
|
135
137
|
end
|
136
138
|
|
137
|
-
# Delete the display with this
|
138
|
-
def
|
139
|
+
# Delete the display with this key
|
140
|
+
def delete_by_key(organization, key)
|
139
141
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
140
|
-
HttpClient::Preconditions.assert_class('
|
141
|
-
r = @client.request("/#{CGI.escape(organization)}/displays/#{CGI.escape(
|
142
|
+
HttpClient::Preconditions.assert_class('key', key, String)
|
143
|
+
r = @client.request("/#{CGI.escape(organization)}/displays/#{CGI.escape(key)}").delete
|
142
144
|
nil
|
143
145
|
end
|
144
146
|
|
@@ -239,13 +241,13 @@ module Io
|
|
239
241
|
::Io::Flow::Experience::V0::Models::Experience.new(r)
|
240
242
|
end
|
241
243
|
|
242
|
-
# Remove the experience display with this
|
243
|
-
def
|
244
|
+
# Remove the experience display with this key
|
245
|
+
def put_displays_by_key_and_display_key(organization, key, display_key, hash)
|
244
246
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
245
247
|
HttpClient::Preconditions.assert_class('key', key, String)
|
246
|
-
HttpClient::Preconditions.assert_class('
|
248
|
+
HttpClient::Preconditions.assert_class('display_key', display_key, String)
|
247
249
|
HttpClient::Preconditions.assert_class('hash', hash, Hash)
|
248
|
-
r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/
|
250
|
+
r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/displays/#{CGI.escape(display_key)}").with_json(hash.to_json).put
|
249
251
|
::Io::Flow::Experience::V0::Models::Experience.new(r)
|
250
252
|
end
|
251
253
|
|
@@ -356,12 +358,13 @@ module Io
|
|
356
358
|
# product page or checkout)
|
357
359
|
class Display
|
358
360
|
|
359
|
-
attr_reader :id, :name, :context, :component
|
361
|
+
attr_reader :id, :key, :name, :context, :component
|
360
362
|
|
361
363
|
def initialize(incoming={})
|
362
364
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
363
|
-
HttpClient::Preconditions.require_keys(opts, [:id, :name, :context, :component], 'Display')
|
365
|
+
HttpClient::Preconditions.require_keys(opts, [:id, :key, :name, :context, :component], 'Display')
|
364
366
|
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
367
|
+
@key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
|
365
368
|
@name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
|
366
369
|
@context = HttpClient::Preconditions.assert_class('context', opts.delete(:context), Array).map { |v| HttpClient::Preconditions.assert_class('context', v, String) }
|
367
370
|
@component = (x = opts.delete(:component); x.is_a?(::Io::Flow::Experience::V0::Models::Component) ? x : ::Io::Flow::Experience::V0::Models::Component.new(x))
|
@@ -378,6 +381,7 @@ module Io
|
|
378
381
|
def to_hash
|
379
382
|
{
|
380
383
|
:id => id,
|
384
|
+
:key => key,
|
381
385
|
:name => name,
|
382
386
|
:context => context,
|
383
387
|
:component => component.to_hash
|
@@ -418,13 +422,13 @@ module Io
|
|
418
422
|
|
419
423
|
class DisplaySummary
|
420
424
|
|
421
|
-
attr_reader :id, :
|
425
|
+
attr_reader :id, :key
|
422
426
|
|
423
427
|
def initialize(incoming={})
|
424
428
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
425
|
-
HttpClient::Preconditions.require_keys(opts, [:id, :
|
429
|
+
HttpClient::Preconditions.require_keys(opts, [:id, :key], 'DisplaySummary')
|
426
430
|
@id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
|
427
|
-
@
|
431
|
+
@key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
|
428
432
|
end
|
429
433
|
|
430
434
|
def to_json
|
@@ -438,7 +442,7 @@ module Io
|
|
438
442
|
def to_hash
|
439
443
|
{
|
440
444
|
:id => id,
|
441
|
-
:
|
445
|
+
:key => key
|
442
446
|
}
|
443
447
|
end
|
444
448
|
|
@@ -521,7 +525,7 @@ module Io
|
|
521
525
|
|
522
526
|
class ExperienceForm
|
523
527
|
|
524
|
-
attr_reader :country, :name, :currency, :
|
528
|
+
attr_reader :country, :name, :currency, :display_key, :language, :measurement_system, :subcatalog_id
|
525
529
|
|
526
530
|
def initialize(incoming={})
|
527
531
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
@@ -529,7 +533,7 @@ module Io
|
|
529
533
|
@country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
|
530
534
|
@name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
|
531
535
|
@currency = (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
|
532
|
-
@
|
536
|
+
@display_key = (x = opts.delete(:display_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('display_key', x, Array).map { |v| HttpClient::Preconditions.assert_class('display_key', v, String) })
|
533
537
|
@language = (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
|
534
538
|
@measurement_system = (x = opts.delete(:measurement_system); x.nil? ? nil : HttpClient::Preconditions.assert_class('measurement_system', x, String))
|
535
539
|
@subcatalog_id = (x = opts.delete(:subcatalog_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('subcatalog_id', x, String))
|
@@ -548,7 +552,7 @@ module Io
|
|
548
552
|
:country => country,
|
549
553
|
:name => name,
|
550
554
|
:currency => currency,
|
551
|
-
:
|
555
|
+
:display_key => display_key.nil? ? nil : display_key,
|
552
556
|
:language => language,
|
553
557
|
:measurement_system => measurement_system,
|
554
558
|
:subcatalog_id => subcatalog_id
|
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.
|
4
|
+
version: 0.0.12
|
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-06-
|
11
|
+
date: 2016-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|