google4r-checkout 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +4 -0
- data/lib/google4r/checkout/commands.rb +34 -4
- data/lib/google4r/checkout/xml_generation.rb +41 -8
- metadata +32 -12
data/CHANGES
CHANGED
@@ -168,6 +168,27 @@ module Google4R #:nodoc:
|
|
168
168
|
return RefundAmountNotification.create_from_element xml_doc.root, @frontend
|
169
169
|
when 'chargeback-amount-notification'
|
170
170
|
return ChargebackAmountNotification.create_from_element xml_doc.root, @frontend
|
171
|
+
when 'notification-history-response'
|
172
|
+
next_page_token = xml_doc.root.elements['next-page-token'].try(:value)
|
173
|
+
notifications = xml_doc.root.elements['notifications'].elements.map do |element|
|
174
|
+
case element.name
|
175
|
+
when 'new-order-notification'
|
176
|
+
NewOrderNotification.create_from_element element, @frontend
|
177
|
+
when 'risk-information-notification'
|
178
|
+
RiskInformationNotification.create_from_element element, @frontend
|
179
|
+
when 'order-state-change-notification'
|
180
|
+
OrderStateChangeNotification.create_from_element element, @frontend
|
181
|
+
when 'charge-amount-notification'
|
182
|
+
ChargeAmountNotification.create_from_element element, @frontend
|
183
|
+
when 'authorization-amount-notification'
|
184
|
+
AuthorizationAmountNotification.create_from_element element, @frontend
|
185
|
+
when 'refund-amount-notification'
|
186
|
+
RefundAmountNotification.create_from_element element, @frontend
|
187
|
+
when 'chargeback-amount-notification'
|
188
|
+
ChargebackAmountNotification.create_from_element element, @frontend
|
189
|
+
end
|
190
|
+
end
|
191
|
+
{ :notifications => notifications, :next_page_token => next_page_token }
|
171
192
|
else
|
172
193
|
raise "Unknown response:\n--\n#{xml_doc.to_s}\n--"
|
173
194
|
end
|
@@ -699,12 +720,21 @@ module Google4R #:nodoc:
|
|
699
720
|
# google to the notification callback URL
|
700
721
|
class NotificationHistoryRequestCommand < Command
|
701
722
|
|
702
|
-
attr_reader :serial_number
|
723
|
+
attr_reader :serial_number, :start_time, :end_time, :notification_types, :order_numbers, :next_page_token
|
703
724
|
|
704
|
-
def initialize(frontend,
|
725
|
+
def initialize(frontend, args)
|
705
726
|
super frontend
|
706
|
-
|
707
|
-
|
727
|
+
|
728
|
+
if args.is_a? Hash
|
729
|
+
@serial_number = args[:serial_number]
|
730
|
+
@start_time = args[:start_time]
|
731
|
+
@end_time = args[:end_time]
|
732
|
+
@notification_types = args[:notification_types]
|
733
|
+
@order_numbers = args[:order_numbers]
|
734
|
+
@next_page_token = args[:next_page_token]
|
735
|
+
else
|
736
|
+
@serial_number = args
|
737
|
+
end
|
708
738
|
end
|
709
739
|
|
710
740
|
def to_xml
|
@@ -1020,22 +1020,55 @@ module Google4R #:nodoc:
|
|
1020
1020
|
end
|
1021
1021
|
end
|
1022
1022
|
end
|
1023
|
-
|
1023
|
+
|
1024
1024
|
class NotificationHistoryReportCommandXmlGenerator < CommandXmlGenerator
|
1025
|
-
|
1025
|
+
|
1026
1026
|
def initialize(command)
|
1027
1027
|
@command = command
|
1028
1028
|
end
|
1029
|
-
|
1029
|
+
|
1030
1030
|
protected
|
1031
|
-
|
1031
|
+
|
1032
1032
|
def process_command(command)
|
1033
1033
|
root = super
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1034
|
+
|
1035
|
+
if command.serial_number
|
1036
|
+
element = root.add_element('serial-number')
|
1037
|
+
element.text = command.serial_number
|
1038
|
+
end
|
1039
|
+
|
1040
|
+
if command.start_time
|
1041
|
+
element = root.add_element('start-time')
|
1042
|
+
element.text = command.start_time.xmlschema
|
1043
|
+
end
|
1044
|
+
|
1045
|
+
if command.end_time
|
1046
|
+
element = root.add_element('end-time')
|
1047
|
+
element.text = command.end_time.xmlschema
|
1048
|
+
end
|
1049
|
+
|
1050
|
+
if command.notification_types.present?
|
1051
|
+
nt_element = root.add_element('notification-types')
|
1052
|
+
command.notification_types.each do |notification_type|
|
1053
|
+
element = nt_element.add_element('notification-type')
|
1054
|
+
element.text = notification_type
|
1055
|
+
end
|
1056
|
+
end
|
1057
|
+
|
1058
|
+
if command.order_numbers.present?
|
1059
|
+
on_element = root.add_element('order-numbers')
|
1060
|
+
command.order_numbers.each do |order_number|
|
1061
|
+
element = on_element.add_element('google-order-number')
|
1062
|
+
element.text = order_number
|
1063
|
+
end
|
1064
|
+
end
|
1065
|
+
|
1066
|
+
if command.next_page_token
|
1067
|
+
element = root.add_element('next-page-token')
|
1068
|
+
element.text = command.next_page_token
|
1069
|
+
end
|
1070
|
+
|
1037
1071
|
end
|
1038
1072
|
end
|
1039
|
-
|
1040
1073
|
end
|
1041
1074
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google4r-checkout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,14 +14,15 @@ authors:
|
|
14
14
|
- Chris Parrish
|
15
15
|
- Larry Salibra
|
16
16
|
- Paul Schreiber
|
17
|
+
- Ben Hutton
|
17
18
|
autorequire:
|
18
19
|
bindir: bin
|
19
20
|
cert_chain: []
|
20
|
-
date: 2012-
|
21
|
+
date: 2012-07-11 00:00:00.000000000 Z
|
21
22
|
dependencies:
|
22
23
|
- !ruby/object:Gem::Dependency
|
23
24
|
name: money
|
24
|
-
requirement:
|
25
|
+
requirement: !ruby/object:Gem::Requirement
|
25
26
|
none: false
|
26
27
|
requirements:
|
27
28
|
- - ! '>='
|
@@ -29,10 +30,15 @@ dependencies:
|
|
29
30
|
version: 2.3.0
|
30
31
|
type: :runtime
|
31
32
|
prerelease: false
|
32
|
-
version_requirements:
|
33
|
+
version_requirements: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: 2.3.0
|
33
39
|
- !ruby/object:Gem::Dependency
|
34
40
|
name: mocha
|
35
|
-
requirement:
|
41
|
+
requirement: !ruby/object:Gem::Requirement
|
36
42
|
none: false
|
37
43
|
requirements:
|
38
44
|
- - ! '>='
|
@@ -40,10 +46,15 @@ dependencies:
|
|
40
46
|
version: '0'
|
41
47
|
type: :development
|
42
48
|
prerelease: false
|
43
|
-
version_requirements:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
44
55
|
- !ruby/object:Gem::Dependency
|
45
56
|
name: nokogiri
|
46
|
-
requirement:
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
47
58
|
none: false
|
48
59
|
requirements:
|
49
60
|
- - ! '>='
|
@@ -51,10 +62,15 @@ dependencies:
|
|
51
62
|
version: '0'
|
52
63
|
type: :development
|
53
64
|
prerelease: false
|
54
|
-
version_requirements:
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ! '>='
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
55
71
|
- !ruby/object:Gem::Dependency
|
56
72
|
name: rake
|
57
|
-
requirement:
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
58
74
|
none: false
|
59
75
|
requirements:
|
60
76
|
- - ! '>='
|
@@ -62,7 +78,12 @@ dependencies:
|
|
62
78
|
version: '0'
|
63
79
|
type: :development
|
64
80
|
prerelease: false
|
65
|
-
version_requirements:
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
66
87
|
description: ! " google4r-checkout is a lightweight, framework-agnostic Ruby library
|
67
88
|
to access the Google Checkout service and implement \n notification handlers. It
|
68
89
|
exposes object-oriented wrappers for all of Google Checkout's API commands and notifications.\n"
|
@@ -171,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
192
|
version: '0'
|
172
193
|
requirements: []
|
173
194
|
rubyforge_project:
|
174
|
-
rubygems_version: 1.8.
|
195
|
+
rubygems_version: 1.8.23
|
175
196
|
signing_key:
|
176
197
|
specification_version: 3
|
177
198
|
summary: Full-featured Google Checkout library for Ruby
|
@@ -241,4 +262,3 @@ test_files:
|
|
241
262
|
- test/unit/us_zip_area_test.rb
|
242
263
|
- test/unit/world_area_test.rb
|
243
264
|
- test/test_helper.rb
|
244
|
-
has_rdoc:
|