vindicia 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/vindicia.rb +11 -3
  3. data/spec/vindicia_spec.rb +22 -0
  4. metadata +52 -85
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.6
1
+ 0.2.7
@@ -39,7 +39,7 @@ module Vindicia
39
39
 
40
40
  def xsd(klass)
41
41
  require 'open-uri'
42
- url = "http://#{domain}/#{version}/Vindicia.xsd"
42
+ url = "https://#{domain}/#{version}/Vindicia.xsd"
43
43
  @xsd_data ||= begin
44
44
  doc = REXML::Document.new(open(url).read)
45
45
  doc.root.get_elements("//xsd:complexType").inject({}){|memo, node|
@@ -51,7 +51,14 @@ module Vindicia
51
51
  end
52
52
 
53
53
  def wsdl(object)
54
- "http://#{domain}/#{version}/#{object}.wsdl"
54
+ "https://#{domain}/#{version}/#{object}.wsdl"
55
+ end
56
+
57
+ def silence_debug_output!
58
+ Savon.configure do |config|
59
+ config.log = false
60
+ end
61
+ def HTTPI.log(*args); end
55
62
  end
56
63
 
57
64
  def class(type)
@@ -173,7 +180,7 @@ module Vindicia
173
180
  include XMLBuilder
174
181
 
175
182
  def find(id)
176
- self.send(:"fetch_by_merchant_#{name.downcase}_id", id)
183
+ self.send(:"fetch_by_merchant_#{underscore(name)}_id", id)
177
184
  end
178
185
 
179
186
  def method_missing(method, *args)
@@ -385,6 +392,7 @@ module Vindicia
385
392
  def to_hash
386
393
  instance_variables.inject({}) do |result, ivar|
387
394
  name = ivar[1..-1]
395
+ next result if name == 'attributes'
388
396
  value = instance_variable_get(ivar)
389
397
  case value
390
398
  when SoapObject
@@ -228,6 +228,28 @@ describe Vindicia do
228
228
  autobill.request_status.code.should == 200
229
229
  end
230
230
 
231
+ it 'can adjust next billing date backwards' do
232
+ @product = Vindicia::Product.new('em-2-PREMIUM-USD')
233
+ @billing = Vindicia::BillingPlan.new('em-2-PREMIUM-USD')
234
+ @id = "autobill-#{Time.now.to_i}"
235
+ autobill, created, authstatus, firstBillDate, firstBillAmount, firstBillingCurrency = \
236
+ Vindicia::AutoBill.update({
237
+ :account => @account.ref,
238
+ :product => @product.ref,
239
+ :billingPlan => @billing.ref,
240
+ :merchant_auto_bill_id => @id
241
+ }, 'Fail', true, 100)
242
+
243
+ ab = Vindicia::AutoBill.find(@id)
244
+ original_date = ab.future_rebills.first.timestamp
245
+ Vindicia::AutoBill.delay_billing_to_date(Vindicia::AutoBill.new(@id), original_date - 2)
246
+
247
+ ab2 = Vindicia::AutoBill.find(@id)
248
+ new_date = ab2.future_rebills.first.timestamp
249
+
250
+ new_date.should == original_date - 2
251
+ end
252
+
231
253
  it 'should find date-boxed autobill updates' do
232
254
  date = Date.new(2011,1,1)
233
255
  ret, autobills = Vindicia::AutoBill.fetchDeltaSince(date, 1, 5, date+1)
metadata CHANGED
@@ -1,91 +1,68 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vindicia
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.7
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 6
10
- version: 0.2.6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jamie Macey
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-03-31 00:00:00 -04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-02-21 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: savon
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2153409800 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - "="
28
- - !ruby/object:Gem::Version
29
- hash: 59
30
- segments:
31
- - 0
32
- - 8
33
- - 2
18
+ requirements:
19
+ - - =
20
+ - !ruby/object:Gem::Version
34
21
  version: 0.8.2
35
22
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: isolate
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2153409800
25
+ - !ruby/object:Gem::Dependency
26
+ name: isolate
27
+ requirement: &2153409320 !ruby/object:Gem::Requirement
41
28
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
49
33
  type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: rspec
53
34
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *2153409320
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &2153408840 !ruby/object:Gem::Requirement
55
39
  none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- hash: 3
60
- segments:
61
- - 0
62
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
63
44
  type: :development
64
- version_requirements: *id003
65
- - !ruby/object:Gem::Dependency
66
- name: jeweler
67
45
  prerelease: false
68
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *2153408840
47
+ - !ruby/object:Gem::Dependency
48
+ name: jeweler
49
+ requirement: &2153408360 !ruby/object:Gem::Requirement
69
50
  none: false
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- hash: 3
74
- segments:
75
- - 0
76
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
77
55
  type: :development
78
- version_requirements: *id004
56
+ prerelease: false
57
+ version_requirements: *2153408360
79
58
  description: Wrapper interface to Vindicia's SOAP API
80
59
  email: jamie@almlabs.com
81
60
  executables: []
82
-
83
61
  extensions: []
84
-
85
- extra_rdoc_files:
62
+ extra_rdoc_files:
86
63
  - LICENSE
87
64
  - README.md
88
- files:
65
+ files:
89
66
  - Isolate
90
67
  - LICENSE
91
68
  - README.md
@@ -95,40 +72,30 @@ files:
95
72
  - lib/vindicia.rb
96
73
  - spec/authenticate.example.rb
97
74
  - spec/vindicia_spec.rb
98
- has_rdoc: true
99
75
  homepage: http://github.com/almlabs/vindicia
100
76
  licenses: []
101
-
102
77
  post_install_message:
103
78
  rdoc_options: []
104
-
105
- require_paths:
79
+ require_paths:
106
80
  - lib
107
- required_ruby_version: !ruby/object:Gem::Requirement
81
+ required_ruby_version: !ruby/object:Gem::Requirement
108
82
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
116
- required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
88
  none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- hash: 3
122
- segments:
123
- - 0
124
- version: "0"
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
125
93
  requirements: []
126
-
127
94
  rubyforge_project:
128
- rubygems_version: 1.6.2
95
+ rubygems_version: 1.8.12
129
96
  signing_key:
130
97
  specification_version: 3
131
98
  summary: Wrapper interface to Vindicia's SOAP API
132
- test_files:
99
+ test_files:
133
100
  - spec/authenticate.example.rb
134
101
  - spec/vindicia_spec.rb