gun_broker 1.4.3 → 1.4.4
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/gun_broker/item/constants.rb +8 -0
- data/lib/gun_broker/user/orders_delegate.rb +29 -0
- data/lib/gun_broker/version.rb +1 -1
- 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: 347f961fc6d333472e7ed636d8efffc6d32ddcd2
|
4
|
+
data.tar.gz: 39281a14096480b8af69bff867da86c924d04df7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 487335ffc8f42a330cd94a9dffd4e0bbc732bc00a4082cdefe894f516a77788f793cffc66a0c32d65f370d3b4e0a71a6d235538549f70378abfb9767fe4aff75
|
7
|
+
data.tar.gz: 1d2530240790e86fbf4cc1024997a261f1b953f176d6ea6d3c0e3a6dae5c91fab18a589b9a2360c74350b33708d9bfa4c752c76d92616fb82bcdb22c536d9ae7
|
@@ -93,6 +93,14 @@ module GunBroker
|
|
93
93
|
16 => 'Use shipping profile',
|
94
94
|
}
|
95
95
|
|
96
|
+
# The carrier responsible for shipping.
|
97
|
+
# The keys of this hash should be sent as the `carrier` param when updating shipping on an Item.
|
98
|
+
SHIPPING_CARRIERS = {
|
99
|
+
1 => 'FedEx',
|
100
|
+
2 => 'UPS',
|
101
|
+
3 => 'USPS',
|
102
|
+
}
|
103
|
+
|
96
104
|
end
|
97
105
|
end
|
98
106
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'gun_broker/token_header'
|
2
|
+
require 'gun_broker/item/constants'
|
2
3
|
|
3
4
|
module GunBroker
|
4
5
|
class User
|
@@ -6,6 +7,7 @@ module GunBroker
|
|
6
7
|
class OrdersDelegate
|
7
8
|
|
8
9
|
include GunBroker::TokenHeader
|
10
|
+
include GunBroker::Item::Constants
|
9
11
|
|
10
12
|
# @param user [User] A {User} instance to scope orders by.
|
11
13
|
def initialize(user)
|
@@ -41,6 +43,33 @@ module GunBroker
|
|
41
43
|
@sold ||= fetch_orders(:OrdersSold, params)
|
42
44
|
end
|
43
45
|
|
46
|
+
# Submits shipping details for an {Order}.
|
47
|
+
# @param (see #submit_shipping!)
|
48
|
+
# @return [GunBroker::Order] The updated Order instance or `false` if update fails.
|
49
|
+
def submit_shipping(*args)
|
50
|
+
submit_shipping!(*args)
|
51
|
+
rescue GunBroker::Error
|
52
|
+
false
|
53
|
+
end
|
54
|
+
|
55
|
+
# Same as {#submit_shipping} but raises exceptions on error.
|
56
|
+
# @param order_id [Integer, String] ID of the Order to update.
|
57
|
+
# @param tracking_number [String] The tracking number of the shipment.
|
58
|
+
# @param carrier_name [String] The name of the carrier of the shipment.
|
59
|
+
# @raise [GunBroker::Error::NotAuthorized] If the {User#token `@user` token} isn't valid.
|
60
|
+
# @raise [GunBroker::Error::RequestError] If the Order attributes are not valid or required attributes are missing.
|
61
|
+
# @return [GunBroker::Order] The updated Order instance.
|
62
|
+
def submit_shipping!(order_id, tracking_number, carrier_name)
|
63
|
+
carrier_key = SHIPPING_CARRIERS.find { |k, v| v.casecmp(carrier_name).zero? }.try(:first)
|
64
|
+
params = {
|
65
|
+
'TrackingNumber' => tracking_number,
|
66
|
+
'Carrier' => carrier_key,
|
67
|
+
}
|
68
|
+
|
69
|
+
GunBroker::API.put("/Orders/#{order_id}/Shipping", cleanup_nil_params(params), token_header(@user.token))
|
70
|
+
find!(order_id)
|
71
|
+
end
|
72
|
+
|
44
73
|
private
|
45
74
|
|
46
75
|
def fetch_orders(endpoint, params = {})
|
data/lib/gun_broker/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gun_broker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dale Campbell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|