kontoapi-ruby 0.1.1 → 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.
- data/README.markdown +16 -4
- data/VERSION +1 -1
- data/kontoapi-ruby.gemspec +8 -8
- data/lib/kontoapi-ruby.rb +3 -3
- data/spec/kontoapi-ruby_spec.rb +10 -10
- metadata +34 -34
data/README.markdown
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Konto API Ruby Library
|
2
2
|
======================
|
3
3
|
|
4
|
-
This library provides an easy way to access the Konto API
|
4
|
+
This library provides an easy way to access the [Konto API](https://www.kontoapi.de/), a webservice that performs validity checks and other services regarding german and international bank accounts.
|
5
5
|
|
6
6
|
INSTALLATION
|
7
7
|
------------
|
@@ -19,10 +19,22 @@ USAGE
|
|
19
19
|
# optional settings
|
20
20
|
KontoAPI::timeout = 10 # 10 seconds is the default
|
21
21
|
|
22
|
-
# Check account validity: KontoAPI::valid?(
|
23
|
-
KontoAPI::valid?('1234567', '12312312')
|
22
|
+
# Check account validity: KontoAPI::valid?(options)
|
23
|
+
KontoAPI::valid?( :ktn => '1234567', :blz => '12312312' )
|
24
24
|
#=> false
|
25
|
-
KontoAPI::valid?('49379110', '10010010')
|
25
|
+
KontoAPI::valid?( :ktn => '49379110', :blz => '10010010' )
|
26
|
+
#=> true
|
27
|
+
|
28
|
+
# Check IBAN only
|
29
|
+
KontoAPI::valid?( :iban => 'DE71100100100068118106' )
|
30
|
+
#=> true
|
31
|
+
|
32
|
+
# Check BIC only
|
33
|
+
KontoAPI::valid?( :bic => 'PBNKDEFF100' )
|
34
|
+
#=> true
|
35
|
+
|
36
|
+
# Check both IBAN and BIC
|
37
|
+
KontoAPI::valid?( :iban => 'DE71100100100068118106', :bic => 'PBNKDEFF100' )
|
26
38
|
#=> true
|
27
39
|
|
28
40
|
# Get the name of a bank by its code: KontoAPI::bank_name(bank_code)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/kontoapi-ruby.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.
|
7
|
+
s.name = "kontoapi-ruby"
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jan Schwenzien"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2012-04-08"
|
13
|
+
s.description = "A ruby library to access the Konto API (https://www.kontoapi.de/), a webservice that performs validity checks and other services regarding german bank accounts."
|
14
|
+
s.email = "jan@general-scripting.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
17
|
"README.markdown"
|
@@ -28,11 +28,11 @@ Gem::Specification.new do |s|
|
|
28
28
|
"spec/kontoapi-ruby_spec.rb",
|
29
29
|
"spec/spec_helper.rb"
|
30
30
|
]
|
31
|
-
s.homepage =
|
31
|
+
s.homepage = "http://github.com/GeneralScripting/kontoapi-ruby"
|
32
32
|
s.licenses = ["MIT"]
|
33
33
|
s.require_paths = ["lib"]
|
34
|
-
s.rubygems_version =
|
35
|
-
s.summary =
|
34
|
+
s.rubygems_version = "1.8.15"
|
35
|
+
s.summary = "Konto API Ruby Library"
|
36
36
|
s.test_files = [
|
37
37
|
"spec/kontoapi-ruby_spec.rb",
|
38
38
|
"spec/spec_helper.rb"
|
data/lib/kontoapi-ruby.rb
CHANGED
@@ -28,9 +28,9 @@ module KontoAPI
|
|
28
28
|
@@timeout || DEFAULT_TIMEOUT
|
29
29
|
end
|
30
30
|
|
31
|
-
def valid?(
|
32
|
-
return false
|
33
|
-
response = ask_for(:validity,
|
31
|
+
def valid?(options={})
|
32
|
+
return false unless (!options[:ktn].to_s.strip.empty? && !options[:blz].to_s.strip.empty?) || !options[:iban].to_s.strip.empty? || !options[:bic].to_s.strip.empty?
|
33
|
+
response = ask_for(:validity, options)
|
34
34
|
response['answer'].eql?('yes')
|
35
35
|
end
|
36
36
|
|
data/spec/kontoapi-ruby_spec.rb
CHANGED
@@ -3,36 +3,36 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
3
3
|
describe "KontoAPI" do
|
4
4
|
|
5
5
|
it "should raise if no api key was provided" do
|
6
|
-
lambda { KontoAPI::valid?('1234567', '12312312') }.should raise_error(RuntimeError)
|
6
|
+
lambda { KontoAPI::valid?( :ktn => '1234567', :blz => '12312312' ) }.should raise_error(RuntimeError)
|
7
7
|
end
|
8
8
|
|
9
9
|
it "should raise if api key is invalid" do
|
10
10
|
FakeWeb.register_uri(:get, %r|https://ask\.kontoapi\.de/for/validity.json?.*|, :body => '{"error":"unauthenticated"}', :status => ["401", "Unauthorized"])
|
11
11
|
KontoAPI::api_key = 'abc123'
|
12
|
-
lambda { KontoAPI::valid?('1234567', '12312312') }.should raise_error(Net::HTTPServerException)
|
12
|
+
lambda { KontoAPI::valid?( :ktn => '1234567', :blz => '12312312' ) }.should raise_error(Net::HTTPServerException)
|
13
13
|
end
|
14
14
|
|
15
15
|
context "checking validity" do
|
16
16
|
|
17
17
|
it "should return false if account number or bank code are empty" do
|
18
|
-
KontoAPI::valid?(nil, nil).should be_false
|
19
|
-
KontoAPI::valid?('123', nil).should be_false
|
20
|
-
KontoAPI::valid?(nil, '123').should be_false
|
21
|
-
KontoAPI::valid?('', '').should be_false
|
22
|
-
KontoAPI::valid?('123', '').should be_false
|
23
|
-
KontoAPI::valid?('', '123').should be_false
|
18
|
+
KontoAPI::valid?( :ktn => nil, :blz => nil ).should be_false
|
19
|
+
KontoAPI::valid?( :ktn => '123', :blz => nil ).should be_false
|
20
|
+
KontoAPI::valid?( :ktn => nil, :blz => '123' ).should be_false
|
21
|
+
KontoAPI::valid?( :ktn => '', :blz => '' ).should be_false
|
22
|
+
KontoAPI::valid?( :ktn => '123', :blz => '' ).should be_false
|
23
|
+
KontoAPI::valid?( :ktn => '', :blz => '123' ).should be_false
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should return true for successfull validity checks" do
|
27
27
|
FakeWeb.register_uri(:get, %r|https://ask\.kontoapi\.de/for/validity.json?.*|, :body => '{"answer":"yes"}')
|
28
28
|
KontoAPI::api_key = 'abc123'
|
29
|
-
KontoAPI::valid?('correct_account_number', '12312312').should be_true
|
29
|
+
KontoAPI::valid?( :ktn => 'correct_account_number', :blz => '12312312' ).should be_true
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should return false for unsuccessfull validity checks" do
|
33
33
|
FakeWeb.register_uri(:get, %r|https://ask\.kontoapi\.de/for/validity.json?.*|, :body => '{"answer":"no"}')
|
34
34
|
KontoAPI::api_key = 'abc123'
|
35
|
-
KontoAPI::valid?('incorrect_account_number', '12312312').should be_false
|
35
|
+
KontoAPI::valid?( :ktn => 'incorrect_account_number', :blz => '12312312' ).should be_false
|
36
36
|
end
|
37
37
|
|
38
38
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kontoapi-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jan Schwenzien
|
@@ -15,12 +15,10 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2012-04-08 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
-
prerelease: false
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
24
22
|
none: false
|
25
23
|
requirements:
|
26
24
|
- - ">="
|
@@ -29,12 +27,12 @@ dependencies:
|
|
29
27
|
segments:
|
30
28
|
- 0
|
31
29
|
version: "0"
|
30
|
+
name: addressable
|
31
|
+
prerelease: false
|
32
32
|
type: :runtime
|
33
|
-
|
33
|
+
requirement: *id001
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
|
-
|
36
|
-
prerelease: false
|
37
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
35
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
38
36
|
none: false
|
39
37
|
requirements:
|
40
38
|
- - ">="
|
@@ -43,12 +41,12 @@ dependencies:
|
|
43
41
|
segments:
|
44
42
|
- 0
|
45
43
|
version: "0"
|
44
|
+
name: yajl-ruby
|
45
|
+
prerelease: false
|
46
46
|
type: :runtime
|
47
|
-
|
47
|
+
requirement: *id002
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
|
-
|
50
|
-
prerelease: false
|
51
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
49
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
52
50
|
none: false
|
53
51
|
requirements:
|
54
52
|
- - ~>
|
@@ -59,12 +57,12 @@ dependencies:
|
|
59
57
|
- 3
|
60
58
|
- 0
|
61
59
|
version: 2.3.0
|
60
|
+
name: rspec
|
61
|
+
prerelease: false
|
62
62
|
type: :development
|
63
|
-
|
63
|
+
requirement: *id003
|
64
64
|
- !ruby/object:Gem::Dependency
|
65
|
-
|
66
|
-
prerelease: false
|
67
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
65
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
68
66
|
none: false
|
69
67
|
requirements:
|
70
68
|
- - ~>
|
@@ -75,12 +73,12 @@ dependencies:
|
|
75
73
|
- 0
|
76
74
|
- 0
|
77
75
|
version: 1.0.0
|
76
|
+
name: bundler
|
77
|
+
prerelease: false
|
78
78
|
type: :development
|
79
|
-
|
79
|
+
requirement: *id004
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
|
-
|
82
|
-
prerelease: false
|
83
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
84
82
|
none: false
|
85
83
|
requirements:
|
86
84
|
- - ~>
|
@@ -91,12 +89,12 @@ dependencies:
|
|
91
89
|
- 5
|
92
90
|
- 2
|
93
91
|
version: 1.5.2
|
92
|
+
name: jeweler
|
93
|
+
prerelease: false
|
94
94
|
type: :development
|
95
|
-
|
95
|
+
requirement: *id005
|
96
96
|
- !ruby/object:Gem::Dependency
|
97
|
-
|
98
|
-
prerelease: false
|
99
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
97
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
100
98
|
none: false
|
101
99
|
requirements:
|
102
100
|
- - ">="
|
@@ -105,12 +103,12 @@ dependencies:
|
|
105
103
|
segments:
|
106
104
|
- 0
|
107
105
|
version: "0"
|
106
|
+
name: rcov
|
107
|
+
prerelease: false
|
108
108
|
type: :development
|
109
|
-
|
109
|
+
requirement: *id006
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
|
-
|
112
|
-
prerelease: false
|
113
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
111
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
114
112
|
none: false
|
115
113
|
requirements:
|
116
114
|
- - ">="
|
@@ -119,8 +117,10 @@ dependencies:
|
|
119
117
|
segments:
|
120
118
|
- 0
|
121
119
|
version: "0"
|
120
|
+
name: fakeweb
|
121
|
+
prerelease: false
|
122
122
|
type: :development
|
123
|
-
|
123
|
+
requirement: *id007
|
124
124
|
description: A ruby library to access the Konto API (https://www.kontoapi.de/), a webservice that performs validity checks and other services regarding german bank accounts.
|
125
125
|
email: jan@general-scripting.com
|
126
126
|
executables: []
|
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
170
|
requirements: []
|
171
171
|
|
172
172
|
rubyforge_project:
|
173
|
-
rubygems_version: 1.
|
173
|
+
rubygems_version: 1.8.15
|
174
174
|
signing_key:
|
175
175
|
specification_version: 3
|
176
176
|
summary: Konto API Ruby Library
|