banker 0.0.4 → 0.0.5

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/README.md CHANGED
@@ -21,7 +21,7 @@ and transaction details.
21
21
 
22
22
  Add this line to your application's Gemfile:
23
23
 
24
- gem 'squeegee'
24
+ gem 'banker'
25
25
 
26
26
  And then execute:
27
27
 
@@ -29,7 +29,7 @@ And then execute:
29
29
 
30
30
  Or install it yourself as:
31
31
 
32
- $ gem install squeegee
32
+ $ gem install banker
33
33
 
34
34
  ## Example Usage
35
35
 
@@ -9,7 +9,7 @@ Gem::Specification.new do |gem|
9
9
  gem.summary = gem.description
10
10
 
11
11
  gem.add_runtime_dependency 'mechanize'
12
- gem.add_runtime_dependency 'ofx'
12
+ gem.add_runtime_dependency 'banker-ofx'
13
13
 
14
14
  gem.add_development_dependency "gem-release"
15
15
  gem.add_development_dependency 'rspec'
@@ -75,22 +75,15 @@ module Banker
75
75
  ofx = get(EXPORT_ENDPOINT)
76
76
  ofx = ofx.body.gsub('VERSION="202"','VERSION="200"')
77
77
 
78
- @ofx = OFX(ofx)
79
-
80
- resource = StringIO.new(ofx)
81
- html = Nokogiri::HTML.parse(
82
- Iconv.conv("UTF-8", "LATIN1//IGNORE",resource.read)
83
- )
84
- account_id = html.search("ccacctfrom > acctid").inner_text
85
- currency = html.search("ccstmtrs > curdef").inner_text
86
-
87
- uid = Digest::MD5.hexdigest("Barclayard#{@username}#{account_id}")
88
- @accounts << Banker::Account.new(uid: uid,
89
- name: "Barclaycard",
90
- amount: @ofx.account.balance.amount_in_pennies,
91
- currency: currency,
92
- limit: @limit
93
- )
78
+ OFX(ofx).credit_cards.each_with_object(@accounts) do |account, accounts|
79
+ args = { uid: Digest::MD5.hexdigest("Barclayard#{@username}#{account.id}"),
80
+ name: "Barclaycard #{account.id[-4,4]}",
81
+ amount: account.balance.amount_in_pennies,
82
+ currency: account.currency,
83
+ limit: @limit }
84
+
85
+ accounts << Banker::Account.new(args)
86
+ end
94
87
  end
95
88
  end
96
89
  end
@@ -76,13 +76,14 @@ module Banker
76
76
  end
77
77
 
78
78
  def delivery(ofx)
79
- amount = ofx.account.balance.amount_in_pennies
80
- uid = Digest::MD5.hexdigest("Barclays#{@membership_number}")
81
-
82
- @accounts << Banker::Account.new(uid: uid,
83
- name: "Barclays",
84
- amount: amount
85
- )
79
+ ofx.bank_accounts.each_with_object(@accounts) do |account, accounts|
80
+ args = { uid: Digest::MD5.hexdigest("Barclays#{@membership_number}#{account.id}"),
81
+ name: "Barclays #{account.id[-4,4]}",
82
+ amount: account.balance.amount_in_pennies,
83
+ currency: account.currency }
84
+
85
+ accounts << Banker::Account.new(args)
86
+ end
86
87
  end
87
88
 
88
89
  end
@@ -1,3 +1,3 @@
1
1
  module Banker
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -158,10 +158,6 @@ describe Banker::BarclaycardUK do
158
158
  and_return(stub(body: ofx))
159
159
  subject.new
160
160
  end
161
- it "finds account balance" do
162
-
163
- end
164
- it "finds account limit"
165
161
  end
166
162
  end
167
163
  end
@@ -217,9 +217,10 @@ describe Banker::Barclays do
217
217
  subject.any_instance.stub(:download!).and_return(ofx)
218
218
  end
219
219
 
220
- it { obj.uid.should == 'febcbc946e71cb09820c152c727b9b90' }
221
- it { obj.name.should == 'Barclays' }
220
+ it { obj.uid.should == '077db20dce9425514828c5104b10df51' }
221
+ it { obj.name.should == 'Barclays 1111' }
222
222
  it { obj.amount.should == 410010 }
223
+ it { obj.currency.should == 'GBP' }
223
224
  end
224
225
 
225
226
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: banker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-04-29 00:00:00.000000000 Z
13
+ date: 2012-05-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: mechanize
17
- requirement: &70275203406640 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,15 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70275203406640
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
26
31
  - !ruby/object:Gem::Dependency
27
- name: ofx
28
- requirement: &70275203405920 !ruby/object:Gem::Requirement
32
+ name: banker-ofx
33
+ requirement: !ruby/object:Gem::Requirement
29
34
  none: false
30
35
  requirements:
31
36
  - - ! '>='
@@ -33,10 +38,15 @@ dependencies:
33
38
  version: '0'
34
39
  type: :runtime
35
40
  prerelease: false
36
- version_requirements: *70275203405920
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
37
47
  - !ruby/object:Gem::Dependency
38
48
  name: gem-release
39
- requirement: &70275203405420 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
40
50
  none: false
41
51
  requirements:
42
52
  - - ! '>='
@@ -44,10 +54,15 @@ dependencies:
44
54
  version: '0'
45
55
  type: :development
46
56
  prerelease: false
47
- version_requirements: *70275203405420
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
48
63
  - !ruby/object:Gem::Dependency
49
64
  name: rspec
50
- requirement: &70275203421160 !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
51
66
  none: false
52
67
  requirements:
53
68
  - - ! '>='
@@ -55,10 +70,15 @@ dependencies:
55
70
  version: '0'
56
71
  type: :development
57
72
  prerelease: false
58
- version_requirements: *70275203421160
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
59
79
  - !ruby/object:Gem::Dependency
60
80
  name: webmock
61
- requirement: &70275203420040 !ruby/object:Gem::Requirement
81
+ requirement: !ruby/object:Gem::Requirement
62
82
  none: false
63
83
  requirements:
64
84
  - - ! '>='
@@ -66,10 +86,15 @@ dependencies:
66
86
  version: '0'
67
87
  type: :development
68
88
  prerelease: false
69
- version_requirements: *70275203420040
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
70
95
  - !ruby/object:Gem::Dependency
71
96
  name: simplecov
72
- requirement: &70275203418820 !ruby/object:Gem::Requirement
97
+ requirement: !ruby/object:Gem::Requirement
73
98
  none: false
74
99
  requirements:
75
100
  - - ! '>='
@@ -77,7 +102,12 @@ dependencies:
77
102
  version: '0'
78
103
  type: :development
79
104
  prerelease: false
80
- version_requirements: *70275203418820
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
81
111
  description: A collection of strategies to access online bank accounts to obtain balance
82
112
  and transaction details.
83
113
  email:
@@ -142,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
172
  version: '0'
143
173
  requirements: []
144
174
  rubyforge_project:
145
- rubygems_version: 1.8.17
175
+ rubygems_version: 1.8.24
146
176
  signing_key:
147
177
  specification_version: 3
148
178
  summary: A collection of strategies to access online bank accounts to obtain balance