bunq_rb 0.0.15 → 0.0.16

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
  SHA1:
3
- metadata.gz: c81368d2d732130f9d39decdffd1bf29881ac0a2
4
- data.tar.gz: 21d6666c1400e066b1fe968ba37edbd5ab193b49
3
+ metadata.gz: 3ffc213e4c6739d4db6e41209925e105c87ad3be
4
+ data.tar.gz: aba900ae7cbe9dcfda0ad3260b6b7feef1296870
5
5
  SHA512:
6
- metadata.gz: f6222761301ba2078e1ea6ed93e9d5ebdcbbf7febdbcae6797cb39a312f5bc3c10b7c7995eabfb0943e9e223ef25f0ba8c37fcfd7f42088a1a852a79f41e7395
7
- data.tar.gz: c886dcfcc67250eb81c440e521d7dee78b0e36a65b52ec22a6b25694f79bafb9ef791554f6ed09b5f51e1897c0943727dc415ca1cb9b7387c095f85844a71d47
6
+ metadata.gz: 3e67deb7a39d4195516584f37c1127ea7ac7ea858c0d8a6b47593e484000881692cd05774f80e8dca5bb22fb4cc73d8acf91b303fb473179f68c80da2e817bf4
7
+ data.tar.gz: 1c52fe3989fa76185000a68becb60a66372fc5ba50f0072f7f283088a7b7d5f0e905881ced8c3c7c6304842125255073e6941168e5c2a73798ddf0c163d05584
data/README.md CHANGED
@@ -29,6 +29,7 @@ First configure the gem
29
29
  BunqRb.configure do |config|
30
30
  config.api_key = ENV.fetch("API_KEY")
31
31
  config.key = key # OpenSSL::PKey::RSA.new 2048
32
+ config.url = "https://sandbox.public.api.bunq.com"
32
33
  end
