zold 0.14.49 → 0.14.50
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zold/amount.rb +4 -0
- data/lib/zold/version.rb +1 -1
- data/lib/zold/wallet.rb +1 -1
- data/test/test_amount.rb +2 -0
- data/test/test_wallet.rb +12 -0
- data/zold.gemspec +3 -3
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c93f5cab672e8cda8e44e15b589f97d593486c089f4428487370835207087b00
|
4
|
+
data.tar.gz: 5a14a57fcf20345a21acb27086042dac6cb7df2abfb5b226bae85d6014cc9899
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f4ac2585a5eaf88260243cdad9326eaee19a8a5c7db6689a3bd0a1fd9ba69d466aa95a390f4937ec9ae3fa916c5cb72214a9d4d20ae563e9e4c2d65ff41e018
|
7
|
+
data.tar.gz: 992a00ef00711065ee79e191b3a1ac40d96c70e3074331298484a5a90f5f27170925c5420cac43b617aaabdc1a3712c5729a4d2ff452923faeec3e797c2a89bb
|
data/lib/zold/amount.rb
CHANGED
data/lib/zold/version.rb
CHANGED
data/lib/zold/wallet.rb
CHANGED
@@ -130,7 +130,7 @@ module Zold
|
|
130
130
|
|
131
131
|
def add(txn)
|
132
132
|
raise 'The txn has to be of type Txn' unless txn.is_a?(Txn)
|
133
|
-
dup = txns.find { |t| t.bnf == txn.bnf && t.id == txn.id }
|
133
|
+
dup = txns.find { |t| t.bnf == txn.bnf && t.id == txn.id && t.amount.negative? && txn.amount.negative? }
|
134
134
|
raise "Wallet #{id} can't pay itself: #{txn}" if txn.bnf == id
|
135
135
|
raise "The transaction with the same ID and BNF already exists in #{id}: #{dup}" unless dup.nil?
|
136
136
|
raise "The tax payment already exists in #{id}: #{txn}" if Tax.new(self).exists?(txn.details)
|
data/test/test_amount.rb
CHANGED
data/test/test_wallet.rb
CHANGED
@@ -71,6 +71,18 @@ class TestWallet < Minitest::Test
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
+
def test_adds_similar_transaction
|
75
|
+
FakeHome.new.run do |home|
|
76
|
+
wallet = home.create_wallet
|
77
|
+
amount = Zold::Amount.new(zld: 39.99)
|
78
|
+
key = Zold::Key.new(file: 'fixtures/id_rsa')
|
79
|
+
id = Zold::Id.new
|
80
|
+
wallet.sub(amount, "NOPREFIX@#{id}", key)
|
81
|
+
wallet.add(Zold::Txn.new(1, Time.now, amount, 'NOPREFIX', id, '-'))
|
82
|
+
assert(wallet.balance.zero?)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
74
86
|
def test_refurbishes_wallet
|
75
87
|
FakeHome.new.run do |home|
|
76
88
|
wallet = home.create_wallet
|
data/zold.gemspec
CHANGED
@@ -54,7 +54,7 @@ and suggests a different architecture for digital wallet maintenance.'
|
|
54
54
|
s.test_files = s.files.grep(%r{^(test|features)/})
|
55
55
|
s.rdoc_options = ['--charset=UTF-8']
|
56
56
|
s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
|
57
|
-
s.add_runtime_dependency 'backtrace', '~>0
|
57
|
+
s.add_runtime_dependency 'backtrace', '~>0'
|
58
58
|
s.add_runtime_dependency 'cachy', '~>0.4'
|
59
59
|
s.add_runtime_dependency 'concurrent-ruby', '~>1.0'
|
60
60
|
s.add_runtime_dependency 'cucumber', '~>3.1' # has to stay here for Heroku
|
@@ -75,10 +75,10 @@ and suggests a different architecture for digital wallet maintenance.'
|
|
75
75
|
s.add_runtime_dependency 'slop', '~>4.4'
|
76
76
|
s.add_runtime_dependency 'sys-proctable', '~>1.1'
|
77
77
|
s.add_runtime_dependency 'usagewatch_ext', '~>0.2'
|
78
|
-
s.add_runtime_dependency 'xcop', '~>0
|
78
|
+
s.add_runtime_dependency 'xcop', '~>0'
|
79
79
|
s.add_development_dependency 'codecov', '~>0.1'
|
80
80
|
s.add_development_dependency 'minitest', '~>5.11'
|
81
|
-
s.add_development_dependency 'random-port', '~>0
|
81
|
+
s.add_development_dependency 'random-port', '~>0'
|
82
82
|
s.add_development_dependency 'rdoc', '~>4.2'
|
83
83
|
s.add_development_dependency 'rspec-rails', '~>3.1'
|
84
84
|
s.add_development_dependency 'webmock', '~>3.4'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.50
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: cachy
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -310,14 +310,14 @@ dependencies:
|
|
310
310
|
requirements:
|
311
311
|
- - "~>"
|
312
312
|
- !ruby/object:Gem::Version
|
313
|
-
version: '0
|
313
|
+
version: '0'
|
314
314
|
type: :runtime
|
315
315
|
prerelease: false
|
316
316
|
version_requirements: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
318
|
- - "~>"
|
319
319
|
- !ruby/object:Gem::Version
|
320
|
-
version: '0
|
320
|
+
version: '0'
|
321
321
|
- !ruby/object:Gem::Dependency
|
322
322
|
name: codecov
|
323
323
|
requirement: !ruby/object:Gem::Requirement
|
@@ -352,14 +352,14 @@ dependencies:
|
|
352
352
|
requirements:
|
353
353
|
- - "~>"
|
354
354
|
- !ruby/object:Gem::Version
|
355
|
-
version: '0
|
355
|
+
version: '0'
|
356
356
|
type: :development
|
357
357
|
prerelease: false
|
358
358
|
version_requirements: !ruby/object:Gem::Requirement
|
359
359
|
requirements:
|
360
360
|
- - "~>"
|
361
361
|
- !ruby/object:Gem::Version
|
362
|
-
version: '0
|
362
|
+
version: '0'
|
363
363
|
- !ruby/object:Gem::Dependency
|
364
364
|
name: rdoc
|
365
365
|
requirement: !ruby/object:Gem::Requirement
|