billwise4r 0.1.0 → 0.1.1
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.
- data/Gemfile.lock +18 -9
- data/README.md +12 -13
- data/VERSION +1 -1
- data/billwise4r.gemspec +82 -0
- data/lib/billwise4r/billwise4r.rb +17 -12
- data/lib/billwise4r.rb +1 -0
- data/spec/billwise4r_spec.rb +2 -4
- data/spec/config/.gitignore +1 -0
- data/spec/config/config.yml +3 -0
- metadata +58 -32
data/Gemfile.lock
CHANGED
@@ -1,25 +1,34 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
awesome_print (0.
|
4
|
+
awesome_print (0.4.0)
|
5
5
|
builder (3.0.0)
|
6
|
-
crack (0.1.8)
|
7
6
|
git (1.2.5)
|
8
|
-
|
7
|
+
gyoku (0.4.4)
|
8
|
+
builder (>= 2.1.2)
|
9
|
+
httpi (0.9.4)
|
10
|
+
pyu-ntlm-http (>= 0.1.3.1)
|
11
|
+
rack
|
12
|
+
jeweler (1.5.2)
|
9
13
|
bundler (~> 1.0.0)
|
10
14
|
git (>= 1.2.5)
|
11
15
|
rake
|
12
|
-
multi_xml (0.2.
|
13
|
-
|
16
|
+
multi_xml (0.2.2)
|
17
|
+
nokogiri (1.4.4)
|
18
|
+
nori (0.2.3)
|
19
|
+
pyu-ntlm-http (0.1.3.1)
|
20
|
+
rack (1.3.0)
|
21
|
+
rake (0.9.2)
|
14
22
|
rcov (0.9.9)
|
15
|
-
|
16
|
-
savon (0.7.9)
|
23
|
+
savon (0.9.2)
|
17
24
|
builder (>= 2.1.2)
|
18
|
-
|
25
|
+
gyoku (>= 0.4.0)
|
26
|
+
httpi (>= 0.7.8)
|
27
|
+
nokogiri (>= 1.4.0)
|
28
|
+
nori (>= 0.2.0)
|
19
29
|
shoulda (2.11.3)
|
20
30
|
|
21
31
|
PLATFORMS
|
22
|
-
java
|
23
32
|
ruby
|
24
33
|
|
25
34
|
DEPENDENCIES
|
data/README.md
CHANGED
@@ -7,22 +7,21 @@ Examples
|
|
7
7
|
--------
|
8
8
|
|
9
9
|
require 'billwise4r'
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
customer = billwise.find_customer(987)
|
10
|
+
billwise = Billwise.new({ :companyCd => 123,
|
11
|
+
:username => 'username',
|
12
|
+
:password => 'password',
|
13
|
+
:wsdl_url => 'https://cwa021.connect4billing.com/axis2/services/ConnectSmService?wsdl',
|
14
|
+
:endpoint => 'https://cwa021.connect4billing.com/axis2/services/ConnectSmService.ConnectSmServiceHttpSoap12Endpoint/',
|
15
|
+
:namespace => 'http://connectsm.ws.bwse.com/xsd',
|
16
|
+
:log => true,
|
17
|
+
:log_evel => :debug })
|
18
|
+
customer = billwise.find_customer(:customerCd => '000987')
|
20
19
|
services = billwise.find_services({ :customerCd => '000123',
|
21
|
-
|
22
|
-
|
20
|
+
:serviceId => 'A000000000000456',
|
21
|
+
:status => 'A' })
|
23
22
|
|
24
23
|
Copyright
|
25
24
|
---------
|
26
25
|
|
27
|
-
Copyright (c) 2010 Jason Goecke. See LICENSE.txt for further details.
|
26
|
+
Copyright (c) 2010, 2011 Jason Goecke. See LICENSE.txt for further details.
|
28
27
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/billwise4r.gemspec
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{billwise4r}
|
8
|
+
s.version = "0.1.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Jason Goecke"]
|
12
|
+
s.date = %q{2011-06-07}
|
13
|
+
s.description = %q{Ruby lib for consuming the Billwise SOAP/XML API}
|
14
|
+
s.email = %q{jason@goecke.net}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.md"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
"Gemfile",
|
22
|
+
"Gemfile.lock",
|
23
|
+
"LICENSE.txt",
|
24
|
+
"README.md",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"billwise4r.gemspec",
|
28
|
+
"lib/billwise4r.rb",
|
29
|
+
"lib/billwise4r/billwise4r.rb",
|
30
|
+
"spec/billwise4r_spec.rb",
|
31
|
+
"spec/config/.gitignore",
|
32
|
+
"spec/config/config.yml",
|
33
|
+
"spec/connect_sm_service.wsdl",
|
34
|
+
"spec/spec_helper.rb"
|
35
|
+
]
|
36
|
+
s.homepage = %q{http://github.com/tropo/billwise4r}
|
37
|
+
s.licenses = ["MIT"]
|
38
|
+
s.require_paths = ["lib"]
|
39
|
+
s.rubygems_version = %q{1.5.0}
|
40
|
+
s.summary = %q{Ruby lib for consuming the Billwise SOAP/XML API}
|
41
|
+
s.test_files = [
|
42
|
+
"spec/billwise4r_spec.rb",
|
43
|
+
"spec/spec_helper.rb"
|
44
|
+
]
|
45
|
+
|
46
|
+
if s.respond_to? :specification_version then
|
47
|
+
s.specification_version = 3
|
48
|
+
|
49
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
|
+
s.add_runtime_dependency(%q<savon>, [">= 0"])
|
51
|
+
s.add_runtime_dependency(%q<multi_xml>, [">= 0"])
|
52
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
53
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
54
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
|
55
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
56
|
+
s.add_development_dependency(%q<awesome_print>, [">= 0"])
|
57
|
+
s.add_runtime_dependency(%q<savon>, [">= 0"])
|
58
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
59
|
+
else
|
60
|
+
s.add_dependency(%q<savon>, [">= 0"])
|
61
|
+
s.add_dependency(%q<multi_xml>, [">= 0"])
|
62
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
63
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
64
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
65
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
66
|
+
s.add_dependency(%q<awesome_print>, [">= 0"])
|
67
|
+
s.add_dependency(%q<savon>, [">= 0"])
|
68
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
69
|
+
end
|
70
|
+
else
|
71
|
+
s.add_dependency(%q<savon>, [">= 0"])
|
72
|
+
s.add_dependency(%q<multi_xml>, [">= 0"])
|
73
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
74
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
75
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
76
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
77
|
+
s.add_dependency(%q<awesome_print>, [">= 0"])
|
78
|
+
s.add_dependency(%q<savon>, [">= 0"])
|
79
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
@@ -9,18 +9,22 @@ class Billwise
|
|
9
9
|
@companyCd = params[:companyCd]
|
10
10
|
log = params[:log] || false
|
11
11
|
log_level = params[:log_level] || false
|
12
|
-
|
13
|
-
#Build our SOAP driver
|
14
|
-
Savon::SOAP.version = 2
|
15
|
-
Savon::WSSE.username = params[:username]
|
16
|
-
Savon::WSSE.password = params[:password]
|
17
|
-
Savon::Request.log = log
|
18
|
-
Savon::Request.log_level = log_level
|
19
12
|
|
20
|
-
|
13
|
+
Savon.configure do |config|
|
14
|
+
config.log = log
|
15
|
+
config.log_level = log_level
|
16
|
+
end
|
17
|
+
|
21
18
|
@soap_endpoint = URI.parse params[:endpoint] || 'https://cwa021.connect4billing.com/axis2/services/ConnectSmService.ConnectSmServiceHttpSoap12Endpoint/'
|
22
|
-
@soap_namespace =
|
19
|
+
@soap_namespace = params[:namespace] || 'http://connectsm.ws.bwse.com/xsd'
|
20
|
+
@soap_version = 2
|
23
21
|
|
22
|
+
# Build our SOAP driver
|
23
|
+
@soap_driver = Savon::Client.new do
|
24
|
+
wsse.credentials params[:username] , params[:password]
|
25
|
+
wsdl.document = params[:wsdlUrl] || 'https://cwa021.connect4billing.com/axis2/services/ConnectSmService?wsdl'
|
26
|
+
end
|
27
|
+
|
24
28
|
@tag_order = tag_order
|
25
29
|
|
26
30
|
MultiXml.parser = :nokogiri
|
@@ -32,9 +36,10 @@ class Billwise
|
|
32
36
|
#
|
33
37
|
# @return [Hash] the Billwise response
|
34
38
|
def method_missing(method, params)
|
35
|
-
response = @soap_driver.
|
39
|
+
response = @soap_driver.request(:xsd, method) do |soap, wsse|
|
40
|
+
soap.version = @soap_version
|
36
41
|
soap.endpoint = @soap_endpoint
|
37
|
-
soap.namespaces["xmlns:
|
42
|
+
soap.namespaces["xmlns:xsd"] = @soap_namespace
|
38
43
|
|
39
44
|
fields = { :companyCd => @companyCd }.merge!(params)
|
40
45
|
fields.merge!({ :order! => @tag_order[method] }) if @tag_order[method]
|
@@ -62,7 +67,7 @@ class Billwise
|
|
62
67
|
# @return [Hash] the methods and their ordered parameters
|
63
68
|
def tag_order
|
64
69
|
actions = {}
|
65
|
-
MultiXml.parse(@soap_driver.wsdl.
|
70
|
+
MultiXml.parse(@soap_driver.wsdl.to_xml)['definitions']['types']['schema'][2]['element'].each do |action|
|
66
71
|
attributes = []
|
67
72
|
if action['complexType']['sequence']['element'].instance_of?(Hash)
|
68
73
|
attributes << action['complexType']['sequence']['element']['name'].to_sym
|
data/lib/billwise4r.rb
CHANGED
data/spec/billwise4r_spec.rb
CHANGED
@@ -2,10 +2,8 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
2
|
|
3
3
|
describe "Billwise" do
|
4
4
|
before(:all) do
|
5
|
-
|
6
|
-
|
7
|
-
:password => 'pass',
|
8
|
-
:log => false }
|
5
|
+
config = YAML.load(File.open('spec/config/config.yml'))
|
6
|
+
@options = config.merge!({ :log => false })
|
9
7
|
|
10
8
|
@billwise = Billwise.new @options
|
11
9
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
config.yml
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: billwise4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 25
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Jason Goecke
|
@@ -14,120 +15,138 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date:
|
18
|
+
date: 2011-06-07 00:00:00 -07:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
type: :runtime
|
22
|
-
|
23
|
-
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
24
25
|
requirements:
|
25
26
|
- - ">="
|
26
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
27
29
|
segments:
|
28
30
|
- 0
|
29
31
|
version: "0"
|
30
|
-
|
32
|
+
name: savon
|
33
|
+
version_requirements: *id001
|
31
34
|
prerelease: false
|
32
35
|
- !ruby/object:Gem::Dependency
|
33
36
|
type: :runtime
|
34
|
-
|
35
|
-
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
36
39
|
requirements:
|
37
40
|
- - ">="
|
38
41
|
- !ruby/object:Gem::Version
|
42
|
+
hash: 3
|
39
43
|
segments:
|
40
44
|
- 0
|
41
45
|
version: "0"
|
42
|
-
|
46
|
+
name: multi_xml
|
47
|
+
version_requirements: *id002
|
43
48
|
prerelease: false
|
44
49
|
- !ruby/object:Gem::Dependency
|
45
50
|
type: :development
|
46
|
-
|
47
|
-
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
48
53
|
requirements:
|
49
54
|
- - ">="
|
50
55
|
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
51
57
|
segments:
|
52
58
|
- 0
|
53
59
|
version: "0"
|
54
|
-
|
60
|
+
name: shoulda
|
61
|
+
version_requirements: *id003
|
55
62
|
prerelease: false
|
56
63
|
- !ruby/object:Gem::Dependency
|
57
64
|
type: :development
|
58
|
-
|
59
|
-
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
60
67
|
requirements:
|
61
68
|
- - ~>
|
62
69
|
- !ruby/object:Gem::Version
|
70
|
+
hash: 23
|
63
71
|
segments:
|
64
72
|
- 1
|
65
73
|
- 0
|
66
74
|
- 0
|
67
75
|
version: 1.0.0
|
68
|
-
|
76
|
+
name: bundler
|
77
|
+
version_requirements: *id004
|
69
78
|
prerelease: false
|
70
79
|
- !ruby/object:Gem::Dependency
|
71
80
|
type: :development
|
72
|
-
|
73
|
-
|
81
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
74
83
|
requirements:
|
75
84
|
- - ~>
|
76
85
|
- !ruby/object:Gem::Version
|
86
|
+
hash: 1
|
77
87
|
segments:
|
78
88
|
- 1
|
79
89
|
- 5
|
80
90
|
- 1
|
81
91
|
version: 1.5.1
|
82
|
-
|
92
|
+
name: jeweler
|
93
|
+
version_requirements: *id005
|
83
94
|
prerelease: false
|
84
95
|
- !ruby/object:Gem::Dependency
|
85
96
|
type: :development
|
86
|
-
|
87
|
-
|
97
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
88
99
|
requirements:
|
89
100
|
- - ">="
|
90
101
|
- !ruby/object:Gem::Version
|
102
|
+
hash: 3
|
91
103
|
segments:
|
92
104
|
- 0
|
93
105
|
version: "0"
|
94
|
-
|
106
|
+
name: rcov
|
107
|
+
version_requirements: *id006
|
95
108
|
prerelease: false
|
96
109
|
- !ruby/object:Gem::Dependency
|
97
110
|
type: :development
|
98
|
-
|
99
|
-
|
111
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
112
|
+
none: false
|
100
113
|
requirements:
|
101
114
|
- - ">="
|
102
115
|
- !ruby/object:Gem::Version
|
116
|
+
hash: 3
|
103
117
|
segments:
|
104
118
|
- 0
|
105
119
|
version: "0"
|
106
|
-
|
120
|
+
name: awesome_print
|
121
|
+
version_requirements: *id007
|
107
122
|
prerelease: false
|
108
123
|
- !ruby/object:Gem::Dependency
|
109
124
|
type: :runtime
|
110
|
-
|
111
|
-
|
125
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
112
127
|
requirements:
|
113
128
|
- - ">="
|
114
129
|
- !ruby/object:Gem::Version
|
130
|
+
hash: 3
|
115
131
|
segments:
|
116
132
|
- 0
|
117
133
|
version: "0"
|
118
|
-
|
134
|
+
name: savon
|
135
|
+
version_requirements: *id008
|
119
136
|
prerelease: false
|
120
137
|
- !ruby/object:Gem::Dependency
|
121
138
|
type: :development
|
122
|
-
|
123
|
-
|
139
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
124
141
|
requirements:
|
125
142
|
- - ">="
|
126
143
|
- !ruby/object:Gem::Version
|
144
|
+
hash: 3
|
127
145
|
segments:
|
128
146
|
- 0
|
129
147
|
version: "0"
|
130
|
-
|
148
|
+
name: rspec
|
149
|
+
version_requirements: *id009
|
131
150
|
prerelease: false
|
132
151
|
description: Ruby lib for consuming the Billwise SOAP/XML API
|
133
152
|
email: jason@goecke.net
|
@@ -146,9 +165,12 @@ files:
|
|
146
165
|
- README.md
|
147
166
|
- Rakefile
|
148
167
|
- VERSION
|
168
|
+
- billwise4r.gemspec
|
149
169
|
- lib/billwise4r.rb
|
150
170
|
- lib/billwise4r/billwise4r.rb
|
151
171
|
- spec/billwise4r_spec.rb
|
172
|
+
- spec/config/.gitignore
|
173
|
+
- spec/config/config.yml
|
152
174
|
- spec/connect_sm_service.wsdl
|
153
175
|
- spec/spec_helper.rb
|
154
176
|
has_rdoc: true
|
@@ -161,23 +183,27 @@ rdoc_options: []
|
|
161
183
|
require_paths:
|
162
184
|
- lib
|
163
185
|
required_ruby_version: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
164
187
|
requirements:
|
165
188
|
- - ">="
|
166
189
|
- !ruby/object:Gem::Version
|
190
|
+
hash: 3
|
167
191
|
segments:
|
168
192
|
- 0
|
169
193
|
version: "0"
|
170
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
|
+
none: false
|
171
196
|
requirements:
|
172
197
|
- - ">="
|
173
198
|
- !ruby/object:Gem::Version
|
199
|
+
hash: 3
|
174
200
|
segments:
|
175
201
|
- 0
|
176
202
|
version: "0"
|
177
203
|
requirements: []
|
178
204
|
|
179
205
|
rubyforge_project:
|
180
|
-
rubygems_version: 1.
|
206
|
+
rubygems_version: 1.5.0
|
181
207
|
signing_key:
|
182
208
|
specification_version: 3
|
183
209
|
summary: Ruby lib for consuming the Billwise SOAP/XML API
|