33
34
  ```
34
35
 
@@ -36,8 +37,8 @@ end
36
37
 
37
38
  - Use Cases
38
39
  - ~~Create Session~~
39
- - Making a payment request
40
- - Creating a tab payment
40
+ - ~~Making a payment request~~
41
+ - ~~Creating a tab payment~~
41
42
 
42
43
  ---
43
44
 
@@ -146,6 +147,8 @@ end
146
147
  - Monetary account bank
147
148
  - PAYMENTS
148
149
  - Payment
150
+ - ~~LIST~~
151
+ - GET
149
152
  - Draft payment
150
153
  - Payment batch
151
154
  - Request inquiry
data/bunq_rb.gemspec CHANGED
@@ -31,4 +31,5 @@ Gem::Specification.new do |spec|
31
31
  spec.require_paths = ["lib"]
32
32
 
33
33
  spec.add_dependency "spyke"
34
+ spec.add_dependency "money"
34
35
  end
@@ -46,30 +46,13 @@ module BunqRb
46
46
  end
47
47
  end
48
48
 
49
- require_relative "objects/device"
50
- require_relative "objects/device_server"
51
- require_relative "objects/installation"
52
- require_relative "objects/installation_server_public_key"
53
- require_relative "objects/session_server"
54
- require_relative "objects/user"
55
- require_relative "objects/permitted_ip"
56
- require_relative "objects/monetary_account"
57
- require_relative "objects/attachment_monetary_account"
58
- require_relative "objects/request_inquiry"
59
- require_relative "objects/avatar"
60
- require_relative "objects/permitted_ip"
61
- require_relative "objects/attachment_public"
62
- require_relative "objects/avatar"
63
- require_relative "objects/cash_register"
64
- require_relative "objects/tab_usage_single"
49
+ Dir[File.dirname(__FILE__) + "/objects/**/*.rb"].each { |f| require f }
65
50
 
66
51
  module BunqRb
67
52
  # Client
68
53
  class Client
69
- BASE_URL = "https://sandbox.public.api.bunq.com".freeze
70
-
71
54
  def self.connection
72
- @connection ||= Faraday.new(url: BASE_URL) do |config|
55
+ @connection ||= Faraday.new(url: BunqRb.configuration.url) do |config|
73
56
  config.use Headers
74
57
  config.use SignRequest
75
58
  config.request :json
@@ -4,11 +4,13 @@ module BunqRb
4
4
  attr_accessor :api_key
5
5
  attr_accessor :key
6
6
  attr_accessor :session_token
7
+ attr_accessor :url
7
8
 
8
9
  def initialize
9
10
  @api_key = ""
10
11
  @key = nil
11
12
  @session_token = nil
13
+ @url = ""
12
14
  end
13
15
  end
14
16
  end
@@ -1,20 +1,26 @@
1
1
  module BunqRb
2
2
  # MonetaryAccount
3
3
  class MonetaryAccount
4
- attr_reader :id, :currency
4
+ attr_reader :id, :currency, :description
5
5
 
6
6
  def initialize(hsh = {})
7
7
  @id = hsh["id"]
8
+ @user_id = hsh["user_id"]
8
9
  @currency = hsh["currency"]
10
+ @description = hsh["description"]
9
11
  end
10
12
 
11
13
  def self.url(user_id)
12
14
  "/v1/user/#{user_id}/monetary-account"
13
15
  end
14
16
 
15
- def self.all
16
- response = Client.send_method(:get, url(1913))
17
+ def self.all(user_id)
18
+ response = Client.send_method(:get, url(user_id))
17
19
  response.map { |resp| new(resp["MonetaryAccountBank"]) }
18
20
  end
21
+
22
+ def payments
23
+ BunqRb::Payment.all(@user_id, @id)
24
+ end
19
25
  end
20
26
  end
@@ -0,0 +1,21 @@
1
+ module BunqRb
2
+ # Payment
3
+ class Payment
4
+ attr_reader :id, :description, :amount
5
+
6
+ def initialize(hsh = {})
7
+ @id = hsh["id"]
8
+ @description = hsh["description"]
9
+ @amount = Money.new(hsh["amount"]["value"].to_f * 100, hsh["amount"]["currency"])
10
+ end
11
+
12
+ def self.url(user_id, monetary_account_id)
13
+ "/v1/user/#{user_id}/monetary-account/#{monetary_account_id}/payment"
14
+ end
15
+
16
+ def self.all(user_id, monetary_account_id)
17
+ response = Client.send_method(:get, url(user_id, monetary_account_id))
18
+ response.map { |resp| new(resp["Payment"]) }
19
+ end
20
+ end
21
+ end
@@ -15,5 +15,9 @@ module BunqRb
15
15
  def self.uri
16
16
  "/v1/user"
17
17
  end
18
+
19
+ def monetary_accounts
20
+ BunqRb::MonetaryAccount.all(@id)
21
+ end
18
22
  end
19
23
  end
@@ -1,3 +1,3 @@
1
1
  module BunqRb
2
- VERSION = "0.0.15".freeze
2
+ VERSION = "0.0.16".freeze
3
3
  end
data/lib/bunq_rb.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "active_support/all"
2
+ require "money"
2
3
 
3
4
  require_relative "bunq_rb/version"
4
5
  require_relative "bunq_rb/configuration"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bunq_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.15
4
+ version: 0.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dunya Kirkali
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: money
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
28
42
  description: Bunq API Client
29
43
  email:
30
44
  - dunyakirkali@gmail.com
@@ -59,6 +73,7 @@ files:
59
73
  - lib/bunq_rb/objects/installation.rb
60
74
  - lib/bunq_rb/objects/installation_server_public_key.rb
61
75
  - lib/bunq_rb/objects/monetary_account.rb
76
+ - lib/bunq_rb/objects/payment.rb
62
77
  - lib/bunq_rb/objects/permitted_ip.rb
63
78
  - lib/bunq_rb/objects/request_inquiry.rb
64
79
  - lib/bunq_rb/objects/session_server.rb