cryptopay-ruby 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +36 -0
  3. data/.gitignore +38 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +104 -0
  6. data/Gemfile +8 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +521 -0
  9. data/Rakefile +8 -0
  10. data/bin/console +15 -0
  11. data/cryptopay.gemspec +40 -0
  12. data/lib/cryptopay/api/accounts.rb +51 -0
  13. data/lib/cryptopay/api/channels.rb +142 -0
  14. data/lib/cryptopay/api/coin_withdrawals.rb +115 -0
  15. data/lib/cryptopay/api/customers.rb +85 -0
  16. data/lib/cryptopay/api/exchange_transfers.rb +64 -0
  17. data/lib/cryptopay/api/invoices.rb +163 -0
  18. data/lib/cryptopay/api/rates.rb +50 -0
  19. data/lib/cryptopay/api/risks.rb +32 -0
  20. data/lib/cryptopay/api/transactions.rb +47 -0
  21. data/lib/cryptopay/authentication.rb +30 -0
  22. data/lib/cryptopay/callbacks.rb +38 -0
  23. data/lib/cryptopay/client.rb +39 -0
  24. data/lib/cryptopay/config.rb +48 -0
  25. data/lib/cryptopay/connection.rb +48 -0
  26. data/lib/cryptopay/encoder.rb +113 -0
  27. data/lib/cryptopay/errors.rb +32 -0
  28. data/lib/cryptopay/models/account.rb +88 -0
  29. data/lib/cryptopay/models/account_list_result.rb +70 -0
  30. data/lib/cryptopay/models/callback.rb +25 -0
  31. data/lib/cryptopay/models/channel.rb +156 -0
  32. data/lib/cryptopay/models/channel_list_result.rb +82 -0
  33. data/lib/cryptopay/models/channel_params.rb +102 -0
  34. data/lib/cryptopay/models/channel_payment.rb +216 -0
  35. data/lib/cryptopay/models/channel_payment_callback.rb +92 -0
  36. data/lib/cryptopay/models/channel_payment_callback_event.rb +21 -0
  37. data/lib/cryptopay/models/channel_payment_list_result.rb +82 -0
  38. data/lib/cryptopay/models/channel_payment_result.rb +68 -0
  39. data/lib/cryptopay/models/channel_payment_status.rb +21 -0
  40. data/lib/cryptopay/models/channel_payment_status_context.rb +18 -0
  41. data/lib/cryptopay/models/channel_result.rb +68 -0
  42. data/lib/cryptopay/models/channel_status.rb +18 -0
  43. data/lib/cryptopay/models/channel_update_params.rb +85 -0
  44. data/lib/cryptopay/models/coin_withdrawal.rb +205 -0
  45. data/lib/cryptopay/models/coin_withdrawal_callback.rb +92 -0
  46. data/lib/cryptopay/models/coin_withdrawal_callback_event.rb +18 -0
  47. data/lib/cryptopay/models/coin_withdrawal_list_result.rb +82 -0
  48. data/lib/cryptopay/models/coin_withdrawal_params.rb +135 -0
  49. data/lib/cryptopay/models/coin_withdrawal_result.rb +68 -0
  50. data/lib/cryptopay/models/coin_withdrawal_status.rb +24 -0
  51. data/lib/cryptopay/models/customer.rb +81 -0
  52. data/lib/cryptopay/models/customer_list_result.rb +82 -0
  53. data/lib/cryptopay/models/customer_params.rb +81 -0
  54. data/lib/cryptopay/models/customer_result.rb +68 -0
  55. data/lib/cryptopay/models/customer_update_params.rb +68 -0
  56. data/lib/cryptopay/models/exchange.rb +89 -0
  57. data/lib/cryptopay/models/exchange_transfer.rb +116 -0
  58. data/lib/cryptopay/models/exchange_transfer_params.rb +101 -0
  59. data/lib/cryptopay/models/exchange_transfer_result.rb +68 -0
  60. data/lib/cryptopay/models/invoice.rb +276 -0
  61. data/lib/cryptopay/models/invoice_callback.rb +90 -0
  62. data/lib/cryptopay/models/invoice_callback_event.rb +22 -0
  63. data/lib/cryptopay/models/invoice_list_result.rb +82 -0
  64. data/lib/cryptopay/models/invoice_params.rb +131 -0
  65. data/lib/cryptopay/models/invoice_recalculation.rb +178 -0
  66. data/lib/cryptopay/models/invoice_recalculation_params.rb +61 -0
  67. data/lib/cryptopay/models/invoice_recalculation_result.rb +68 -0
  68. data/lib/cryptopay/models/invoice_refund.rb +154 -0
  69. data/lib/cryptopay/models/invoice_refund_list_result.rb +70 -0
  70. data/lib/cryptopay/models/invoice_refund_params.rb +61 -0
  71. data/lib/cryptopay/models/invoice_refund_result.rb +68 -0
  72. data/lib/cryptopay/models/invoice_result.rb +68 -0
  73. data/lib/cryptopay/models/invoice_status.rb +21 -0
  74. data/lib/cryptopay/models/invoice_status_context.rb +20 -0
  75. data/lib/cryptopay/models/invoice_transaction.rb +76 -0
  76. data/lib/cryptopay/models/network_fee.rb +84 -0
  77. data/lib/cryptopay/models/network_fee_level.rb +19 -0
  78. data/lib/cryptopay/models/network_fee_list_result.rb +70 -0
  79. data/lib/cryptopay/models/pagination.rb +72 -0
  80. data/lib/cryptopay/models/rate.rb +74 -0
  81. data/lib/cryptopay/models/rate_result.rb +68 -0
  82. data/lib/cryptopay/models/rates_result.rb +64 -0
  83. data/lib/cryptopay/models/risk.rb +98 -0
  84. data/lib/cryptopay/models/risk_level.rb +19 -0
  85. data/lib/cryptopay/models/risk_params.rb +86 -0
  86. data/lib/cryptopay/models/risk_result.rb +68 -0
  87. data/lib/cryptopay/models/transaction.rb +174 -0
  88. data/lib/cryptopay/models/transaction_list_result.rb +82 -0
  89. data/lib/cryptopay/models/transaction_reference_type.rb +25 -0
  90. data/lib/cryptopay/request.rb +46 -0
  91. data/lib/cryptopay/require.rb +79 -0
  92. data/lib/cryptopay/types.rb +11 -0
  93. data/lib/cryptopay/version.rb +5 -0
  94. data/lib/cryptopay.rb +26 -0
  95. metadata +256 -0
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Auto-generated file
4
+ # DO NOT EDIT
5
+
6
+ # Models
7
+ require 'cryptopay/models/account'
8
+ require 'cryptopay/models/account_list_result'
9
+ require 'cryptopay/models/callback'
10
+ require 'cryptopay/models/channel'
11
+ require 'cryptopay/models/channel_list_result'
12
+ require 'cryptopay/models/channel_params'
13
+ require 'cryptopay/models/channel_payment'
14
+ require 'cryptopay/models/channel_payment_callback'
15
+ require 'cryptopay/models/channel_payment_callback_event'
16
+ require 'cryptopay/models/channel_payment_list_result'
17
+ require 'cryptopay/models/channel_payment_result'
18
+ require 'cryptopay/models/channel_payment_status'
19
+ require 'cryptopay/models/channel_payment_status_context'
20
+ require 'cryptopay/models/channel_result'
21
+ require 'cryptopay/models/channel_status'
22
+ require 'cryptopay/models/channel_update_params'
23
+ require 'cryptopay/models/coin_withdrawal'
24
+ require 'cryptopay/models/coin_withdrawal_callback'
25
+ require 'cryptopay/models/coin_withdrawal_callback_event'
26
+ require 'cryptopay/models/coin_withdrawal_list_result'
27
+ require 'cryptopay/models/coin_withdrawal_params'
28
+ require 'cryptopay/models/coin_withdrawal_result'
29
+ require 'cryptopay/models/coin_withdrawal_status'
30
+ require 'cryptopay/models/customer'
31
+ require 'cryptopay/models/customer_list_result'
32
+ require 'cryptopay/models/customer_params'
33
+ require 'cryptopay/models/customer_result'
34
+ require 'cryptopay/models/customer_update_params'
35
+ require 'cryptopay/models/exchange'
36
+ require 'cryptopay/models/exchange_transfer'
37
+ require 'cryptopay/models/exchange_transfer_params'
38
+ require 'cryptopay/models/exchange_transfer_result'
39
+ require 'cryptopay/models/invoice'
40
+ require 'cryptopay/models/invoice_callback'
41
+ require 'cryptopay/models/invoice_callback_event'
42
+ require 'cryptopay/models/invoice_list_result'
43
+ require 'cryptopay/models/invoice_params'
44
+ require 'cryptopay/models/invoice_recalculation'
45
+ require 'cryptopay/models/invoice_recalculation_params'
46
+ require 'cryptopay/models/invoice_recalculation_result'
47
+ require 'cryptopay/models/invoice_refund'
48
+ require 'cryptopay/models/invoice_refund_list_result'
49
+ require 'cryptopay/models/invoice_refund_params'
50
+ require 'cryptopay/models/invoice_refund_result'
51
+ require 'cryptopay/models/invoice_result'
52
+ require 'cryptopay/models/invoice_status'
53
+ require 'cryptopay/models/invoice_status_context'
54
+ require 'cryptopay/models/invoice_transaction'
55
+ require 'cryptopay/models/network_fee'
56
+ require 'cryptopay/models/network_fee_level'
57
+ require 'cryptopay/models/network_fee_list_result'
58
+ require 'cryptopay/models/pagination'
59
+ require 'cryptopay/models/rate'
60
+ require 'cryptopay/models/rate_result'
61
+ require 'cryptopay/models/rates_result'
62
+ require 'cryptopay/models/risk'
63
+ require 'cryptopay/models/risk_level'
64
+ require 'cryptopay/models/risk_params'
65
+ require 'cryptopay/models/risk_result'
66
+ require 'cryptopay/models/transaction'
67
+ require 'cryptopay/models/transaction_list_result'
68
+ require 'cryptopay/models/transaction_reference_type'
69
+
70
+ # APIs
71
+ require 'cryptopay/api/accounts'
72
+ require 'cryptopay/api/channels'
73
+ require 'cryptopay/api/coin_withdrawals'
74
+ require 'cryptopay/api/customers'
75
+ require 'cryptopay/api/exchange_transfers'
76
+ require 'cryptopay/api/invoices'
77
+ require 'cryptopay/api/rates'
78
+ require 'cryptopay/api/risks'
79
+ require 'cryptopay/api/transactions'
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bigdecimal'
4
+
5
+ module Cryptopay
6
+ module Decimal
7
+ def self.build_from_hash(value)
8
+ BigDecimal(value)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cryptopay
4
+ VERSION = '0.1.0'
5
+ end
data/lib/cryptopay.rb ADDED
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'base64'
4
+ require 'cgi'
5
+ require 'faraday'
6
+ require 'json'
7
+ require 'date'
8
+ require 'time'
9
+
10
+ # Common files
11
+ require 'cryptopay/version'
12
+ require 'cryptopay/encoder'
13
+ require 'cryptopay/require'
14
+ require 'cryptopay/config'
15
+ require 'cryptopay/authentication'
16
+ require 'cryptopay/connection'
17
+ require 'cryptopay/types'
18
+ require 'cryptopay/request'
19
+ require 'cryptopay/callbacks'
20
+ require 'cryptopay/client'
21
+ require 'cryptopay/errors'
22
+
23
+ module Cryptopay
24
+ PRODUCTION = 'https://business.cryptopay.me'
25
+ SANDBOX = 'https://business-sandbox.cryptopay.me'
26
+ end
metadata ADDED
@@ -0,0 +1,256 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cryptopay-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Cryptopay
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-11-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.0.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.0.1
33
+ - !ruby/object:Gem::Dependency
34
+ name: dotenv
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: pry-byebug
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rubocop
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: vcr
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: webmock
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ description: ''
132
+ email: support@cryptopay.me
133
+ executables: []
134
+ extensions: []
135
+ extra_rdoc_files: []
136
+ files:
137
+ - ".github/workflows/ci.yml"
138
+ - ".gitignore"
139
+ - ".rspec"
140
+ - ".rubocop.yml"
141
+ - Gemfile
142
+ - LICENSE.txt
143
+ - README.md
144
+ - Rakefile
145
+ - bin/console
146
+ - cryptopay.gemspec
147
+ - lib/cryptopay.rb
148
+ - lib/cryptopay/api/accounts.rb
149
+ - lib/cryptopay/api/channels.rb
150
+ - lib/cryptopay/api/coin_withdrawals.rb
151
+ - lib/cryptopay/api/customers.rb
152
+ - lib/cryptopay/api/exchange_transfers.rb
153
+ - lib/cryptopay/api/invoices.rb
154
+ - lib/cryptopay/api/rates.rb
155
+ - lib/cryptopay/api/risks.rb
156
+ - lib/cryptopay/api/transactions.rb
157
+ - lib/cryptopay/authentication.rb
158
+ - lib/cryptopay/callbacks.rb
159
+ - lib/cryptopay/client.rb
160
+ - lib/cryptopay/config.rb
161
+ - lib/cryptopay/connection.rb
162
+ - lib/cryptopay/encoder.rb
163
+ - lib/cryptopay/errors.rb
164
+ - lib/cryptopay/models/account.rb
165
+ - lib/cryptopay/models/account_list_result.rb
166
+ - lib/cryptopay/models/callback.rb
167
+ - lib/cryptopay/models/channel.rb
168
+ - lib/cryptopay/models/channel_list_result.rb
169
+ - lib/cryptopay/models/channel_params.rb
170
+ - lib/cryptopay/models/channel_payment.rb
171
+ - lib/cryptopay/models/channel_payment_callback.rb
172
+ - lib/cryptopay/models/channel_payment_callback_event.rb
173
+ - lib/cryptopay/models/channel_payment_list_result.rb
174
+ - lib/cryptopay/models/channel_payment_result.rb
175
+ - lib/cryptopay/models/channel_payment_status.rb
176
+ - lib/cryptopay/models/channel_payment_status_context.rb
177
+ - lib/cryptopay/models/channel_result.rb
178
+ - lib/cryptopay/models/channel_status.rb
179
+ - lib/cryptopay/models/channel_update_params.rb
180
+ - lib/cryptopay/models/coin_withdrawal.rb
181
+ - lib/cryptopay/models/coin_withdrawal_callback.rb
182
+ - lib/cryptopay/models/coin_withdrawal_callback_event.rb
183
+ - lib/cryptopay/models/coin_withdrawal_list_result.rb
184
+ - lib/cryptopay/models/coin_withdrawal_params.rb
185
+ - lib/cryptopay/models/coin_withdrawal_result.rb
186
+ - lib/cryptopay/models/coin_withdrawal_status.rb
187
+ - lib/cryptopay/models/customer.rb
188
+ - lib/cryptopay/models/customer_list_result.rb
189
+ - lib/cryptopay/models/customer_params.rb
190
+ - lib/cryptopay/models/customer_result.rb
191
+ - lib/cryptopay/models/customer_update_params.rb
192
+ - lib/cryptopay/models/exchange.rb
193
+ - lib/cryptopay/models/exchange_transfer.rb
194
+ - lib/cryptopay/models/exchange_transfer_params.rb
195
+ - lib/cryptopay/models/exchange_transfer_result.rb
196
+ - lib/cryptopay/models/invoice.rb
197
+ - lib/cryptopay/models/invoice_callback.rb
198
+ - lib/cryptopay/models/invoice_callback_event.rb
199
+ - lib/cryptopay/models/invoice_list_result.rb
200
+ - lib/cryptopay/models/invoice_params.rb
201
+ - lib/cryptopay/models/invoice_recalculation.rb
202
+ - lib/cryptopay/models/invoice_recalculation_params.rb
203
+ - lib/cryptopay/models/invoice_recalculation_result.rb
204
+ - lib/cryptopay/models/invoice_refund.rb
205
+ - lib/cryptopay/models/invoice_refund_list_result.rb
206
+ - lib/cryptopay/models/invoice_refund_params.rb
207
+ - lib/cryptopay/models/invoice_refund_result.rb
208
+ - lib/cryptopay/models/invoice_result.rb
209
+ - lib/cryptopay/models/invoice_status.rb
210
+ - lib/cryptopay/models/invoice_status_context.rb
211
+ - lib/cryptopay/models/invoice_transaction.rb
212
+ - lib/cryptopay/models/network_fee.rb
213
+ - lib/cryptopay/models/network_fee_level.rb
214
+ - lib/cryptopay/models/network_fee_list_result.rb
215
+ - lib/cryptopay/models/pagination.rb
216
+ - lib/cryptopay/models/rate.rb
217
+ - lib/cryptopay/models/rate_result.rb
218
+ - lib/cryptopay/models/rates_result.rb
219
+ - lib/cryptopay/models/risk.rb
220
+ - lib/cryptopay/models/risk_level.rb
221
+ - lib/cryptopay/models/risk_params.rb
222
+ - lib/cryptopay/models/risk_result.rb
223
+ - lib/cryptopay/models/transaction.rb
224
+ - lib/cryptopay/models/transaction_list_result.rb
225
+ - lib/cryptopay/models/transaction_reference_type.rb
226
+ - lib/cryptopay/request.rb
227
+ - lib/cryptopay/require.rb
228
+ - lib/cryptopay/types.rb
229
+ - lib/cryptopay/version.rb
230
+ homepage: https://developers.cryptopay.me
231
+ licenses:
232
+ - MIT
233
+ metadata:
234
+ bug_tracker_uri: https://github.com/cryptopay-dev/cryptopay-ruby/issues
235
+ source_code_uri: https://github.com/cryptopay-dev/cryptopay-ruby
236
+ rubygems_mfa_required: 'true'
237
+ post_install_message:
238
+ rdoc_options: []
239
+ require_paths:
240
+ - lib
241
+ required_ruby_version: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: 2.6.0
246
+ required_rubygems_version: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ requirements: []
252
+ rubygems_version: 3.0.3
253
+ signing_key:
254
+ specification_version: 4
255
+ summary: The official Ruby gem for the Cryptopay API
256
+ test_files: []