fidor_api 2.0.6 → 2.0.7
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/lib/fidor_api/client/dsl/scheduled_transfers.rb +31 -0
- data/lib/fidor_api/client/dsl/standing_orders.rb +14 -2
- data/lib/fidor_api/client/dsl.rb +2 -0
- data/lib/fidor_api/model/scheduled_transfer.rb +54 -0
- data/lib/fidor_api/model/standing_order.rb +16 -0
- data/lib/fidor_api/model/transfer/generic.rb +8 -8
- data/lib/fidor_api/model.rb +1 -0
- data/lib/fidor_api/version.rb +1 -1
- metadata +17 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e87cbca225815f9449c8f4527c358135159a4002abb1ad3bb64dbd5bded32137
|
4
|
+
data.tar.gz: 33d87ea9c6f0ab40f8b42467ea554bc256ad6078d74a65fe2f9823a7560eee71
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78c77690e71d57435449e1b3f2fa6b0479ceb219d126eb93250e16b32276b82709f38e878c5f3bac0da9ed5876dbebb97e2911f020130adccbc4a68974bd1187
|
7
|
+
data.tar.gz: cf8dcfc7043d64a774040e648053d39440630976912ba50798f21deaa05d725b44b9e406bad3ba4878f1957fe973eabe4211772581eb54b70794015fa4c467d9
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module FidorApi
|
2
|
+
class Client
|
3
|
+
module DSL
|
4
|
+
module ScheduledTransfers
|
5
|
+
def scheduled_transfers(options = {})
|
6
|
+
fetch(:collection, FidorApi::Model::ScheduledTransfer, 'scheduled_transfers', options)
|
7
|
+
end
|
8
|
+
|
9
|
+
def scheduled_transfer(id, options = {})
|
10
|
+
fetch(:single, FidorApi::Model::ScheduledTransfer, "scheduled_transfers/#{id}", options)
|
11
|
+
end
|
12
|
+
|
13
|
+
def new_scheduled_transfer(attributes = {})
|
14
|
+
FidorApi::Model::ScheduledTransfer.new(attributes)
|
15
|
+
end
|
16
|
+
|
17
|
+
def create_scheduled_transfer(attributes = {}, options = {})
|
18
|
+
create(FidorApi::Model::ScheduledTransfer, 'scheduled_transfers', attributes, options)
|
19
|
+
end
|
20
|
+
|
21
|
+
def update_scheduled_transfer(id, attributes = {}, options = {})
|
22
|
+
update(FidorApi::Model::ScheduledTransfer, "scheduled_transfers/#{id}", id, attributes, options)
|
23
|
+
end
|
24
|
+
|
25
|
+
def confirm_scheduled_transfer(id, options = {})
|
26
|
+
request(:put, "scheduled_transfers/#{id}/confirm", {}, options.delete(:headers)).headers['Location']
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -6,12 +6,24 @@ module FidorApi
|
|
6
6
|
fetch(:single, FidorApi::Model::StandingOrder, "standing_orders/#{id}", options)
|
7
7
|
end
|
8
8
|
|
9
|
+
def standing_orders(options = {})
|
10
|
+
fetch(:collection, FidorApi::Model::StandingOrder, 'standing_orders', options)
|
11
|
+
end
|
12
|
+
|
9
13
|
def new_standing_order(attributes = {})
|
10
14
|
FidorApi::Model::StandingOrder.new(attributes)
|
11
15
|
end
|
12
16
|
|
13
|
-
def create_standing_order(attributes = {})
|
14
|
-
create(FidorApi::Model::StandingOrder, 'standing_orders', attributes)
|
17
|
+
def create_standing_order(attributes = {}, options = {})
|
18
|
+
create(FidorApi::Model::StandingOrder, 'standing_orders', attributes, options)
|
19
|
+
end
|
20
|
+
|
21
|
+
def update_standing_order(id, attributes = {}, options = {})
|
22
|
+
update(FidorApi::Model::StandingOrder, "standing_orders/#{id}", id, attributes, options)
|
23
|
+
end
|
24
|
+
|
25
|
+
def confirm_standing_order(id, options = {})
|
26
|
+
request(:put, "standing_orders/#{id}/confirm", {}, options.delete(:headers)).headers['Location']
|
15
27
|
end
|
16
28
|
end
|
17
29
|
end
|
data/lib/fidor_api/client/dsl.rb
CHANGED
@@ -7,6 +7,7 @@ module FidorApi
|
|
7
7
|
autoload :CoreData, 'fidor_api/client/dsl/core_data'
|
8
8
|
autoload :Messages, 'fidor_api/client/dsl/messages'
|
9
9
|
autoload :Preauths, 'fidor_api/client/dsl/preauths'
|
10
|
+
autoload :ScheduledTransfers, 'fidor_api/client/dsl/scheduled_transfers'
|
10
11
|
autoload :StandingOrders, 'fidor_api/client/dsl/standing_orders'
|
11
12
|
autoload :Transactions, 'fidor_api/client/dsl/transactions'
|
12
13
|
autoload :Transfers, 'fidor_api/client/dsl/transfers'
|
@@ -18,6 +19,7 @@ module FidorApi
|
|
18
19
|
klass.include CoreData
|
19
20
|
klass.include Messages
|
20
21
|
klass.include Preauths
|
22
|
+
klass.include ScheduledTransfers
|
21
23
|
klass.include StandingOrders
|
22
24
|
klass.include Transactions
|
23
25
|
klass.include Transfers
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require_relative './beneficiary_helper'
|
2
|
+
|
3
|
+
module FidorApi
|
4
|
+
module Model
|
5
|
+
class ScheduledTransfer < Model::Base
|
6
|
+
include BeneficiaryHelper
|
7
|
+
|
8
|
+
attribute :id, :string
|
9
|
+
attribute :account_id, :integer
|
10
|
+
attribute :external_uid, :string
|
11
|
+
attribute :amount, :integer
|
12
|
+
attribute :currency, :string
|
13
|
+
attribute :subject, :string
|
14
|
+
attribute :beneficiary, :json
|
15
|
+
attribute :state, :string
|
16
|
+
attribute :scheduled_date, :string
|
17
|
+
|
18
|
+
attribute_decimal_methods :amount
|
19
|
+
|
20
|
+
def beneficiary=(value)
|
21
|
+
write_attribute(:beneficiary, value)
|
22
|
+
define_methods_for(SUPPORTED_ROUTING_TYPES[beneficiary['routing_type']])
|
23
|
+
end
|
24
|
+
|
25
|
+
def routing_type
|
26
|
+
@beneficiary ||= {}
|
27
|
+
@beneficiary.dig('routing_type')
|
28
|
+
end
|
29
|
+
|
30
|
+
def routing_type=(type)
|
31
|
+
raise Errors::NotSupported unless SUPPORTED_ROUTING_TYPES.key?(type)
|
32
|
+
|
33
|
+
@beneficiary ||= {}
|
34
|
+
@beneficiary['routing_type'] = type
|
35
|
+
define_methods_for(SUPPORTED_ROUTING_TYPES[type])
|
36
|
+
end
|
37
|
+
|
38
|
+
%w[bank contact].each do |category|
|
39
|
+
%w[name address_line_1 address_line_2 city country].each do |attribute|
|
40
|
+
define_method "#{category}_#{attribute}" do
|
41
|
+
@beneficiary ||= {}
|
42
|
+
@beneficiary.dig(category, attribute)
|
43
|
+
end
|
44
|
+
|
45
|
+
define_method "#{category}_#{attribute}=" do |value|
|
46
|
+
@beneficiary ||= {}
|
47
|
+
@beneficiary[category] ||= {}
|
48
|
+
@beneficiary[category][attribute] = value
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -12,6 +12,7 @@ module FidorApi
|
|
12
12
|
attribute :currency, :string
|
13
13
|
attribute :subject, :string
|
14
14
|
attribute :beneficiary, :json
|
15
|
+
attribute :state, :string
|
15
16
|
attribute :schedule, :json
|
16
17
|
|
17
18
|
attribute_decimal_methods :amount
|
@@ -45,6 +46,21 @@ module FidorApi
|
|
45
46
|
@schedule[attribute] = value
|
46
47
|
end
|
47
48
|
end
|
49
|
+
|
50
|
+
%w[bank contact].each do |category|
|
51
|
+
%w[name address_line_1 address_line_2 city country].each do |attribute|
|
52
|
+
define_method "#{category}_#{attribute}" do
|
53
|
+
@beneficiary ||= {}
|
54
|
+
@beneficiary.dig(category, attribute)
|
55
|
+
end
|
56
|
+
|
57
|
+
define_method "#{category}_#{attribute}=" do |value|
|
58
|
+
@beneficiary ||= {}
|
59
|
+
@beneficiary[category] ||= {}
|
60
|
+
@beneficiary[category][attribute] = value
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
48
64
|
end
|
49
65
|
end
|
50
66
|
end
|
@@ -6,14 +6,14 @@ module FidorApi
|
|
6
6
|
class Generic < Model::Base
|
7
7
|
include BeneficiaryHelper
|
8
8
|
|
9
|
-
attribute :id,
|
10
|
-
attribute :account_id,
|
11
|
-
attribute :external_uid,
|
12
|
-
attribute :amount,
|
13
|
-
attribute :currency,
|
14
|
-
attribute :subject,
|
15
|
-
attribute :beneficiary,
|
16
|
-
attribute :state,
|
9
|
+
attribute :id, :string
|
10
|
+
attribute :account_id, :string
|
11
|
+
attribute :external_uid, :string
|
12
|
+
attribute :amount, :integer
|
13
|
+
attribute :currency, :string
|
14
|
+
attribute :subject, :string
|
15
|
+
attribute :beneficiary, :json
|
16
|
+
attribute :state, :string
|
17
17
|
|
18
18
|
attribute_decimal_methods :amount
|
19
19
|
|
data/lib/fidor_api/model.rb
CHANGED
@@ -8,6 +8,7 @@ module FidorApi
|
|
8
8
|
autoload :Helpers, 'fidor_api/model/helpers'
|
9
9
|
autoload :Message, 'fidor_api/model/message'
|
10
10
|
autoload :Preauth, 'fidor_api/model/preauth'
|
11
|
+
autoload :ScheduledTransfer, 'fidor_api/model/scheduled_transfer'
|
11
12
|
autoload :StandingOrder, 'fidor_api/model/standing_order'
|
12
13
|
autoload :Transaction, 'fidor_api/model/transaction'
|
13
14
|
autoload :Transfer, 'fidor_api/model/transfer'
|
data/lib/fidor_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fidor_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fidor Solutions AG
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '5.0'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '6.1'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '5.0'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '6.1'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: faraday
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +78,14 @@ dependencies:
|
|
72
78
|
requirements:
|
73
79
|
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
81
|
+
version: '11.0'
|
76
82
|
type: :development
|
77
83
|
prerelease: false
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
88
|
+
version: '11.0'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: rake
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +120,14 @@ dependencies:
|
|
114
120
|
requirements:
|
115
121
|
- - '='
|
116
122
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
123
|
+
version: 0.71.0
|
118
124
|
type: :development
|
119
125
|
prerelease: false
|
120
126
|
version_requirements: !ruby/object:Gem::Requirement
|
121
127
|
requirements:
|
122
128
|
- - '='
|
123
129
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
130
|
+
version: 0.71.0
|
125
131
|
- !ruby/object:Gem::Dependency
|
126
132
|
name: simplecov
|
127
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,6 +177,7 @@ files:
|
|
171
177
|
- lib/fidor_api/client/dsl/core_data.rb
|
172
178
|
- lib/fidor_api/client/dsl/messages.rb
|
173
179
|
- lib/fidor_api/client/dsl/preauths.rb
|
180
|
+
- lib/fidor_api/client/dsl/scheduled_transfers.rb
|
174
181
|
- lib/fidor_api/client/dsl/standing_orders.rb
|
175
182
|
- lib/fidor_api/client/dsl/transactions.rb
|
176
183
|
- lib/fidor_api/client/dsl/transfers.rb
|
@@ -197,6 +204,7 @@ files:
|
|
197
204
|
- lib/fidor_api/model/helpers/attribute_decimal_methods.rb
|
198
205
|
- lib/fidor_api/model/message.rb
|
199
206
|
- lib/fidor_api/model/preauth.rb
|
207
|
+
- lib/fidor_api/model/scheduled_transfer.rb
|
200
208
|
- lib/fidor_api/model/standing_order.rb
|
201
209
|
- lib/fidor_api/model/transaction.rb
|
202
210
|
- lib/fidor_api/model/transfer.rb
|
@@ -227,8 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
227
235
|
- !ruby/object:Gem::Version
|
228
236
|
version: '0'
|
229
237
|
requirements: []
|
230
|
-
|
231
|
-
rubygems_version: 2.7.7
|
238
|
+
rubygems_version: 3.0.3
|
232
239
|
signing_key:
|
233
240
|
specification_version: 4
|
234
241
|
summary: Ruby client library to work with Fidor APIs
|