nordigen-ruby 2.0.0 → 2.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/Gemfile +1 -1
- data/README.md +7 -1
- data/lib/nordigen-ruby.rb +4 -9
- data/lib/nordigen_ruby/api/account.rb +19 -3
- data/lib/nordigen_ruby/api/requisitions.rb +3 -3
- data/lib/nordigen_ruby/version.rb +1 -1
- data/nordigen.gemspec +1 -1
- metadata +5 -6
- data/Gemfile.lock +0 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17eb0e953a7008d324ff2cb96bf8eda218e2850820cf0c3bdb26c447af241475
|
4
|
+
data.tar.gz: e00b83c675d89256540bdaa4871415583f7a92db420047ae3dccb90aff8706a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3dc4521ffefdc1d2f927db335345a647737b19339c5b26d42fccaee7d52ccddd467abf9f6db4ff5cea3068ce843e1f3e9e688ef1cf9c11807dc81f916ff6d17c
|
7
|
+
data.tar.gz: '09ce3ce0cf5dca4d3457ab1d2b2dfde3b6fd508ea383a7dfb3c0a8408bd7903cb1a28480532e5b564094cb39388240c6fa131ac5df66774928b00f307a5ad40a'
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [2.1.0] - 2022-12-15
|
4
|
+
|
5
|
+
- [Add user_language and account_selection params for requisition #18](https://github.com/nordigen/nordigen-ruby/pull/18)
|
6
|
+
- [Add a transactions premium option #19](https://github.com/nordigen/nordigen-ruby/pull/19)
|
7
|
+
|
8
|
+
## [2.0.1] - 2022-12-09
|
9
|
+
|
10
|
+
- [Fix date filter #15](https://github.com/nordigen/nordigen-ruby/pull/15)
|
11
|
+
|
3
12
|
## [2.0.0] - 2022-05-05
|
4
13
|
|
5
14
|
- Use JSON response instead of OpenStruct
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -66,7 +66,11 @@ init = client.init_session(
|
|
66
66
|
# institution id
|
67
67
|
institution_id: id,
|
68
68
|
# a unique user ID of someone who's using your services, usually it's a UUID
|
69
|
-
reference_id: SecureRandom.uuid
|
69
|
+
reference_id: SecureRandom.uuid,
|
70
|
+
# A two-letter country code (ISO 639-1)
|
71
|
+
user_language: "en",
|
72
|
+
# option to enable account selection view for the end user
|
73
|
+
account_selection: true
|
70
74
|
)
|
71
75
|
|
72
76
|
link = init["link"] # bank authorization link
|
@@ -97,6 +101,8 @@ details = account.get_details()
|
|
97
101
|
balances = account.get_balances()
|
98
102
|
# Fetch transactions
|
99
103
|
transactions = account.get_transactions()
|
104
|
+
# Fetch premium transactions
|
105
|
+
transactions = account.get_premium_transactions(date_from: "2021-12-01", date_to: "2022-01-30", country: "LV")
|
100
106
|
# Filter transactions by specific date range
|
101
107
|
transactions = account.get_transactions(date_from: "2021-12-01", date_to: "2022-01-30")
|
102
108
|
```
|
data/lib/nordigen-ruby.rb
CHANGED
@@ -26,15 +26,8 @@ module Nordigen
|
|
26
26
|
@requisition = RequisitionsApi.new(client=self)
|
27
27
|
end
|
28
28
|
|
29
|
-
def request
|
29
|
+
def request
|
30
30
|
# HTTP client request
|
31
|
-
parameters = {}
|
32
|
-
params&.each do |key, value|
|
33
|
-
if value
|
34
|
-
parameters[key] = value
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
31
|
@request ||= Faraday.new do |conn|
|
39
32
|
conn.url_prefix = BASE_URL
|
40
33
|
conn.headers = @@headers
|
@@ -84,7 +77,7 @@ module Nordigen
|
|
84
77
|
return AccountApi.new(client: self, account_id: account_id)
|
85
78
|
end
|
86
79
|
|
87
|
-
def init_session(redirect_url:, institution_id:, reference_id:, max_historical_days: 90)
|
80
|
+
def init_session(redirect_url:, institution_id:, reference_id:, max_historical_days: 90, user_language: "en", account_selection: false)
|
88
81
|
# Factory method that creates authorization in a specific institution
|
89
82
|
# and are responsible for the following steps:
|
90
83
|
# * Creates agreement
|
@@ -100,6 +93,8 @@ module Nordigen
|
|
100
93
|
redirect_url: redirect_url,
|
101
94
|
reference: reference_id,
|
102
95
|
institution_id: institution_id,
|
96
|
+
user_language: user_language,
|
97
|
+
account_selection: account_selection,
|
103
98
|
agreement: new_agreement["id"]
|
104
99
|
)
|
105
100
|
|
@@ -2,6 +2,7 @@ module Nordigen
|
|
2
2
|
class AccountApi
|
3
3
|
|
4
4
|
ENDPOINT = "accounts/"
|
5
|
+
PREMIUM_ENDPOINT = "accounts/premium/"
|
5
6
|
attr_reader :client, :account_id
|
6
7
|
|
7
8
|
def initialize(client:, account_id:)
|
@@ -9,14 +10,19 @@ module Nordigen
|
|
9
10
|
@account_id = account_id
|
10
11
|
end
|
11
12
|
|
12
|
-
def get(path = nil, params = nil)
|
13
|
+
def get(path = nil, params = nil, premium: nil)
|
13
14
|
# Create Get request
|
14
|
-
|
15
|
+
if premium
|
16
|
+
url = "#{PREMIUM_ENDPOINT}#{@account_id}/"
|
17
|
+
else
|
18
|
+
url = "#{ENDPOINT}#{@account_id}/"
|
19
|
+
end
|
20
|
+
|
15
21
|
if path
|
16
22
|
url = "#{url}#{path}/"
|
17
23
|
end
|
18
24
|
|
19
|
-
return client.request
|
25
|
+
return client.request.get(url, params).body
|
20
26
|
end
|
21
27
|
|
22
28
|
def get_metadata
|
@@ -44,5 +50,15 @@ module Nordigen
|
|
44
50
|
return get("transactions", date_range)
|
45
51
|
end
|
46
52
|
|
53
|
+
def get_premium_transactions(date_from: nil, date_to: nil, country: nil)
|
54
|
+
# Access account transactions
|
55
|
+
params = {
|
56
|
+
"date_from" => date_from,
|
57
|
+
"date_to" => date_to,
|
58
|
+
"country" => country
|
59
|
+
}
|
60
|
+
return get("transactions", params, premium: true )
|
61
|
+
end
|
62
|
+
|
47
63
|
end
|
48
64
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
module Nordigen
|
3
2
|
class RequisitionsApi
|
4
3
|
|
@@ -10,14 +9,15 @@ module Nordigen
|
|
10
9
|
@client = client
|
11
10
|
end
|
12
11
|
|
13
|
-
def create_requisition(redirect_url:, reference:, institution_id:, user_language: "en", agreement: nil)
|
12
|
+
def create_requisition(redirect_url:, reference:, institution_id:, user_language: "en", agreement: nil, account_selection: false)
|
14
13
|
# Create requisition. For creating links and retrieving accounts.
|
15
14
|
payload = {
|
16
15
|
"redirect": redirect_url,
|
17
16
|
"reference": reference,
|
18
17
|
"institution_id": institution_id,
|
19
18
|
"user_language": user_language,
|
20
|
-
|
19
|
+
"account_selection": account_selection,
|
20
|
+
}
|
21
21
|
|
22
22
|
if agreement
|
23
23
|
payload["agreement"] = agreement
|
data/nordigen.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nordigen-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nordigen Solutions
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.5
|
19
|
+
version: '2.5'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.5
|
26
|
+
version: '2.5'
|
27
27
|
description: Nordigen official API client for Ruby
|
28
28
|
email:
|
29
29
|
- support@nordigen.com
|
@@ -35,7 +35,6 @@ extra_rdoc_files: []
|
|
35
35
|
files:
|
36
36
|
- CHANGELOG.md
|
37
37
|
- Gemfile
|
38
|
-
- Gemfile.lock
|
39
38
|
- LICENSE.txt
|
40
39
|
- README.md
|
41
40
|
- Rakefile
|
@@ -73,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
72
|
- !ruby/object:Gem::Version
|
74
73
|
version: '0'
|
75
74
|
requirements: []
|
76
|
-
rubygems_version: 3.1
|
75
|
+
rubygems_version: 3.0.3.1
|
77
76
|
signing_key:
|
78
77
|
specification_version: 4
|
79
78
|
summary: Nordigen client for Ruby
|
data/Gemfile.lock
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
nordigen-ruby (2.0.0)
|
5
|
-
faraday (~> 2.5.2)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
dotenv (2.8.1)
|
11
|
-
faraday (2.5.2)
|
12
|
-
faraday-net_http (>= 2.0, < 3.1)
|
13
|
-
ruby2_keywords (>= 0.0.4)
|
14
|
-
faraday-net_http (3.0.0)
|
15
|
-
power_assert (2.0.1)
|
16
|
-
rake (13.0.6)
|
17
|
-
ruby2_keywords (0.0.5)
|
18
|
-
test-unit (3.5.3)
|
19
|
-
power_assert
|
20
|
-
|
21
|
-
PLATFORMS
|
22
|
-
x86_64-linux
|
23
|
-
|
24
|
-
DEPENDENCIES
|
25
|
-
dotenv (~> 2.8.1)
|
26
|
-
faraday (~> 2.5.2)
|
27
|
-
nordigen-ruby!
|
28
|
-
rake (~> 13.0)
|
29
|
-
test-unit (~> 3.5.3)
|
30
|
-
|
31
|
-
BUNDLED WITH
|
32
|
-
2.3.4
|