wells_fargo 0.2.0

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.
Files changed (67) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +4 -0
  3. data/PM XML Sample.xml +5260 -0
  4. data/PM XML Schema.xml +539 -0
  5. data/Rakefile +17 -0
  6. data/lib/schema.xml +539 -0
  7. data/lib/wells_fargo/element.rb +77 -0
  8. data/lib/wells_fargo/elements/account_reporting.rb +14 -0
  9. data/lib/wells_fargo/elements/additional_details.rb +10 -0
  10. data/lib/wells_fargo/elements/amt_group.rb +11 -0
  11. data/lib/wells_fargo/elements/bank_id.rb +9 -0
  12. data/lib/wells_fargo/elements/bank_info.rb +14 -0
  13. data/lib/wells_fargo/elements/check.rb +14 -0
  14. data/lib/wells_fargo/elements/contact_info.rb +11 -0
  15. data/lib/wells_fargo/elements/cur_amt.rb +9 -0
  16. data/lib/wells_fargo/elements/date_info.rb +9 -0
  17. data/lib/wells_fargo/elements/deductions.rb +9 -0
  18. data/lib/wells_fargo/elements/deductions_total.rb +9 -0
  19. data/lib/wells_fargo/elements/delivery.rb +28 -0
  20. data/lib/wells_fargo/elements/delivery_party.rb +12 -0
  21. data/lib/wells_fargo/elements/dep_acct_id.rb +11 -0
  22. data/lib/wells_fargo/elements/doc_delivery.rb +10 -0
  23. data/lib/wells_fargo/elements/earnings.rb +10 -0
  24. data/lib/wells_fargo/elements/earnings_total.rb +10 -0
  25. data/lib/wells_fargo/elements/edd_biller_id.rb +9 -0
  26. data/lib/wells_fargo/elements/eff_dt.rb +9 -0
  27. data/lib/wells_fargo/elements/exemptions.rb +12 -0
  28. data/lib/wells_fargo/elements/file.rb +14 -0
  29. data/lib/wells_fargo/elements/file_info_grp.rb +12 -0
  30. data/lib/wells_fargo/elements/file_out.rb +11 -0
  31. data/lib/wells_fargo/elements/id_info.rb +9 -0
  32. data/lib/wells_fargo/elements/intermediary_dep_acct_id.rb +9 -0
  33. data/lib/wells_fargo/elements/invoice_adj.rb +15 -0
  34. data/lib/wells_fargo/elements/invoice_info.rb +20 -0
  35. data/lib/wells_fargo/elements/invoice_mgr.rb +9 -0
  36. data/lib/wells_fargo/elements/message.rb +9 -0
  37. data/lib/wells_fargo/elements/name.rb +11 -0
  38. data/lib/wells_fargo/elements/name_map.rb +25 -0
  39. data/lib/wells_fargo/elements/note.rb +9 -0
  40. data/lib/wells_fargo/elements/orgnr_dep_acct_id.rb +9 -0
  41. data/lib/wells_fargo/elements/orgnr_party.rb +12 -0
  42. data/lib/wells_fargo/elements/payroll.rb +18 -0
  43. data/lib/wells_fargo/elements/phone_num.rb +10 -0
  44. data/lib/wells_fargo/elements/pmt_detail.rb +10 -0
  45. data/lib/wells_fargo/elements/pmt_rec.rb +41 -0
  46. data/lib/wells_fargo/elements/pmt_supp_ccr.rb +13 -0
  47. data/lib/wells_fargo/elements/pmt_supp_fdm.rb +12 -0
  48. data/lib/wells_fargo/elements/pmt_supp_pob.rb +9 -0
  49. data/lib/wells_fargo/elements/pmt_supp_wtx.rb +22 -0
  50. data/lib/wells_fargo/elements/po_info.rb +10 -0
  51. data/lib/wells_fargo/elements/post_addr.rb +16 -0
  52. data/lib/wells_fargo/elements/ra_info.rb +11 -0
  53. data/lib/wells_fargo/elements/rcvr_dep_acct_id.rb +9 -0
  54. data/lib/wells_fargo/elements/rcvr_party.rb +12 -0
  55. data/lib/wells_fargo/elements/ref_info.rb +10 -0
  56. data/lib/wells_fargo/elements/return_party.rb +12 -0
  57. data/lib/wells_fargo/elements/tax_info.rb +11 -0
  58. data/lib/wells_fargo/elements/vendor_party.rb +12 -0
  59. data/lib/wells_fargo/payment_manager.rb +27 -0
  60. data/lib/wells_fargo/schema.rb +84 -0
  61. data/lib/wells_fargo/version.rb +3 -0
  62. data/lib/wells_fargo.rb +26 -0
  63. data/test/element_test.rb +123 -0
  64. data/test/payment_manager_test.rb +31 -0
  65. data/test/test_helper.rb +3 -0
  66. data/wells_fargo.gemspec +24 -0
  67. metadata +162 -0
