tikkie-api 0.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 +7 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/.rubocop.yml +36 -0
- data/.travis.yml +7 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +67 -0
- data/LICENSE.txt +21 -0
- data/README.md +150 -0
- data/Rakefile +10 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/lib/tikkie/api.rb +32 -0
- data/lib/tikkie/api/access_token.rb +19 -0
- data/lib/tikkie/api/authentication.rb +60 -0
- data/lib/tikkie/api/client.rb +24 -0
- data/lib/tikkie/api/configuration.rb +62 -0
- data/lib/tikkie/api/exception.rb +22 -0
- data/lib/tikkie/api/request.rb +57 -0
- data/lib/tikkie/api/requests/payment_requests.rb +56 -0
- data/lib/tikkie/api/requests/platforms.rb +32 -0
- data/lib/tikkie/api/requests/users.rb +31 -0
- data/lib/tikkie/api/responses/bank_account.rb +22 -0
- data/lib/tikkie/api/responses/base.rb +53 -0
- data/lib/tikkie/api/responses/error.rb +34 -0
- data/lib/tikkie/api/responses/pagination.rb +20 -0
- data/lib/tikkie/api/responses/payment.rb +48 -0
- data/lib/tikkie/api/responses/payment_request.rb +64 -0
- data/lib/tikkie/api/responses/payment_request_created.rb +22 -0
- data/lib/tikkie/api/responses/payment_requests.rb +42 -0
- data/lib/tikkie/api/responses/platform.rb +44 -0
- data/lib/tikkie/api/responses/platforms.rb +30 -0
- data/lib/tikkie/api/responses/user.rb +39 -0
- data/lib/tikkie/api/responses/users.rb +34 -0
- data/lib/tikkie/api/types/payment_request_status.rb +15 -0
- data/lib/tikkie/api/types/payment_status.rb +14 -0
- data/lib/tikkie/api/types/platform_status.rb +12 -0
- data/lib/tikkie/api/types/platform_usage.rb +12 -0
- data/lib/tikkie/api/types/user_status.rb +12 -0
- data/lib/tikkie/api/version.rb +7 -0
- data/tikkie-api.gemspec +31 -0
- metadata +168 -0
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bigdecimal'
|
4
|
+
require 'time'
|
5
|
+
|
6
|
+
module Tikkie
|
7
|
+
module Api
|
8
|
+
module Responses
|
9
|
+
# Response for a payment request.
|
10
|
+
class PaymentRequest < Base
|
11
|
+
def payment_request_token
|
12
|
+
data[:paymentRequestToken]
|
13
|
+
end
|
14
|
+
|
15
|
+
def amount
|
16
|
+
decimal = BigDecimal.new(data[:amountInCents])
|
17
|
+
decimal /= 100.0
|
18
|
+
decimal
|
19
|
+
end
|
20
|
+
|
21
|
+
def currency
|
22
|
+
data[:currency]
|
23
|
+
end
|
24
|
+
|
25
|
+
def created_at
|
26
|
+
Time.parse(data[:created]) if data[:created]
|
27
|
+
end
|
28
|
+
|
29
|
+
def expired_at
|
30
|
+
Time.parse(data[:expired]) if data[:expired]
|
31
|
+
end
|
32
|
+
|
33
|
+
# see PaymentRequestStatus
|
34
|
+
def status
|
35
|
+
data[:status]
|
36
|
+
end
|
37
|
+
|
38
|
+
def expired?
|
39
|
+
status == Tikkie::Api::Types::PaymentRequestStatus::EXPIRED
|
40
|
+
end
|
41
|
+
|
42
|
+
def bank_account_yielded_too_fast?
|
43
|
+
data[:bankAccountYieldedTooFast]
|
44
|
+
end
|
45
|
+
|
46
|
+
def external_id
|
47
|
+
data[:externalId]
|
48
|
+
end
|
49
|
+
|
50
|
+
def payments
|
51
|
+
@payments ||= begin
|
52
|
+
payments = []
|
53
|
+
|
54
|
+
data[:payments].each do |data|
|
55
|
+
payments << Tikkie::Api::Responses::Payment.new(data)
|
56
|
+
end
|
57
|
+
|
58
|
+
payments
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Tikkie
|
4
|
+
module Api
|
5
|
+
module Responses
|
6
|
+
# Response when creating a payment request.
|
7
|
+
class PaymentRequestCreated < Base
|
8
|
+
def payment_request_url
|
9
|
+
data[:paymentRequestUrl]
|
10
|
+
end
|
11
|
+
|
12
|
+
def payment_request_token
|
13
|
+
data[:paymentRequestToken]
|
14
|
+
end
|
15
|
+
|
16
|
+
def external_id
|
17
|
+
data[:externalId]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Tikkie
|
4
|
+
module Api
|
5
|
+
module Responses
|
6
|
+
# Response when requesting payment requests (list).
|
7
|
+
class PaymentRequests < Base
|
8
|
+
include Enumerable
|
9
|
+
include Tikkie::Api::Responses::Pagination
|
10
|
+
|
11
|
+
def initialize(response, options = {})
|
12
|
+
super(response)
|
13
|
+
|
14
|
+
@offset = options[:offset]
|
15
|
+
@limit = options[:limit]
|
16
|
+
@total_elements = data[:totalElements]
|
17
|
+
@elements = payment_requests.count
|
18
|
+
end
|
19
|
+
|
20
|
+
def each(&block)
|
21
|
+
payment_requests.each(&block)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def payment_requests
|
27
|
+
@payment_requests ||= begin
|
28
|
+
payment_requests = []
|
29
|
+
|
30
|
+
if data[:paymentRequests]
|
31
|
+
data[:paymentRequests].each do |payment_request|
|
32
|
+
payment_requests << Tikkie::Api::Responses::PaymentRequest.new(payment_request)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
payment_requests
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Tikkie
|
4
|
+
module Api
|
5
|
+
module Responses
|
6
|
+
# Response when requesting a platform.
|
7
|
+
class Platform < Base
|
8
|
+
def platform_token
|
9
|
+
data[:platformToken]
|
10
|
+
end
|
11
|
+
|
12
|
+
def name
|
13
|
+
data[:name]
|
14
|
+
end
|
15
|
+
|
16
|
+
def phone_number
|
17
|
+
data[:phoneNumber]
|
18
|
+
end
|
19
|
+
|
20
|
+
def email
|
21
|
+
data[:email]
|
22
|
+
end
|
23
|
+
|
24
|
+
def notification_url
|
25
|
+
data[:notificationUrl]
|
26
|
+
end
|
27
|
+
|
28
|
+
# see PlatformStatus
|
29
|
+
def status
|
30
|
+
data[:status]
|
31
|
+
end
|
32
|
+
|
33
|
+
def active?
|
34
|
+
status == Tikkie::Api::Types::PlatformStatus::ACTIVE
|
35
|
+
end
|
36
|
+
|
37
|
+
# see PlatformUsage
|
38
|
+
def platform_usage
|
39
|
+
data[:platformUsage]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Tikkie
|
4
|
+
module Api
|
5
|
+
module Responses
|
6
|
+
# Response when requesting platforms (list).
|
7
|
+
class Platforms < Base
|
8
|
+
include Enumerable
|
9
|
+
|
10
|
+
def each(&block)
|
11
|
+
platforms.each(&block)
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def platforms
|
17
|
+
@platforms ||= begin
|
18
|
+
platforms = []
|
19
|
+
|
20
|
+
data.each do |platform|
|
21
|
+
platforms << Tikkie::Api::Responses::Platform.new(platform)
|
22
|
+
end
|
23
|
+
|
24
|
+
platforms
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Tikkie
|
4
|
+
module Api
|
5
|
+
module Responses
|
6
|
+
# Response when requesting an user.
|
7
|
+
class User < Base
|
8
|
+
def user_token
|
9
|
+
data[:userToken]
|
10
|
+
end
|
11
|
+
|
12
|
+
def name
|
13
|
+
data[:name]
|
14
|
+
end
|
15
|
+
|
16
|
+
# see UserStatus
|
17
|
+
def status
|
18
|
+
data[:status]
|
19
|
+
end
|
20
|
+
|
21
|
+
def active?
|
22
|
+
status == Tikkie::Api::Types::UserStatus::ACTIVE
|
23
|
+
end
|
24
|
+
|
25
|
+
def bank_accounts
|
26
|
+
@bank_accounts ||= begin
|
27
|
+
bank_accounts = []
|
28
|
+
|
29
|
+
data[:bankAccounts].each do |data|
|
30
|
+
bank_accounts << Tikkie::Api::Responses::BankAccount.new(data)
|
31
|
+
end
|
32
|
+
|
33
|
+
bank_accounts
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Tikkie
|
4
|
+
module Api
|
5
|
+
module Responses
|
6
|
+
# Response when requesting users (list).
|
7
|
+
class Users < Base
|
8
|
+
include Enumerable
|
9
|
+
|
10
|
+
def initialize(response)
|
11
|
+
super(response)
|
12
|
+
end
|
13
|
+
|
14
|
+
def each(&block)
|
15
|
+
users.each(&block)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def users
|
21
|
+
@users ||= begin
|
22
|
+
users = []
|
23
|
+
|
24
|
+
data.each do |user|
|
25
|
+
users << Tikkie::Api::Responses::User.new(user)
|
26
|
+
end
|
27
|
+
|
28
|
+
users
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Tikkie
|
4
|
+
module Api
|
5
|
+
module Types
|
6
|
+
module PaymentRequestStatus
|
7
|
+
OPEN = "OPEN"
|
8
|
+
CLOSED = "CLOSED"
|
9
|
+
EXPIRED = "EXPIRED"
|
10
|
+
MAX_YIELD_REACHED = "MAX_YIELD_REACHED"
|
11
|
+
MAX_SUCCESSFUL_PAYMENTS_REACHED = "MAX_SUCCESSFUL_PAYMENTS_REACHED"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/tikkie-api.gemspec
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path("../lib", __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require "tikkie/api/version"
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = "tikkie-api"
|
9
|
+
spec.version = Tikkie::Api::VERSION
|
10
|
+
spec.authors = ["Kentaa BV"]
|
11
|
+
spec.email = ["support@kentaa.nl"]
|
12
|
+
|
13
|
+
spec.summary = "Ruby library for communicating with the Tikkie API"
|
14
|
+
spec.homepage = "https://github.com/KentaaNL/tikkie-api"
|
15
|
+
spec.license = "MIT"
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
|
+
f.match(%r{^(test|spec|features)/})
|
19
|
+
end
|
20
|
+
spec.bindir = "exe"
|
21
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
+
spec.require_paths = ["lib"]
|
23
|
+
|
24
|
+
spec.add_dependency "jwt", ">= 1.0"
|
25
|
+
|
26
|
+
spec.add_development_dependency "bundler", "~> 1.16"
|
27
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
28
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
29
|
+
spec.add_development_dependency "timecop", "~> 0.9"
|
30
|
+
spec.add_development_dependency "webmock", "~> 2.3"
|
31
|
+
end
|
metadata
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tikkie-api
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kentaa BV
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-02-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jwt
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.16'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.16'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: timecop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.9'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.9'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.3'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.3'
|
97
|
+
description:
|
98
|
+
email:
|
99
|
+
- support@kentaa.nl
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- ".gitignore"
|
105
|
+
- ".rspec"
|
106
|
+
- ".rubocop.yml"
|
107
|
+
- ".travis.yml"
|
108
|
+
- Gemfile
|
109
|
+
- Gemfile.lock
|
110
|
+
- LICENSE.txt
|
111
|
+
- README.md
|
112
|
+
- Rakefile
|
113
|
+
- bin/console
|
114
|
+
- bin/setup
|
115
|
+
- lib/tikkie/api.rb
|
116
|
+
- lib/tikkie/api/access_token.rb
|
117
|
+
- lib/tikkie/api/authentication.rb
|
118
|
+
- lib/tikkie/api/client.rb
|
119
|
+
- lib/tikkie/api/configuration.rb
|
120
|
+
- lib/tikkie/api/exception.rb
|
121
|
+
- lib/tikkie/api/request.rb
|
122
|
+
- lib/tikkie/api/requests/payment_requests.rb
|
123
|
+
- lib/tikkie/api/requests/platforms.rb
|
124
|
+
- lib/tikkie/api/requests/users.rb
|
125
|
+
- lib/tikkie/api/responses/bank_account.rb
|
126
|
+
- lib/tikkie/api/responses/base.rb
|
127
|
+
- lib/tikkie/api/responses/error.rb
|
128
|
+
- lib/tikkie/api/responses/pagination.rb
|
129
|
+
- lib/tikkie/api/responses/payment.rb
|
130
|
+
- lib/tikkie/api/responses/payment_request.rb
|
131
|
+
- lib/tikkie/api/responses/payment_request_created.rb
|
132
|
+
- lib/tikkie/api/responses/payment_requests.rb
|
133
|
+
- lib/tikkie/api/responses/platform.rb
|
134
|
+
- lib/tikkie/api/responses/platforms.rb
|
135
|
+
- lib/tikkie/api/responses/user.rb
|
136
|
+
- lib/tikkie/api/responses/users.rb
|
137
|
+
- lib/tikkie/api/types/payment_request_status.rb
|
138
|
+
- lib/tikkie/api/types/payment_status.rb
|
139
|
+
- lib/tikkie/api/types/platform_status.rb
|
140
|
+
- lib/tikkie/api/types/platform_usage.rb
|
141
|
+
- lib/tikkie/api/types/user_status.rb
|
142
|
+
- lib/tikkie/api/version.rb
|
143
|
+
- tikkie-api.gemspec
|
144
|
+
homepage: https://github.com/KentaaNL/tikkie-api
|
145
|
+
licenses:
|
146
|
+
- MIT
|
147
|
+
metadata: {}
|
148
|
+
post_install_message:
|
149
|
+
rdoc_options: []
|
150
|
+
require_paths:
|
151
|
+
- lib
|
152
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '0'
|
157
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
+
requirements:
|
159
|
+
- - ">="
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
162
|
+
requirements: []
|
163
|
+
rubyforge_project:
|
164
|
+
rubygems_version: 2.6.14
|
165
|
+
signing_key:
|
166
|
+
specification_version: 4
|
167
|
+
summary: Ruby library for communicating with the Tikkie API
|
168
|
+
test_files: []
|