fidor_api 2.0.6 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5dd37e81db3e11e356adccfa11fb66235fa3370e1220581da482d88417b25442
4
- data.tar.gz: 7fee31a5205c39f66d15dde3714d07cfbde6e414e6e1a48a0f4e8f7b45802e2d
3
+ metadata.gz: e87cbca225815f9449c8f4527c358135159a4002abb1ad3bb64dbd5bded32137
4
+ data.tar.gz: 33d87ea9c6f0ab40f8b42467ea554bc256ad6078d74a65fe2f9823a7560eee71
5
5
  SHA512:
6
- metadata.gz: 49ae375b0fd5100dc744a03713cba67cd77cbc2d4712e9369cf16bf8a7b4967a1e77777d50affd97aee9391cdce83dd6cf772b297b49db90552d3ca58bf10771
7
- data.tar.gz: 1a0a82c9a8e80dc9dc9d31e6b4b4436c5683943eca65ca6aaea24d42268e60a65106adbac203e85393ba1d6e4b519d2ab9b2fac4fa4474abc8b6853dc50476ec
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
@@ -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, :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
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
 
@@ -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'
@@ -1,3 +1,3 @@
1
1
  module FidorApi
2
- VERSION = '2.0.6'.freeze
2
+ VERSION = '2.0.7'.freeze
3
3
  end
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.6
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-01-11 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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.62.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.62.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
- rubyforge_project:
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