cryptocoin_payable 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cryptocoin_payable.gemspec +1 -0
- data/lib/cryptocoin_payable/commands/pricing_processor.rb +1 -1
- data/lib/cryptocoin_payable/version.rb +1 -1
- data/spec/acceptance/commands/payment_processor_spec.rb +2 -26
- data/spec/acceptance/commands/pricing_processor_spec.rb +31 -0
- data/spec/fixtures/vcr_cassettes/CryptocoinPayable_PricingProcessor/when_updating_stale_payments/can_update.yml +205 -0
- data/spec/spec_helper.rb +23 -0
- metadata +20 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d62d90884baf847ad534ef72165b1801e663fde8
|
4
|
+
data.tar.gz: 88faef02487bb72bc15f656c0165591413886c60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8730b71aa84bf994a2b3a30b29cd49d36e11d67dae148c826867c8c002614b29adadf2b2c61eaef97f28df9fe6f3c3eda24d4bde00d31b730bf14ad114a06921
|
7
|
+
data.tar.gz: b613eae2be4f0f4d539d864b31bdc90e703306ee305430ac1c91bde10c42e757134f708fc991bcad2945d6d1eec397a87942602634a663ece87cd5008e789d9d
|
data/cryptocoin_payable.gemspec
CHANGED
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_development_dependency 'rspec-rails', '~> 3.7'
|
32
32
|
spec.add_development_dependency 'rspec-retry', '~> 0.6'
|
33
33
|
spec.add_development_dependency 'rubocop', '~> 0.59'
|
34
|
+
spec.add_development_dependency 'timecop', '~> 0.9'
|
34
35
|
spec.add_development_dependency 'vcr', '~> 4.0'
|
35
36
|
spec.add_development_dependency 'webmock', '~> 3.4'
|
36
37
|
|
@@ -25,7 +25,7 @@ module CryptocoinPayable
|
|
25
25
|
# Loop through all unpaid payments and update them with the new price if
|
26
26
|
# it has been 30 mins since they have been updated.
|
27
27
|
CoinPayment.unpaid.stale.find_each do |payment|
|
28
|
-
payment.update_coin_amount_due(
|
28
|
+
payment.update_coin_amount_due(rate: rates[payment.coin_type.to_sym].price)
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -18,33 +18,9 @@ describe CryptocoinPayable::PaymentProcessor do
|
|
18
18
|
transactions
|
19
19
|
end
|
20
20
|
|
21
|
-
def create_tables
|
22
|
-
ENV['RAILS_ENV'] = 'test'
|
23
|
-
load 'spec/dummy/db/schema.rb'
|
24
|
-
end
|
25
|
-
|
26
|
-
def drop_tables
|
27
|
-
%i[
|
28
|
-
coin_payment_transactions
|
29
|
-
coin_payments
|
30
|
-
currency_conversions
|
31
|
-
widgets
|
32
|
-
].each do |table_name|
|
33
|
-
ActiveRecord::Base.connection.drop_table(table_name)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
21
|
context 'when testing performance of database interaction' do
|
38
|
-
before(:all)
|
39
|
-
|
40
|
-
create_tables
|
41
|
-
GC.disable
|
42
|
-
end
|
43
|
-
|
44
|
-
after(:all) do
|
45
|
-
GC.enable
|
46
|
-
drop_tables
|
47
|
-
end
|
22
|
+
before(:all) { GC.disable }
|
23
|
+
after(:all) { GC.enable }
|
48
24
|
|
49
25
|
before do
|
50
26
|
CryptocoinPayable::CurrencyConversion.create!(coin_type: :btc, currency: 1, price: 1)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'timecop'
|
2
|
+
|
3
|
+
describe CryptocoinPayable::PricingProcessor, vcr: true do
|
4
|
+
context 'when updating stale payments' do
|
5
|
+
before do
|
6
|
+
# Ensure we have a stale payment.
|
7
|
+
Timecop.freeze(3.days.from_now)
|
8
|
+
|
9
|
+
CryptocoinPayable::CurrencyConversion.create!(
|
10
|
+
coin_type: :btc,
|
11
|
+
currency: 1,
|
12
|
+
price: 1
|
13
|
+
)
|
14
|
+
|
15
|
+
CryptocoinPayable::CoinPayment.create!(
|
16
|
+
state: :pending,
|
17
|
+
coin_type: :btc,
|
18
|
+
price: 1,
|
19
|
+
reason: 'test'
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
after do
|
24
|
+
Timecop.return
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'can update' do
|
28
|
+
subject.perform
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,205 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.coinbase.com/v2/prices/BTC-USD/spot
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Mon, 22 Oct 2018 12:03:43 GMT
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
Transfer-Encoding:
|
26
|
+
- chunked
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
Set-Cookie:
|
30
|
+
- __cfduid=d3e71f70698fb0777476e87de15b925f71540209823; expires=Tue, 22-Oct-19
|
31
|
+
12:03:43 GMT; path=/; domain=.coinbase.com; HttpOnly
|
32
|
+
Cache-Control:
|
33
|
+
- public, max-age=30
|
34
|
+
Content-Disposition:
|
35
|
+
- attachment; filename=response.json
|
36
|
+
Content-Security-Policy:
|
37
|
+
- 'default-src ''self'' https://www.coinbase.com; child-src ''self'' https://www.coinbase.com
|
38
|
+
https://*.online-metrix.net https://*.wpstn.com https://netverify.com https://platform.twitter.com
|
39
|
+
https://www.google.com/recaptcha/ https://cdn.plaid.com/link/ https://*.doubleclick.net/
|
40
|
+
blob: https://coinbase.ada.support; connect-src ''self'' https://www.coinbase.com
|
41
|
+
https://api.coinbase.com https://api.mixpanel.com https://*.online-metrix.net
|
42
|
+
https://api.cloudinary.com https://ott9.wpstn.com/live https://api.amplitude.com/
|
43
|
+
static.coinbase.com wss://ws.coinbase.com wss://ws.coinbase.com:443 https://www.coinbase.com/api
|
44
|
+
https://coinbase.ada.support/api/; font-src ''self'' https://www.coinbase.com
|
45
|
+
https://assets.coinbase.com/ static.coinbase.com; img-src ''self'' data: https://www.coinbase.com
|
46
|
+
https://images.coinbase.com https://exceptions.coinbase.com https://coinbase-uploads.s3.amazonaws.com
|
47
|
+
https://s3.amazonaws.com/app-public/ https://maps.gstatic.com https://ssl.google-analytics.com
|
48
|
+
https://www.google.com https://maps.googleapis.com https://csi.gstatic.com
|
49
|
+
https://www.google-analytics.com https://res.cloudinary.com https://secure.gravatar.com
|
50
|
+
https://i2.wp.com https://*.online-metrix.net https://assets.coinbase.com/
|
51
|
+
https://hexagon-analytics.com https://api.mixpanel.com https://cb-brand.s3.amazonaws.com
|
52
|
+
https://googleads.g.doubleclick.net https://stats.g.doubleclick.net/r/collect
|
53
|
+
blob: static.coinbase.com https://d124s1zbdqkqqe.cloudfront.net https://www.facebook.com/tr;
|
54
|
+
media-src ''self'' https://www.coinbase.com blob:; object-src ''self'' data:
|
55
|
+
blob: https://www.coinbase.com https://cdn.siftscience.com https://*.online-metrix.net
|
56
|
+
https://www.gstatic.com https://www.google.com/recaptcha/api/; script-src
|
57
|
+
''self'' ''unsafe-inline'' ''unsafe-eval'' https://www.coinbase.com https://cdn.siftscience.com
|
58
|
+
https://*.newrelic.com https://bam.nr-data.net https://*.google-analytics.com
|
59
|
+
https://www.google.com https://www.gstatic.com https://*.online-metrix.net
|
60
|
+
https://code.jquery.com https://chart.googleapis.com https://maps.googleapis.com
|
61
|
+
https://maps.gstatic.com https://netverify.com https://ajax.cloudflare.com
|
62
|
+
https://cdn.plaid.com/link/v2/stable/ https://www.googletagmanager.com/gtag/js
|
63
|
+
https://www.googletagmanager.com/gtm.js https://www.googleadservices.com https://googleads.g.doubleclick.net
|
64
|
+
https://assets.coinbase.com/ static.coinbase.com; style-src ''self'' ''unsafe-inline''
|
65
|
+
https://www.coinbase.com https://assets.coinbase.com/ static.coinbase.com;
|
66
|
+
report-uri /csp-report'
|
67
|
+
Etag:
|
68
|
+
- W/"50113d3b29ac6ba037f591afa45666d5"
|
69
|
+
Expect-Ct:
|
70
|
+
- enforce; max-age=86400; report-uri="https://coinbase.report-uri.io/r/default/ct/reportOnly"
|
71
|
+
Referrer-Policy:
|
72
|
+
- strict-origin-when-cross-origin
|
73
|
+
Strict-Transport-Security:
|
74
|
+
- max-age=31536000; includeSubDomains; preload
|
75
|
+
Vary:
|
76
|
+
- Origin,Accept-Encoding
|
77
|
+
X-Content-Type-Options:
|
78
|
+
- nosniff
|
79
|
+
X-Download-Options:
|
80
|
+
- noopen
|
81
|
+
X-Frame-Options:
|
82
|
+
- DENY
|
83
|
+
X-Permitted-Cross-Domain-Policies:
|
84
|
+
- none
|
85
|
+
X-Powered-By:
|
86
|
+
- Proof-of-Work
|
87
|
+
X-Request-Id:
|
88
|
+
- c4a1f140-cfaf-4fd5-b690-c8cbd93cdf98
|
89
|
+
X-Xss-Protection:
|
90
|
+
- 1; mode=block
|
91
|
+
Cf-Cache-Status:
|
92
|
+
- HIT
|
93
|
+
Expires:
|
94
|
+
- Mon, 22 Oct 2018 12:04:13 GMT
|
95
|
+
Server:
|
96
|
+
- cloudflare
|
97
|
+
Cf-Ray:
|
98
|
+
- 46dbd2859e5549a9-BKK
|
99
|
+
body:
|
100
|
+
encoding: ASCII-8BIT
|
101
|
+
string: '{"data":{"base":"BTC","currency":"USD","amount":"6399.36"}}'
|
102
|
+
http_version:
|
103
|
+
recorded_at: Thu, 25 Oct 2018 12:03:55 GMT
|
104
|
+
- request:
|
105
|
+
method: get
|
106
|
+
uri: https://api.coinbase.com/v2/prices/ETH-USD/spot
|
107
|
+
body:
|
108
|
+
encoding: US-ASCII
|
109
|
+
string: ''
|
110
|
+
headers:
|
111
|
+
Accept-Encoding:
|
112
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
113
|
+
Accept:
|
114
|
+
- "*/*"
|
115
|
+
User-Agent:
|
116
|
+
- Ruby
|
117
|
+
response:
|
118
|
+
status:
|
119
|
+
code: 200
|
120
|
+
message: OK
|
121
|
+
headers:
|
122
|
+
Date:
|
123
|
+
- Mon, 22 Oct 2018 12:03:45 GMT
|
124
|
+
Content-Type:
|
125
|
+
- application/json; charset=utf-8
|
126
|
+
Content-Length:
|
127
|
+
- '81'
|
128
|
+
Connection:
|
129
|
+
- keep-alive
|
130
|
+
Set-Cookie:
|
131
|
+
- __cfduid=d3e71f70698fb0777476e87de15b925f71540209823; expires=Tue, 22-Oct-19
|
132
|
+
12:03:43 GMT; path=/; domain=.coinbase.com; HttpOnly
|
133
|
+
Cache-Control:
|
134
|
+
- public, max-age=30
|
135
|
+
Content-Disposition:
|
136
|
+
- attachment; filename=response.json
|
137
|
+
Content-Security-Policy:
|
138
|
+
- 'default-src ''self'' https://www.coinbase.com; child-src ''self'' https://www.coinbase.com
|
139
|
+
https://*.online-metrix.net https://*.wpstn.com https://netverify.com https://platform.twitter.com
|
140
|
+
https://www.google.com/recaptcha/ https://cdn.plaid.com/link/ https://*.doubleclick.net/
|
141
|
+
blob: https://coinbase.ada.support; connect-src ''self'' https://www.coinbase.com
|
142
|
+
https://api.coinbase.com https://api.mixpanel.com https://*.online-metrix.net
|
143
|
+
https://api.cloudinary.com https://ott9.wpstn.com/live https://api.amplitude.com/
|
144
|
+
static.coinbase.com wss://ws.coinbase.com wss://ws.coinbase.com:443 https://www.coinbase.com/api
|
145
|
+
https://coinbase.ada.support/api/; font-src ''self'' https://www.coinbase.com
|
146
|
+
https://assets.coinbase.com/ static.coinbase.com; img-src ''self'' data: https://www.coinbase.com
|
147
|
+
https://images.coinbase.com https://exceptions.coinbase.com https://coinbase-uploads.s3.amazonaws.com
|
148
|
+
https://s3.amazonaws.com/app-public/ https://maps.gstatic.com https://ssl.google-analytics.com
|
149
|
+
https://www.google.com https://maps.googleapis.com https://csi.gstatic.com
|
150
|
+
https://www.google-analytics.com https://res.cloudinary.com https://secure.gravatar.com
|
151
|
+
https://i2.wp.com https://*.online-metrix.net https://assets.coinbase.com/
|
152
|
+
https://hexagon-analytics.com https://api.mixpanel.com https://cb-brand.s3.amazonaws.com
|
153
|
+
https://googleads.g.doubleclick.net https://stats.g.doubleclick.net/r/collect
|
154
|
+
blob: static.coinbase.com https://d124s1zbdqkqqe.cloudfront.net https://www.facebook.com/tr;
|
155
|
+
media-src ''self'' https://www.coinbase.com blob:; object-src ''self'' data:
|
156
|
+
blob: https://www.coinbase.com https://cdn.siftscience.com https://*.online-metrix.net
|
157
|
+
https://www.gstatic.com https://www.google.com/recaptcha/api/; script-src
|
158
|
+
''self'' ''unsafe-inline'' ''unsafe-eval'' https://www.coinbase.com https://cdn.siftscience.com
|
159
|
+
https://*.newrelic.com https://bam.nr-data.net https://*.google-analytics.com
|
160
|
+
https://www.google.com https://www.gstatic.com https://*.online-metrix.net
|
161
|
+
https://code.jquery.com https://chart.googleapis.com https://maps.googleapis.com
|
162
|
+
https://maps.gstatic.com https://netverify.com https://ajax.cloudflare.com
|
163
|
+
https://cdn.plaid.com/link/v2/stable/ https://www.googletagmanager.com/gtag/js
|
164
|
+
https://www.googletagmanager.com/gtm.js https://www.googleadservices.com https://googleads.g.doubleclick.net
|
165
|
+
https://assets.coinbase.com/ static.coinbase.com; style-src ''self'' ''unsafe-inline''
|
166
|
+
https://www.coinbase.com https://assets.coinbase.com/ static.coinbase.com;
|
167
|
+
report-uri /csp-report'
|
168
|
+
Etag:
|
169
|
+
- W/"efc1bc8e6732bdf6cba86c542ae05a3f"
|
170
|
+
Expect-Ct:
|
171
|
+
- enforce; max-age=86400; report-uri="https://coinbase.report-uri.io/r/default/ct/reportOnly"
|
172
|
+
Referrer-Policy:
|
173
|
+
- strict-origin-when-cross-origin
|
174
|
+
Strict-Transport-Security:
|
175
|
+
- max-age=31536000; includeSubDomains; preload
|
176
|
+
Vary:
|
177
|
+
- Origin,Accept-Encoding
|
178
|
+
X-Content-Type-Options:
|
179
|
+
- nosniff
|
180
|
+
X-Download-Options:
|
181
|
+
- noopen
|
182
|
+
X-Frame-Options:
|
183
|
+
- DENY
|
184
|
+
X-Permitted-Cross-Domain-Policies:
|
185
|
+
- none
|
186
|
+
X-Powered-By:
|
187
|
+
- Proof-of-Work
|
188
|
+
X-Request-Id:
|
189
|
+
- 12c5f4dc-a501-4d49-80f7-3bb02d826bfa
|
190
|
+
X-Xss-Protection:
|
191
|
+
- 1; mode=block
|
192
|
+
Cf-Cache-Status:
|
193
|
+
- HIT
|
194
|
+
Expires:
|
195
|
+
- Mon, 22 Oct 2018 12:04:15 GMT
|
196
|
+
Server:
|
197
|
+
- cloudflare
|
198
|
+
Cf-Ray:
|
199
|
+
- 46dbd286cf8849a9-BKK
|
200
|
+
body:
|
201
|
+
encoding: ASCII-8BIT
|
202
|
+
string: '{"data":{"base":"ETH","currency":"USD","amount":"201.96"}}'
|
203
|
+
http_version:
|
204
|
+
recorded_at: Thu, 25 Oct 2018 12:03:55 GMT
|
205
|
+
recorded_with: VCR 4.0.0
|
data/spec/spec_helper.rb
CHANGED
@@ -12,6 +12,22 @@ VCR.configure do |config|
|
|
12
12
|
config.configure_rspec_metadata!
|
13
13
|
end
|
14
14
|
|
15
|
+
def create_tables
|
16
|
+
ENV['RAILS_ENV'] = 'test'
|
17
|
+
load 'spec/dummy/db/schema.rb'
|
18
|
+
end
|
19
|
+
|
20
|
+
def drop_tables
|
21
|
+
%i[
|
22
|
+
coin_payment_transactions
|
23
|
+
coin_payments
|
24
|
+
currency_conversions
|
25
|
+
widgets
|
26
|
+
].each do |table_name|
|
27
|
+
ActiveRecord::Base.connection.drop_table(table_name)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
15
31
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
16
32
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
17
33
|
# The generated `.rspec` file contains `--require spec_helper` which will cause
|
@@ -61,6 +77,13 @@ RSpec.configure do |config|
|
|
61
77
|
config.before(:suite) do
|
62
78
|
CryptocoinPayable.configure do
|
63
79
|
end
|
80
|
+
|
81
|
+
ActiveRecord::Base.establish_connection(adapter: 'postgresql', database: 'cryptocoin_payable_test')
|
82
|
+
create_tables
|
83
|
+
end
|
84
|
+
|
85
|
+
config.after(:suite) do
|
86
|
+
drop_tables
|
64
87
|
end
|
65
88
|
|
66
89
|
config.include RSpec::Benchmark::Matchers
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cryptocoin_payable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Salis
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-10-
|
12
|
+
date: 2018-10-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -165,6 +165,20 @@ dependencies:
|
|
165
165
|
- - "~>"
|
166
166
|
- !ruby/object:Gem::Version
|
167
167
|
version: '0.59'
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
name: timecop
|
170
|
+
requirement: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - "~>"
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0.9'
|
175
|
+
type: :development
|
176
|
+
prerelease: false
|
177
|
+
version_requirements: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - "~>"
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0.9'
|
168
182
|
- !ruby/object:Gem::Dependency
|
169
183
|
name: vcr
|
170
184
|
requirement: !ruby/object:Gem::Requirement
|
@@ -326,6 +340,7 @@ files:
|
|
326
340
|
- spec/acceptance/adapters/bitcoin_spec.rb
|
327
341
|
- spec/acceptance/adapters/ethereum_spec.rb
|
328
342
|
- spec/acceptance/commands/payment_processor_spec.rb
|
343
|
+
- spec/acceptance/commands/pricing_processor_spec.rb
|
329
344
|
- spec/dummy/README.rdoc
|
330
345
|
- spec/dummy/Rakefile
|
331
346
|
- spec/dummy/app/assets/images/.keep
|
@@ -382,6 +397,7 @@ files:
|
|
382
397
|
- spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_an_empty_result_when_no_transactions_found.yml
|
383
398
|
- spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_transactions_for_a_given_address.yml
|
384
399
|
- spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/raises_an_error_when_an_invalid_address_is_passed.yml
|
400
|
+
- spec/fixtures/vcr_cassettes/CryptocoinPayable_PricingProcessor/when_updating_stale_payments/can_update.yml
|
385
401
|
- spec/spec_helper.rb
|
386
402
|
homepage: ''
|
387
403
|
licenses:
|
@@ -421,6 +437,7 @@ test_files:
|
|
421
437
|
- spec/acceptance/adapters/bitcoin_spec.rb
|
422
438
|
- spec/acceptance/adapters/ethereum_spec.rb
|
423
439
|
- spec/acceptance/commands/payment_processor_spec.rb
|
440
|
+
- spec/acceptance/commands/pricing_processor_spec.rb
|
424
441
|
- spec/dummy/README.rdoc
|
425
442
|
- spec/dummy/Rakefile
|
426
443
|
- spec/dummy/app/assets/images/.keep
|
@@ -477,4 +494,5 @@ test_files:
|
|
477
494
|
- spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_an_empty_result_when_no_transactions_found.yml
|
478
495
|
- spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/gets_transactions_for_a_given_address.yml
|
479
496
|
- spec/fixtures/vcr_cassettes/CryptocoinPayable_Adapters_Ethereum/raises_an_error_when_an_invalid_address_is_passed.yml
|
497
|
+
- spec/fixtures/vcr_cassettes/CryptocoinPayable_PricingProcessor/when_updating_stale_payments/can_update.yml
|
480
498
|
- spec/spec_helper.rb
|