@@ -0,0 +1,12 @@
1
+ module WellsFargo
2
+ class Element
3
+ class VendorParty < WellsFargo::Element
4
+
5
+
6
+ child :name
7
+ child :ref_info
8
+ child :post_addr
9
+ child :contact_info
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,27 @@
1
+ module WellsFargo
2
+ class PaymentManager
3
+ def initialize(business_name, options = {})
4
+ @elements = []
5
+ @business_name = business_name
6
+ @options = options
7
+ end
8
+
9
+ def file
10
+ @xml = Builder::XmlMarkup.new(:indent => 2)
11
+ attributes = {}
12
+ attributes['CompanyID'] = @business_name
13
+ attributes['xmlns:xsi'] = "http://www.w3.org/2001/XMLSchema-instance"
14
+ attributes['PmtRecCount'] = @options[:pmg_rec_count] if @options[:pmg_rec_count]
15
+ attributes['PmtRecTotal'] = @options[:pmg_rec_total] if @options[:pmg_rec_total]
16
+ root = WellsFargo::Element::File.new(@xml, attributes)
17
+ @xml.instruct!
18
+ @xml.tag! root.element_name, root.attributes do
19
+ yield root
20
+ end
21
+ end
22
+
23
+ def to_xml
24
+ @xml.target!
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,84 @@
1
+ module WellsFargo
2
+ module Schema
3
+
4
+ Schema = File.expand_path File.join(File.dirname(__FILE__), '..', 'schema.xml')
5
+ ElementDir = File.expand_path File.join(File.dirname(__FILE__), 'elements')
6
+ NameMapFile = File.expand_path File.join(ElementDir, 'name_map.rb')
7
+ class << self
8
+
9
+ def NameMap
10
+ Marshal.load File.read(NameMapFile)
11
+ rescue Errno::ENOENT
12
+ {}
13
+ end
14
+
15
+ def generate_element_files
16
+ @name_map = {}
17
+ schema do |definition|
18
+ class_name = definition.attributes['name'].value
19
+ file = File.join(ElementDir, "#{WellsFargo.underscore class_name}.rb")
20
+ puts "Writing #{class_name} => #{File.basename file}"
21
+ File.open(file, 'w') do |f|
22
+ f.write <<-EOF
23
+ module WellsFargo
24
+ class Element
25
+ class #{class_name} < WellsFargo::Element
26
+ #{(definition / 'xsd|attribute').map do |attr|
27
+
28
+ name = attr.attributes['name'].value.gsub(/\s+/, '')
29
+ @name_map[WellsFargo.underscore name] = name
30
+ name = WellsFargo.underscore name
31
+
32
+ use = attr.attributes['use']
33
+
34
+ if use && 'required' == use.value
35
+ " required_attribute :#{name}"
36
+ else
37
+ " attribute :#{name}"
38
+ end
39
+ end.join("\n")}
40
+
41
+ #{(definition / 'xsd|element').map do |element|
42
+
43
+ name = (element.attributes['ref'] || element.attributes['name']).value.gsub(/\s+/, '')
44
+ @name_map[WellsFargo.underscore name] = name
45
+ name = WellsFargo.underscore name
46
+ options = {}
47
+ limit = ((max = element.attributes['maxOccurs']) && max && max.value).to_i
48
+ options[:limit] = limit if limit > 0
49
+ options[:simple] = true if element.attributes['ref'].nil?
50
+
51
+ if {} == options
52
+ " child :#{name}"
53
+ else
54
+ " child :#{name}, :limit => #{limit}"
55
+ end
56
+ end.join("\n")}
57
+ end
58
+ end
59
+ end
60
+ EOF
61
+ end
62
+ save_name_map
63
+ end
64
+ end
65
+
66
+ def schema
67
+ (load_schema / 'xsd|schema > xsd|element').each do |element|
68
+ yield element
69
+ end
70
+ end
71
+
72
+ protected
73
+
74
+ def save_name_map
75
+ File.open(NameMapFile, 'w') {|f| f.write Marshal.dump(@name_map) }
76
+ end
77
+
78
+ def load_schema
79
+ require 'nokogiri'
80
+ Nokogiri::XML File.read(Schema)
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,3 @@
1
+ module WellsFargo
2
+ VERSION = "0.2.0"
3
+ end
@@ -0,0 +1,26 @@
1
+ module WellsFargo
2
+ extend self
3
+
4
+ # swiped from ActiveSupport
5
+ def camelize word
6
+ word.to_s.gsub(/\/(.?)/) {
7
+ "::#{$1.upcase}"
8
+ }.gsub(/(?:^|_)(.)/) {
9
+ $1.upcase
10
+ }
11
+ end
12
+
13
+ def underscore word
14
+ word = word.to_s.dup
15
+ word.gsub! /([A-Z]+)([A-Z][a-z])/,'\1_\2'
16
+ word.gsub! /([a-z\d])([A-Z])/,'\1_\2'
17
+ word.tr! "-", "_"
18
+ word.downcase!
19
+ word
20
+ end
21
+ end
22
+
23
+ require 'builder'
24
+ require File.expand_path File.join(File.dirname(__FILE__), 'wells_fargo', 'payment_manager')
25
+ require File.expand_path File.join(File.dirname(__FILE__), 'wells_fargo', 'schema')
26
+ require File.expand_path File.join(File.dirname(__FILE__), 'wells_fargo', 'element')
@@ -0,0 +1,123 @@
1
+ require File.expand_path File.join(File.dirname(__FILE__), 'test_helper')
2
+
3
+ class ElementTest < Test::Unit::TestCase
4
+ context "with simple xml calls" do
5
+ setup {
6
+ @xml = Builder::XmlMarkup.new
7
+ element = WellsFargo::Element::PmtRec.new(@xml, :PmtFormat => 'CHK')
8
+ @xml.tag! element.element_name, element.attributes do
9
+ @xml.CurAmt '290.00'
10
+ end
11
+ }
12
+ should "be able to render to xml" do
13
+ assert_equal '<PmtRec PmtFormat="CHK"><CurAmt>290.00</CurAmt></PmtRec>',
14
+ @xml.target!
15
+ end
16
+ end
17
+ context "with DSL calls" do
18
+ setup {
19
+ @xml = Builder::XmlMarkup.new
20
+ payment = WellsFargo::Element::PmtRec.new(@xml, :PmtFormat => 'CHK')
21
+ @xml.tag! payment.element_name, payment.attributes do |x|
22
+ payment.cur_amt '290.00'
23
+ end
24
+ }
25
+ should "be able to render to xml" do
26
+ assert_equal '<PmtRec PmtFormat="CHK"><CurAmt>290.00</CurAmt></PmtRec>',
27
+ @xml.target!
28
+ end
29
+ end
30
+ context "with many child nodes" do
31
+ setup {
32
+ @xml = Builder::XmlMarkup.new(:indent => 2)
33
+ file = WellsFargo::Element::File.new(@xml, {})
34
+ @xml.tag! file.element_name do
35
+ file.pmt_rec :PmtFormat => 'CHK' do |payment|
36
+ payment.ref_info :RefType => 'IA' do |ref|
37
+ ref.ref_id 'Insert1'
38
+ end
39
+ payment.ref_info :RefType => '5A' do |ref|
40
+ ref.ref_id 'Flex Field Data'
41
+ end
42
+ payment.ref_info :RefType => '1A' do |ref|
43
+ ref.ref_id 'Inline Insert1'
44
+ end
45
+ payment.message :MsgType => 'CHK' do |message|
46
+ message.msg_text 'This is the Check Memo Field'
47
+ end
48
+ payment.check do |check|
49
+ check.chk_num 2001
50
+ check.chk_doc_num 444333556612345000
51
+ check.chk_ctrl_num 'Courier Name Here'
52
+ check.courier_account 'AJ1247BHER24'
53
+ check.delivery_code 400
54
+ end
55
+ payment.orgnr_party do |party|
56
+ party.name do |name|
57
+ name.name1 'ABC Corporation'
58
+ end
59
+ party.ref_info :RefType => 'A7' do |ref|
60
+ ref.ref_id 'CHKIMG123'
61
+ ref.ref_desc 'Check Image description'
62
+ end
63
+ party.post_addr do |address|
64
+ address.addr1 '321 Main Street'
65
+ address.addr2 'Suite 2'
66
+ address.city 'Phoenix'
67
+ address.state_prov 'AZ'
68
+ address.postal_code '85003'
69
+ address.country 'US'
70
+ address.country_name 'United States'
71
+ end
72
+ end
73
+ end
74
+ end
75
+ }
76
+ should "generate proper nested XML" do
77
+ assert_equal NESTED, @xml.target!
78
+ end
79
+ end
80
+ NESTED = <<NESTED
81
+ <File>
82
+ <PmtRec PmtFormat="CHK">
83
+ <RefInfo RefType="IA">
84
+ <RefID>Insert1</RefID>
85
+ </RefInfo>
86
+ <RefInfo RefType="5A">
87
+ <RefID>Flex Field Data</RefID>
88
+ </RefInfo>
89
+ <RefInfo RefType="1A">
90
+ <RefID>Inline Insert1</RefID>
91
+ </RefInfo>
92
+ <Message MsgType="CHK">
93
+ <MsgText>This is the Check Memo Field</MsgText>
94
+ </Message>
95
+ <Check>
96
+ <ChkNum>2001</ChkNum>
97
+ <ChkDocNum>444333556612345000</ChkDocNum>
98
+ <ChkCtrlNum>Courier Name Here</ChkCtrlNum>
99
+ <CourierAccount>AJ1247BHER24</CourierAccount>
100
+ <DeliveryCode>400</DeliveryCode>
101
+ </Check>
102
+ <OrgnrParty>
103
+ <Name>
104
+ <Name1>ABC Corporation</Name1>
105
+ </Name>
106
+ <RefInfo RefType="A7">
107
+ <RefID>CHKIMG123</RefID>
108
+ <RefDesc>Check Image description</RefDesc>
109
+ </RefInfo>
110
+ <PostAddr>
111
+ <Addr1>321 Main Street</Addr1>
112
+ <Addr2>Suite 2</Addr2>
113
+ <City>Phoenix</City>
114
+ <StateProv>AZ</StateProv>
115
+ <PostalCode>85003</PostalCode>
116
+ <Country>US</Country>
117
+ <CountryName>United States</CountryName>
118
+ </PostAddr>
119
+ </OrgnrParty>
120
+ </PmtRec>
121
+ </File>
122
+ NESTED
123
+ end
@@ -0,0 +1,31 @@
1
+ require File.expand_path File.join(File.dirname(__FILE__), 'test_helper')
2
+
3
+ class PaymentManagerTest < Test::Unit::TestCase
4
+ context "generating a new file" do
5
+ setup {
6
+ @manager = WellsFargo::PaymentManager.new('TestCompany')
7
+ }
8
+ context "with one simple element" do
9
+ setup {
10
+ @manager.file do |file|
11
+ file.file_info_grp 'Content'
12
+ end
13
+ }
14
+ should "print proper xml instruct" do
15
+ assert @manager.to_xml =~ %r{<\?xml version="1.0" encoding="UTF-8"\?>}
16
+ end
17
+ should "nest file_info_grp under <File> tag" do
18
+ assert @manager.to_xml =~ %r{<File.*>\n\s*<FileInfoGrp}
19
+ end
20
+ should "indent with two spaces" do
21
+ assert_equal NESTED, @manager.to_xml
22
+ end
23
+ end
24
+ end
25
+ NESTED = <<-NESTED
26
+ <?xml version="1.0" encoding="UTF-8"?>
27
+ <File CompanyID="TestCompany" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
28
+ <FileInfoGrp>Content</FileInfoGrp>
29
+ </File>
30
+ NESTED
31
+ end
@@ -0,0 +1,3 @@
1
+ require 'test/unit'
2
+ require File.expand_path File.join(File.dirname(__FILE__), '..', 'lib', 'wells_fargo')
3
+ require 'shoulda'
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "wells_fargo/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "wells_fargo"
7
+ s.version = WellsFargo::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Jack Danger Canty"]
10
+ s.email = ["rubygems@6brand.com"]
11
+ s.homepage = "http://github.com/JackDanger/wells_fargo"
12
+ s.summary = %q{Client for the Wells Fargo Payment Manager service}
13
+ s.description = %q{Outsource your check writing and other payment services to Wells Fargo's API via this Ruby client.}
14
+
15
+ s.rubyforge_project = "wells_fargo"
16
+
17
+ s.add_dependency 'builder'
18
+ s.add_development_dependency 'shoulda'
19
+
20
+ s.files = `git ls-files`.split("\n")
21
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
23
+ s.require_paths = ["lib"]
24
+ end
metadata ADDED
@@ -0,0 +1,162 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wells_fargo
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
+ platform: ruby
12
+ authors:
13
+ - Jack Danger Canty
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-03-07 00:00:00 -08:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: builder
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: shoulda
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :development
48
+ version_requirements: *id002
49
+ description: Outsource your check writing and other payment services to Wells Fargo's API via this Ruby client.
50
+ email:
51
+ - rubygems@6brand.com
52
+ executables: []
53
+
54
+ extensions: []
55
+
56
+ extra_rdoc_files: []
57
+
58
+ files:
59
+ - .gitignore
60
+ - Gemfile
61
+ - PM XML Sample.xml
62
+ - PM XML Schema.xml
63
+ - Rakefile
64
+ - lib/schema.xml
65
+ - lib/wells_fargo.rb
66
+ - lib/wells_fargo/element.rb
67
+ - lib/wells_fargo/elements/account_reporting.rb
68
+ - lib/wells_fargo/elements/additional_details.rb
69
+ - lib/wells_fargo/elements/amt_group.rb
70
+ - lib/wells_fargo/elements/bank_id.rb
71
+ - lib/wells_fargo/elements/bank_info.rb
72
+ - lib/wells_fargo/elements/check.rb
73
+ - lib/wells_fargo/elements/contact_info.rb
74
+ - lib/wells_fargo/elements/cur_amt.rb
75
+ - lib/wells_fargo/elements/date_info.rb
76
+ - lib/wells_fargo/elements/deductions.rb
77
+ - lib/wells_fargo/elements/deductions_total.rb
78
+ - lib/wells_fargo/elements/delivery.rb
79
+ - lib/wells_fargo/elements/delivery_party.rb
80
+ - lib/wells_fargo/elements/dep_acct_id.rb
81
+ - lib/wells_fargo/elements/doc_delivery.rb
82
+ - lib/wells_fargo/elements/earnings.rb
83
+ - lib/wells_fargo/elements/earnings_total.rb
84
+ - lib/wells_fargo/elements/edd_biller_id.rb
85
+ - lib/wells_fargo/elements/eff_dt.rb
86
+ - lib/wells_fargo/elements/exemptions.rb
87
+ - lib/wells_fargo/elements/file.rb
88
+ - lib/wells_fargo/elements/file_info_grp.rb
89
+ - lib/wells_fargo/elements/file_out.rb
90
+ - lib/wells_fargo/elements/id_info.rb
91
+ - lib/wells_fargo/elements/intermediary_dep_acct_id.rb
92
+ - lib/wells_fargo/elements/invoice_adj.rb
93
+ - lib/wells_fargo/elements/invoice_info.rb
94
+ - lib/wells_fargo/elements/invoice_mgr.rb
95
+ - lib/wells_fargo/elements/message.rb
96
+ - lib/wells_fargo/elements/name.rb
97
+ - lib/wells_fargo/elements/name_map.rb
98
+ - lib/wells_fargo/elements/note.rb
99
+ - lib/wells_fargo/elements/orgnr_dep_acct_id.rb
100
+ - lib/wells_fargo/elements/orgnr_party.rb
101
+ - lib/wells_fargo/elements/payroll.rb
102
+ - lib/wells_fargo/elements/phone_num.rb
103
+ - lib/wells_fargo/elements/pmt_detail.rb
104
+ - lib/wells_fargo/elements/pmt_rec.rb
105
+ - lib/wells_fargo/elements/pmt_supp_ccr.rb
106
+ - lib/wells_fargo/elements/pmt_supp_fdm.rb
107
+ - lib/wells_fargo/elements/pmt_supp_pob.rb
108
+ - lib/wells_fargo/elements/pmt_supp_wtx.rb
109
+ - lib/wells_fargo/elements/po_info.rb
110
+ - lib/wells_fargo/elements/post_addr.rb
111
+ - lib/wells_fargo/elements/ra_info.rb
112
+ - lib/wells_fargo/elements/rcvr_dep_acct_id.rb
113
+ - lib/wells_fargo/elements/rcvr_party.rb
114
+ - lib/wells_fargo/elements/ref_info.rb
115
+ - lib/wells_fargo/elements/return_party.rb
116
+ - lib/wells_fargo/elements/tax_info.rb
117
+ - lib/wells_fargo/elements/vendor_party.rb
118
+ - lib/wells_fargo/payment_manager.rb
119
+ - lib/wells_fargo/schema.rb
120
+ - lib/wells_fargo/version.rb
121
+ - test/element_test.rb
122
+ - test/payment_manager_test.rb
123
+ - test/test_helper.rb
124
+ - wells_fargo.gemspec
125
+ has_rdoc: true
126
+ homepage: http://github.com/JackDanger/wells_fargo
127
+ licenses: []
128
+
129
+ post_install_message:
130
+ rdoc_options: []
131
+
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ hash: 3
140
+ segments:
141
+ - 0
142
+ version: "0"
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ hash: 3
149
+ segments:
150
+ - 0
151
+ version: "0"
152
+ requirements: []
153
+
154
+ rubyforge_project: wells_fargo
155
+ rubygems_version: 1.4.2
156
+ signing_key:
157
+ specification_version: 3
158
+ summary: Client for the Wells Fargo Payment Manager service
159
+ test_files:
160
+ - test/element_test.rb
161
+ - test/payment_manager_test.rb
162
+ - test/test_helper.rb