flowcommerce 0.0.26 → 0.0.27
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/lib/flow_commerce/flow_api_v0_client.rb +123 -21
- 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: f06577a69e75af48cbc81200b08e5d46159278bb
|
4
|
+
data.tar.gz: 4f908d7183721013d65ddcc8fd0c5a7aa71e6a8b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54b89c6e1a78ea5e4959ce11ad18c5e1e951c0ae106a8a08eb171b4c6de527f07ad94ea920a4543278beff0a7f9567941260395a354c8dd7ade9cc82a73c63f7
|
7
|
+
data.tar.gz: 0a745b8c378dd170277612c87c67ad3c5bc8fd770ec0081c4764fd57100fb9893a13a7c876797b0ddddab1dc3ab46761f33d226f2c044c2541e2472bbcea1c36
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Generated by apidoc - http://www.apidoc.me
|
2
|
-
# Service version: 0.0.
|
3
|
-
# apidoc:0.11.33 http://www.apidoc.me/flow/api/0.0.
|
2
|
+
# Service version: 0.0.83
|
3
|
+
# apidoc:0.11.33 http://www.apidoc.me/flow/api/0.0.83/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.33 http://www.apidoc.me/flow/api/0.0.
|
29
|
-
VERSION = '0.0.
|
28
|
+
USER_AGENT = 'apidoc:0.11.33 http://www.apidoc.me/flow/api/0.0.83/ruby_client' unless defined?(Constants::USER_AGENT)
|
29
|
+
VERSION = '0.0.83' unless defined?(Constants::VERSION)
|
30
30
|
VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
|
31
31
|
|
32
32
|
end
|
@@ -249,6 +249,10 @@ module Io
|
|
249
249
|
@addresses ||= ::Io::Flow::V0::Clients::Addresses.new(self)
|
250
250
|
end
|
251
251
|
|
252
|
+
def country_defaults
|
253
|
+
@country_defaults ||= ::Io::Flow::V0::Clients::CountryDefaults.new(self)
|
254
|
+
end
|
255
|
+
|
252
256
|
def countries
|
253
257
|
@countries ||= ::Io::Flow::V0::Clients::Countries.new(self)
|
254
258
|
end
|
@@ -731,17 +735,27 @@ module Io
|
|
731
735
|
::Io::Flow::V0::Models::Order.new(r)
|
732
736
|
end
|
733
737
|
|
734
|
-
#
|
735
|
-
|
738
|
+
# Upserts an order. using the localized information from the experience
|
739
|
+
# selected by the query parameters. Note the order must be booked (see
|
740
|
+
# bookings) before its expiration
|
741
|
+
def put_by_number(organization, number, order_put_form, incoming={})
|
736
742
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
737
743
|
HttpClient::Preconditions.assert_class('number', number, String)
|
744
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
745
|
+
query = {
|
746
|
+
:experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
|
747
|
+
:country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
|
748
|
+
:ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
|
749
|
+
:currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
|
750
|
+
:language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
|
751
|
+
}.delete_if { |k, v| v.nil? }
|
738
752
|
HttpClient::Preconditions.assert_class('order_put_form', order_put_form, ::Io::Flow::V0::Models::OrderPutForm)
|
739
|
-
r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}").with_json(order_put_form.to_json).put
|
753
|
+
r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}").with_query(query).with_json(order_put_form.to_json).put
|
740
754
|
::Io::Flow::V0::Models::Order.new(r)
|
741
755
|
end
|
742
756
|
|
743
|
-
# Delete an order. Note that
|
744
|
-
# deleted.
|
757
|
+
# Delete an order. Note that production orders that have already been booked
|
758
|
+
# cannot be deleted (you will see a 422 response in these cases).
|
745
759
|
def delete_by_number(organization, number)
|
746
760
|
HttpClient::Preconditions.assert_class('organization', organization, String)
|
747
761
|
HttpClient::Preconditions.assert_class('number', number, String)
|
@@ -3091,9 +3105,7 @@ module Io
|
|
3091
3105
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
3092
3106
|
query = {
|
3093
3107
|
:address => (x = opts.delete(:address); x.nil? ? nil : HttpClient::Preconditions.assert_class('address', x, String)),
|
3094
|
-
:ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
|
3095
|
-
:latitude => (x = opts.delete(:latitude); x.nil? ? nil : HttpClient::Preconditions.assert_class('latitude', x, String)),
|
3096
|
-
:longitude => (x = opts.delete(:longitude); x.nil? ? nil : HttpClient::Preconditions.assert_class('longitude', x, String))
|
3108
|
+
:ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
|
3097
3109
|
}.delete_if { |k, v| v.nil? }
|
3098
3110
|
r = @client.request("/addresses").with_query(query).get
|
3099
3111
|
r.map { |x| ::Io::Flow::V0::Models::Address.new(x) }
|
@@ -3101,6 +3113,31 @@ module Io
|
|
3101
3113
|
|
3102
3114
|
end
|
3103
3115
|
|
3116
|
+
class CountryDefaults
|
3117
|
+
|
3118
|
+
def initialize(client)
|
3119
|
+
@client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
|
3120
|
+
end
|
3121
|
+
|
3122
|
+
def get(incoming={})
|
3123
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
3124
|
+
query = {
|
3125
|
+
:country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
|
3126
|
+
:address => (x = opts.delete(:address); x.nil? ? nil : HttpClient::Preconditions.assert_class('address', x, String)),
|
3127
|
+
:ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
|
3128
|
+
}.delete_if { |k, v| v.nil? }
|
3129
|
+
r = @client.request("/geolocation/defaults").with_query(query).get
|
3130
|
+
r.map { |x| ::Io::Flow::V0::Models::CountryDefaults.new(x) }
|
3131
|
+
end
|
3132
|
+
|
3133
|
+
def get_by_country(country)
|
3134
|
+
HttpClient::Preconditions.assert_class('country', country, String)
|
3135
|
+
r = @client.request("/geolocation/defaults/#{CGI.escape(country)}").get
|
3136
|
+
::Io::Flow::V0::Models::CountryDefaults.new(r)
|
3137
|
+
end
|
3138
|
+
|
3139
|
+
end
|
3140
|
+
|
3104
3141
|
class Countries
|
3105
3142
|
|
3106
3143
|
def initialize(client)
|
@@ -7314,6 +7351,37 @@ module Io
|
|
7314
7351
|
|
7315
7352
|
end
|
7316
7353
|
|
7354
|
+
# Provides country level default settings for currency, language, etc.
|
7355
|
+
class CountryDefaults
|
7356
|
+
|
7357
|
+
attr_reader :country, :currency, :language
|
7358
|
+
|
7359
|
+
def initialize(incoming={})
|
7360
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
7361
|
+
HttpClient::Preconditions.require_keys(opts, [:country, :currency, :language], 'CountryDefaults')
|
7362
|
+
@country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
|
7363
|
+
@currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
|
7364
|
+
@language = HttpClient::Preconditions.assert_class('language', opts.delete(:language), String)
|
7365
|
+
end
|
7366
|
+
|
7367
|
+
def to_json
|
7368
|
+
JSON.dump(to_hash)
|
7369
|
+
end
|
7370
|
+
|
7371
|
+
def copy(incoming={})
|
7372
|
+
CountryDefaults.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
7373
|
+
end
|
7374
|
+
|
7375
|
+
def to_hash
|
7376
|
+
{
|
7377
|
+
:country => country,
|
7378
|
+
:currency => currency,
|
7379
|
+
:language => language
|
7380
|
+
}
|
7381
|
+
end
|
7382
|
+
|
7383
|
+
end
|
7384
|
+
|
7317
7385
|
# ISO 4217 3-character currency code. See
|
7318
7386
|
# https://api.flow.io/reference/currencies
|
7319
7387
|
class Currency
|
@@ -10990,15 +11058,18 @@ module Io
|
|
10990
11058
|
|
10991
11059
|
end
|
10992
11060
|
|
10993
|
-
#
|
11061
|
+
# The order put form is used to upsert an order, providing the details on
|
11062
|
+
# pricing and delivery options for destination and items/quantities specified.
|
10994
11063
|
class OrderPutForm
|
10995
11064
|
|
10996
|
-
attr_reader :
|
11065
|
+
attr_reader :customer, :destination, :items
|
10997
11066
|
|
10998
11067
|
def initialize(incoming={})
|
10999
11068
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
11000
|
-
HttpClient::Preconditions.require_keys(opts, [:
|
11001
|
-
@
|
11069
|
+
HttpClient::Preconditions.require_keys(opts, [:customer, :destination, :items], 'OrderPutForm')
|
11070
|
+
@customer = (x = opts.delete(:customer); x.is_a?(::Io::Flow::V0::Models::Customer) ? x : ::Io::Flow::V0::Models::Customer.new(x))
|
11071
|
+
@destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x))
|
11072
|
+
@items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ItemSummary) ? x : ::Io::Flow::V0::Models::ItemSummary.new(x)) }
|
11002
11073
|
end
|
11003
11074
|
|
11004
11075
|
def to_json
|
@@ -11011,7 +11082,9 @@ module Io
|
|
11011
11082
|
|
11012
11083
|
def to_hash
|
11013
11084
|
{
|
11014
|
-
:
|
11085
|
+
:customer => customer.to_hash,
|
11086
|
+
:destination => destination.to_hash,
|
11087
|
+
:items => items.map { |o| o.to_hash }
|
11015
11088
|
}
|
11016
11089
|
end
|
11017
11090
|
|
@@ -11043,6 +11116,33 @@ module Io
|
|
11043
11116
|
|
11044
11117
|
end
|
11045
11118
|
|
11119
|
+
# Updates the selections on an order.
|
11120
|
+
class OrderSelectionsForm
|
11121
|
+
|
11122
|
+
attr_reader :selections
|
11123
|
+
|
11124
|
+
def initialize(incoming={})
|
11125
|
+
opts = HttpClient::Helper.symbolize_keys(incoming)
|
11126
|
+
HttpClient::Preconditions.require_keys(opts, [:selections], 'OrderSelectionsForm')
|
11127
|
+
@selections = HttpClient::Preconditions.assert_class('selections', opts.delete(:selections), Array).map { |v| HttpClient::Preconditions.assert_class('selections', v, String) }
|
11128
|
+
end
|
11129
|
+
|
11130
|
+
def to_json
|
11131
|
+
JSON.dump(to_hash)
|
11132
|
+
end
|
11133
|
+
|
11134
|
+
def copy(incoming={})
|
11135
|
+
OrderSelectionsForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
|
11136
|
+
end
|
11137
|
+
|
11138
|
+
def to_hash
|
11139
|
+
{
|
11140
|
+
:selections => selections
|
11141
|
+
}
|
11142
|
+
end
|
11143
|
+
|
11144
|
+
end
|
11145
|
+
|
11046
11146
|
class OrderVersion
|
11047
11147
|
|
11048
11148
|
attr_reader :id, :timestamp, :type, :order
|
@@ -11386,15 +11486,16 @@ module Io
|
|
11386
11486
|
|
11387
11487
|
class OversizedShipment < RatecardFee
|
11388
11488
|
|
11389
|
-
attr_reader :weight_threshold, :weight_unit, :
|
11489
|
+
attr_reader :weight_threshold, :weight_unit, :margin, :amount
|
11390
11490
|
|
11391
11491
|
def initialize(incoming={})
|
11392
11492
|
super(:name => RatecardFee::Types::OVERSIZED_SHIPMENT)
|
11393
11493
|
opts = HttpClient::Helper.symbolize_keys(incoming)
|
11394
|
-
HttpClient::Preconditions.require_keys(opts, [:weight_threshold, :weight_unit
|
11494
|
+
HttpClient::Preconditions.require_keys(opts, [:weight_threshold, :weight_unit], 'OversizedShipment')
|
11395
11495
|
@weight_threshold = HttpClient::Preconditions.assert_class('weight_threshold', opts.delete(:weight_threshold), Numeric)
|
11396
11496
|
@weight_unit = (x = opts.delete(:weight_unit); x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x))
|
11397
|
-
@
|
11497
|
+
@margin = (x = opts.delete(:margin); x.nil? ? nil : HttpClient::Preconditions.assert_class('margin', x, Numeric))
|
11498
|
+
@amount = (x = opts.delete(:amount); x.nil? ? nil : HttpClient::Preconditions.assert_class('amount', x, Numeric))
|
11398
11499
|
end
|
11399
11500
|
|
11400
11501
|
def to_json
|
@@ -11409,7 +11510,8 @@ module Io
|
|
11409
11510
|
{
|
11410
11511
|
:weight_threshold => weight_threshold,
|
11411
11512
|
:weight_unit => weight_unit.value,
|
11412
|
-
:
|
11513
|
+
:margin => margin,
|
11514
|
+
:amount => amount
|
11413
11515
|
}
|
11414
11516
|
end
|
11415
11517
|
|
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.27
|
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-08-
|
11
|
+
date: 2016-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|