banker 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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