cryptocoin_payable 1.0.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.
Files changed (103) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +1 -0
  4. data/.rubocop.yml +36 -0
  5. data/Gemfile +8 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +237 -0
  8. data/Rakefile +3 -0
  9. data/bin/console +15 -0
  10. data/bin/setup +8 -0
  11. data/cryptocoin_payable.gemspec +39 -0
  12. data/features/coin_payments.feature +51 -0
  13. data/features/default.feature +5 -0
  14. data/features/pricing_processor.feature +4 -0
  15. data/features/step_definitions/coin_payment_steps.rb +45 -0
  16. data/features/step_definitions/currency_conversion_steps.rb +12 -0
  17. data/features/step_definitions/model_step.rb +11 -0
  18. data/features/step_definitions/processor_steps.rb +7 -0
  19. data/features/step_definitions/widget_steps.rb +3 -0
  20. data/features/support/env.rb +26 -0
  21. data/lib/cryptocoin_payable/adapters/base.rb +99 -0
  22. data/lib/cryptocoin_payable/adapters/bitcoin.rb +93 -0
  23. data/lib/cryptocoin_payable/adapters/bitcoin_cash.rb +34 -0
  24. data/lib/cryptocoin_payable/adapters/ethereum.rb +77 -0
  25. data/lib/cryptocoin_payable/adapters.rb +27 -0
  26. data/lib/cryptocoin_payable/coin_payment.rb +141 -0
  27. data/lib/cryptocoin_payable/coin_payment_transaction.rb +5 -0
  28. data/lib/cryptocoin_payable/commands/payment_processor.rb +67 -0
  29. data/lib/cryptocoin_payable/commands/pricing_processor.rb +43 -0
  30. data/lib/cryptocoin_payable/config.rb +65 -0
  31. data/lib/cryptocoin_payable/currency_conversion.rb +11 -0
  32. data/lib/cryptocoin_payable/errors.rb +7 -0
  33. data/lib/cryptocoin_payable/has_coin_payments.rb +15 -0
  34. data/lib/cryptocoin_payable/tasks.rb +20 -0
  35. data/lib/cryptocoin_payable/version.rb +3 -0
  36. data/lib/cryptocoin_payable.rb +18 -0
  37. data/lib/generators/cryptocoin_payable/install_generator.rb +27 -0
  38. data/lib/generators/cryptocoin_payable/templates/create_coin_payment_transactions.rb +16 -0
  39. data/lib/generators/cryptocoin_payable/templates/create_coin_payments.rb +19 -0
  40. data/lib/generators/cryptocoin_payable/templates/create_currency_conversions.rb +11 -0
  41. data/spec/acceptance/adapters/bitcoin_cash_spec.rb +54 -0
  42. data/spec/acceptance/adapters/bitcoin_spec.rb +79 -0
  43. data/spec/acceptance/adapters/ethereum_spec.rb +77 -0
  44. data/spec/dummy/README.rdoc +28 -0
  45. data/spec/dummy/Rakefile +6 -0
  46. data/spec/dummy/app/assets/images/.keep +0 -0
  47. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  48. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  49. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  50. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  51. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  52. data/spec/dummy/app/mailers/.keep +0 -0
  53. data/spec/dummy/app/models/.keep +0 -0
  54. data/spec/dummy/app/models/concerns/.keep +0 -0
  55. data/spec/dummy/app/models/widget.rb +3 -0
  56. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  57. data/spec/dummy/bin/bundle +3 -0
  58. data/spec/dummy/bin/rails +4 -0
  59. data/spec/dummy/bin/rake +4 -0
  60. data/spec/dummy/config/application.rb +22 -0
  61. data/spec/dummy/config/boot.rb +5 -0
  62. data/spec/dummy/config/database.yml +25 -0
  63. data/spec/dummy/config/environment.rb +5 -0
  64. data/spec/dummy/config/environments/development.rb +29 -0
  65. data/spec/dummy/config/environments/production.rb +80 -0
  66. data/spec/dummy/config/environments/test.rb +36 -0
  67. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  68. data/spec/dummy/config/initializers/cryptocoin_payable.rb +23 -0
  69. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  70. data/spec/dummy/config/initializers/inflections.rb +16 -0
  71. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  72. data/spec/dummy/config/initializers/secret_token.rb +14 -0
  73. data/spec/dummy/config/initializers/session_store.rb +3 -0
  74. data/spec/dummy/config/initializers/state_machine.rb +10 -0
  75. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  76. data/spec/dummy/config/locales/en.yml +23 -0
  77. data/spec/dummy/config/routes.rb +56 -0
  78. data/spec/dummy/config.ru +4 -0
  79. data/spec/dummy/db/development.sqlite3 +0 -0
  80. data/spec/dummy/db/migrate/20140510023211_create_widgets.rb +5 -0
  81. data/spec/dummy/db/migrate/20171227225132_create_coin_payments.rb +19 -0
  82. data/spec/dummy/db/migrate/20171227225133_create_coin_payment_transactions.rb +16 -0
  83. data/spec/dummy/db/migrate/20171227225134_create_currency_conversions.rb +11 -0
  84. data/spec/dummy/db/schema.rb +54 -0
  85. data/spec/dummy/lib/assets/.keep +0 -0
  86. data/spec/dummy/log/.keep +0 -0
  87. data/spec/dummy/public/404.html +58 -0
  88. data/spec/dummy/public/422.html +58 -0
  89. data/spec/dummy/public/500.html +57 -0
  90. data/spec/dummy/public/favicon.ico +0 -0
  91. data/spec/dummy/test/fixtures/widgets.yml +11 -0
  92. data/spec/dummy/test/models/widget_test.rb +7 -0
  93. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/gets_an_empty_result_when_no_transactions_found.yml +67 -0
  94. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/gets_transactions_for_a_given_address.yml +73 -0
  95. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/raises_an_error_when_an_invalid_address_is_passed.yml +103 -0
  96. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/when_the_Block_Explorer_API_fails/falls_back_to_using_the_BlockCypher_API.yml +171 -0
  97. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_BitcoinCash/gets_an_empty_result_when_no_transactions_found.yml +62 -0
  98. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_BitcoinCash/gets_transactions_for_a_given_address.yml +65 -0
  99. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_an_empty_result_when_no_transactions_found.yml +44 -0
  100. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_transactions_for_a_given_address.yml +44 -0
  101. data/spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/raises_an_error_when_an_invalid_address_is_passed.yml +44 -0
  102. data/spec/spec_helper.rb +112 -0
  103. metadata +428 -0
