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 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