music_today_api_wrapper 28.01.16.01 → 28.02
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d177561a770f957fb9dc97fcf90b9e6f904d2f9b
|
|
4
|
+
data.tar.gz: 41488a370a54d81e70eb972c74f99f9abf9bb5d1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 057de96e4e23fbc4c73c294a21184b9e42ec9227cd3b7d0d3a6716703940d9fdaefe644085d96ced16e03bdd808f2ceb7896d4200ca91a4442776d0c1ae45b46
|
|
7
|
+
data.tar.gz: fe4d06879c9f64a7289a8069275cec77ed1882f0e4777cf736a2569d80fd9baee29088b9907db44397a4136e08612f7e9a4fc2f96a3277a02d7d32f5785e7f4d
|
|
@@ -32,4 +32,9 @@ module MusicTodayApiWrapper
|
|
|
32
32
|
checkout_services = Services::CheckoutServices.new
|
|
33
33
|
checkout_services.checkout(address, items)
|
|
34
34
|
end
|
|
35
|
+
|
|
36
|
+
def self.purchase(order)
|
|
37
|
+
checkout_services = Services::CheckoutServices.new
|
|
38
|
+
checkout_services.purchase(order)
|
|
39
|
+
end
|
|
35
40
|
end
|
|
@@ -37,7 +37,7 @@ module MusicTodayApiWrapper
|
|
|
37
37
|
validateOnly: false,
|
|
38
38
|
taxPrepaid: false,
|
|
39
39
|
billing: { customer: @customer.as_hash,
|
|
40
|
-
|
|
40
|
+
payments: [@payment.as_hash] },
|
|
41
41
|
currency: 'USD',
|
|
42
42
|
destinations: @destinations.map(&:as_hash),
|
|
43
43
|
lineItems: @items.map(&:as_hash),
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module MusicTodayApiWrapper
|
|
2
|
+
module Resources
|
|
3
|
+
module Purchase
|
|
4
|
+
class Invoice
|
|
5
|
+
attr_accessor :id, :sub_total, :shipping, :taxes, :total
|
|
6
|
+
|
|
7
|
+
def initialize(id, sub_total, shipping, taxes)
|
|
8
|
+
@id = id
|
|
9
|
+
@sub_total = sub_total.to_f
|
|
10
|
+
@shipping = shipping.to_f
|
|
11
|
+
@taxes = taxes.to_f
|
|
12
|
+
@total = (@sub_total + @shipping + @taxes).round(2)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def self.from_hash(hash)
|
|
16
|
+
totals = hash['billing']['totals']
|
|
17
|
+
Invoice.new(hash['orderNumber'],
|
|
18
|
+
totals['subtotal'],
|
|
19
|
+
totals['shipping'],
|
|
20
|
+
totals['totalTax'])
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -52,6 +52,14 @@ module MusicTodayApiWrapper
|
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
+
def purchase(params)
|
|
56
|
+
@common_response.work do
|
|
57
|
+
url = "#{@url}/order/submit"
|
|
58
|
+
@common_response.data[:order] =
|
|
59
|
+
post(url, {}, params)['orders'].first
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
55
63
|
private
|
|
56
64
|
|
|
57
65
|
def get(url, options = {})
|
|
@@ -2,6 +2,7 @@ require 'rest_clients/music_today_rest_client'
|
|
|
2
2
|
require 'rest_clients/common_response'
|
|
3
3
|
require 'resources/purchase/item'
|
|
4
4
|
require 'resources/checkout/session'
|
|
5
|
+
require 'resources/purchase/invoice'
|
|
5
6
|
|
|
6
7
|
module MusicTodayApiWrapper
|
|
7
8
|
module Services
|
|
@@ -34,6 +35,16 @@ module MusicTodayApiWrapper
|
|
|
34
35
|
Resources::Checkout::Session.from_hash(response.data[:session])
|
|
35
36
|
end
|
|
36
37
|
end
|
|
38
|
+
|
|
39
|
+
def purchase(order)
|
|
40
|
+
@common_response.work do
|
|
41
|
+
orders = [order.as_hash]
|
|
42
|
+
response = @rest_client.purchase(orders: orders)
|
|
43
|
+
return response unless response.success?
|
|
44
|
+
@common_response.data[:invoice] =
|
|
45
|
+
Resources::Purchase::Invoice.from_hash(response.data[:order])
|
|
46
|
+
end
|
|
47
|
+
end
|
|
37
48
|
end
|
|
38
49
|
end
|
|
39
50
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: music_today_api_wrapper
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 28.
|
|
4
|
+
version: '28.02'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pablo Gonzaga
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2016-01
|
|
12
|
+
date: 2016-02-01 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rspec
|
|
@@ -225,6 +225,7 @@ files:
|
|
|
225
225
|
- lib/resources/hash.rb
|
|
226
226
|
- lib/resources/image.rb
|
|
227
227
|
- lib/resources/product.rb
|
|
228
|
+
- lib/resources/purchase/invoice.rb
|
|
228
229
|
- lib/resources/purchase/item.rb
|
|
229
230
|
- lib/resources/purchase/shipping_option.rb
|
|
230
231
|
- lib/resources/string.rb
|