metadata ADDED
@@ -0,0 +1,428 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cryptocoin_payable
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Jonathan Salis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-10-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.1'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.1'
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.15'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.15'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cucumber
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: database_cleaner
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.7'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.7'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '12.3'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '12.3'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.7'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.7'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.59'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.59'
111
+ - !ruby/object:Gem::Dependency
112
+ name: sqlite3
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.3'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.3'
125
+ - !ruby/object:Gem::Dependency
126
+ name: vcr
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '4.0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '4.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: webmock
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.4'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.4'
153
+ - !ruby/object:Gem::Dependency
154
+ name: cash-addr
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.2'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '0.2'
167
+ - !ruby/object:Gem::Dependency
168
+ name: eth
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - '='
172
+ - !ruby/object:Gem::Version
173
+ version: 0.4.8
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '='
179
+ - !ruby/object:Gem::Version
180
+ version: 0.4.8
181
+ - !ruby/object:Gem::Dependency
182
+ name: money-tree
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - '='
186
+ - !ruby/object:Gem::Version
187
+ version: 0.10.0
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '='
193
+ - !ruby/object:Gem::Version
194
+ version: 0.10.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: rails
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: state_machine
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1.2'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1.2'
223
+ description: Cryptocurrency payment processor
224
+ email:
225
+ - jsalis@bitcoinsultants.ca
226
+ executables:
227
+ - console
228
+ - setup
229
+ extensions: []
230
+ extra_rdoc_files: []
231
+ files:
232
+ - ".gitignore"
233
+ - ".rspec"
234
+ - ".rubocop.yml"
235
+ - Gemfile
236
+ - LICENSE.txt
237
+ - README.md
238
+ - Rakefile
239
+ - bin/console
240
+ - bin/setup
241
+ - cryptocoin_payable.gemspec
242
+ - features/coin_payments.feature
243
+ - features/default.feature
244
+ - features/pricing_processor.feature
245
+ - features/step_definitions/coin_payment_steps.rb
246
+ - features/step_definitions/currency_conversion_steps.rb
247
+ - features/step_definitions/model_step.rb
248
+ - features/step_definitions/processor_steps.rb
249
+ - features/step_definitions/widget_steps.rb
250
+ - features/support/env.rb
251
+ - lib/cryptocoin_payable.rb
252
+ - lib/cryptocoin_payable/adapters.rb
253
+ - lib/cryptocoin_payable/adapters/base.rb
254
+ - lib/cryptocoin_payable/adapters/bitcoin.rb
255
+ - lib/cryptocoin_payable/adapters/bitcoin_cash.rb
256
+ - lib/cryptocoin_payable/adapters/ethereum.rb
257
+ - lib/cryptocoin_payable/coin_payment.rb
258
+ - lib/cryptocoin_payable/coin_payment_transaction.rb
259
+ - lib/cryptocoin_payable/commands/payment_processor.rb
260
+ - lib/cryptocoin_payable/commands/pricing_processor.rb
261
+ - lib/cryptocoin_payable/config.rb
262
+ - lib/cryptocoin_payable/currency_conversion.rb
263
+ - lib/cryptocoin_payable/errors.rb
264
+ - lib/cryptocoin_payable/has_coin_payments.rb
265
+ - lib/cryptocoin_payable/tasks.rb
266
+ - lib/cryptocoin_payable/version.rb
267
+ - lib/generators/cryptocoin_payable/install_generator.rb
268
+ - lib/generators/cryptocoin_payable/templates/create_coin_payment_transactions.rb
269
+ - lib/generators/cryptocoin_payable/templates/create_coin_payments.rb
270
+ - lib/generators/cryptocoin_payable/templates/create_currency_conversions.rb
271
+ - spec/acceptance/adapters/bitcoin_cash_spec.rb
272
+ - spec/acceptance/adapters/bitcoin_spec.rb
273
+ - spec/acceptance/adapters/ethereum_spec.rb
274
+ - spec/dummy/README.rdoc
275
+ - spec/dummy/Rakefile
276
+ - spec/dummy/app/assets/images/.keep
277
+ - spec/dummy/app/assets/javascripts/application.js
278
+ - spec/dummy/app/assets/stylesheets/application.css
279
+ - spec/dummy/app/controllers/application_controller.rb
280
+ - spec/dummy/app/controllers/concerns/.keep
281
+ - spec/dummy/app/helpers/application_helper.rb
282
+ - spec/dummy/app/mailers/.keep
283
+ - spec/dummy/app/models/.keep
284
+ - spec/dummy/app/models/concerns/.keep
285
+ - spec/dummy/app/models/widget.rb
286
+ - spec/dummy/app/views/layouts/application.html.erb
287
+ - spec/dummy/bin/bundle
288
+ - spec/dummy/bin/rails
289
+ - spec/dummy/bin/rake
290
+ - spec/dummy/config.ru
291
+ - spec/dummy/config/application.rb
292
+ - spec/dummy/config/boot.rb
293
+ - spec/dummy/config/database.yml
294
+ - spec/dummy/config/environment.rb
295
+ - spec/dummy/config/environments/development.rb
296
+ - spec/dummy/config/environments/production.rb
297
+ - spec/dummy/config/environments/test.rb
298
+ - spec/dummy/config/initializers/backtrace_silencers.rb
299
+ - spec/dummy/config/initializers/cryptocoin_payable.rb
300
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
301
+ - spec/dummy/config/initializers/inflections.rb
302
+ - spec/dummy/config/initializers/mime_types.rb
303
+ - spec/dummy/config/initializers/secret_token.rb
304
+ - spec/dummy/config/initializers/session_store.rb
305
+ - spec/dummy/config/initializers/state_machine.rb
306
+ - spec/dummy/config/initializers/wrap_parameters.rb
307
+ - spec/dummy/config/locales/en.yml
308
+ - spec/dummy/config/routes.rb
309
+ - spec/dummy/db/development.sqlite3
310
+ - spec/dummy/db/migrate/20140510023211_create_widgets.rb
311
+ - spec/dummy/db/migrate/20171227225132_create_coin_payments.rb
312
+ - spec/dummy/db/migrate/20171227225133_create_coin_payment_transactions.rb
313
+ - spec/dummy/db/migrate/20171227225134_create_currency_conversions.rb
314
+ - spec/dummy/db/schema.rb
315
+ - spec/dummy/lib/assets/.keep
316
+ - spec/dummy/log/.keep
317
+ - spec/dummy/public/404.html
318
+ - spec/dummy/public/422.html
319
+ - spec/dummy/public/500.html
320
+ - spec/dummy/public/favicon.ico
321
+ - spec/dummy/test/fixtures/widgets.yml
322
+ - spec/dummy/test/models/widget_test.rb
323
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/gets_an_empty_result_when_no_transactions_found.yml
324
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/gets_transactions_for_a_given_address.yml
325
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/raises_an_error_when_an_invalid_address_is_passed.yml
326
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/when_the_Block_Explorer_API_fails/falls_back_to_using_the_BlockCypher_API.yml
327
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_BitcoinCash/gets_an_empty_result_when_no_transactions_found.yml
328
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_BitcoinCash/gets_transactions_for_a_given_address.yml
329
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_an_empty_result_when_no_transactions_found.yml
330
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_transactions_for_a_given_address.yml
331
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/raises_an_error_when_an_invalid_address_is_passed.yml
332
+ - spec/spec_helper.rb
333
+ homepage: ''
334
+ licenses:
335
+ - MIT
336
+ metadata: {}
337
+ post_install_message:
338
+ rdoc_options: []
339
+ require_paths:
340
+ - lib
341
+ required_ruby_version: !ruby/object:Gem::Requirement
342
+ requirements:
343
+ - - ">="
344
+ - !ruby/object:Gem::Version
345
+ version: '0'
346
+ required_rubygems_version: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - ">="
349
+ - !ruby/object:Gem::Version
350
+ version: 1.3.6
351
+ requirements: []
352
+ rubyforge_project:
353
+ rubygems_version: 2.6.12
354
+ signing_key:
355
+ specification_version: 4
356
+ summary: Cryptocurrency payment processor
357
+ test_files:
358
+ - features/coin_payments.feature
359
+ - features/default.feature
360
+ - features/pricing_processor.feature
361
+ - features/step_definitions/coin_payment_steps.rb
362
+ - features/step_definitions/currency_conversion_steps.rb
363
+ - features/step_definitions/model_step.rb
364
+ - features/step_definitions/processor_steps.rb
365
+ - features/step_definitions/widget_steps.rb
366
+ - features/support/env.rb
367
+ - spec/acceptance/adapters/bitcoin_cash_spec.rb
368
+ - spec/acceptance/adapters/bitcoin_spec.rb
369
+ - spec/acceptance/adapters/ethereum_spec.rb
370
+ - spec/dummy/README.rdoc
371
+ - spec/dummy/Rakefile
372
+ - spec/dummy/app/assets/images/.keep
373
+ - spec/dummy/app/assets/javascripts/application.js
374
+ - spec/dummy/app/assets/stylesheets/application.css
375
+ - spec/dummy/app/controllers/application_controller.rb
376
+ - spec/dummy/app/controllers/concerns/.keep
377
+ - spec/dummy/app/helpers/application_helper.rb
378
+ - spec/dummy/app/mailers/.keep
379
+ - spec/dummy/app/models/.keep
380
+ - spec/dummy/app/models/concerns/.keep
381
+ - spec/dummy/app/models/widget.rb
382
+ - spec/dummy/app/views/layouts/application.html.erb
383
+ - spec/dummy/bin/bundle
384
+ - spec/dummy/bin/rails
385
+ - spec/dummy/bin/rake
386
+ - spec/dummy/config.ru
387
+ - spec/dummy/config/application.rb
388
+ - spec/dummy/config/boot.rb
389
+ - spec/dummy/config/database.yml
390
+ - spec/dummy/config/environment.rb
391
+ - spec/dummy/config/environments/development.rb
392
+ - spec/dummy/config/environments/production.rb
393
+ - spec/dummy/config/environments/test.rb
394
+ - spec/dummy/config/initializers/backtrace_silencers.rb
395
+ - spec/dummy/config/initializers/cryptocoin_payable.rb
396
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
397
+ - spec/dummy/config/initializers/inflections.rb
398
+ - spec/dummy/config/initializers/mime_types.rb
399
+ - spec/dummy/config/initializers/secret_token.rb
400
+ - spec/dummy/config/initializers/session_store.rb
401
+ - spec/dummy/config/initializers/state_machine.rb
402
+ - spec/dummy/config/initializers/wrap_parameters.rb
403
+ - spec/dummy/config/locales/en.yml
404
+ - spec/dummy/config/routes.rb
405
+ - spec/dummy/db/development.sqlite3
406
+ - spec/dummy/db/migrate/20140510023211_create_widgets.rb
407
+ - spec/dummy/db/migrate/20171227225132_create_coin_payments.rb
408
+ - spec/dummy/db/migrate/20171227225133_create_coin_payment_transactions.rb
409
+ - spec/dummy/db/migrate/20171227225134_create_currency_conversions.rb
410
+ - spec/dummy/db/schema.rb
411
+ - spec/dummy/lib/assets/.keep
412
+ - spec/dummy/log/.keep
413
+ - spec/dummy/public/404.html
414
+ - spec/dummy/public/422.html
415
+ - spec/dummy/public/500.html
416
+ - spec/dummy/public/favicon.ico
417
+ - spec/dummy/test/fixtures/widgets.yml
418
+ - spec/dummy/test/models/widget_test.rb
419
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/gets_an_empty_result_when_no_transactions_found.yml
420
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/gets_transactions_for_a_given_address.yml
421
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/raises_an_error_when_an_invalid_address_is_passed.yml
422
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Bitcoin/when_the_Block_Explorer_API_fails/falls_back_to_using_the_BlockCypher_API.yml
423
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_BitcoinCash/gets_an_empty_result_when_no_transactions_found.yml
424
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_BitcoinCash/gets_transactions_for_a_given_address.yml
425
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_an_empty_result_when_no_transactions_found.yml
426
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_transactions_for_a_given_address.yml
427
+ - spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/raises_an_error_when_an_invalid_address_is_passed.yml
428
+ - spec/spec_helper.rb