zold 0.14.8 → 0.14.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/.travis.yml +0 -0
- data/Gemfile +2 -0
- data/Rakefile +2 -0
- data/appveyor.yml +8 -3
- data/features/step_definitions/steps.rb +2 -0
- data/features/support/env.rb +2 -0
- data/fixtures/merge/asserts.rb +2 -0
- data/fixtures/merge/into-no-wallet/assert.rb +2 -0
- data/fixtures/merge/random-expenses/assert.rb +2 -0
- data/fixtures/merge/simple-case/assert.rb +2 -0
- data/fixtures/scripts/_head.sh +13 -0
- data/fixtures/scripts/distribute-wallet.sh +86 -0
- data/fixtures/scripts/spread-wallets.sh +56 -0
- data/lib/zold.rb +2 -0
- data/lib/zold/amount.rb +3 -1
- data/lib/zold/atomic_file.rb +2 -0
- data/lib/zold/backtrace.rb +2 -0
- data/lib/zold/commands/alias.rb +2 -0
- data/lib/zold/commands/args.rb +2 -0
- data/lib/zold/commands/calculate.rb +5 -3
- data/lib/zold/commands/clean.rb +2 -0
- data/lib/zold/commands/create.rb +2 -0
- data/lib/zold/commands/diff.rb +2 -0
- data/lib/zold/commands/fetch.rb +7 -2
- data/lib/zold/commands/invoice.rb +2 -0
- data/lib/zold/commands/list.rb +2 -0
- data/lib/zold/commands/merge.rb +2 -0
- data/lib/zold/commands/node.rb +2 -0
- data/lib/zold/commands/pay.rb +2 -0
- data/lib/zold/commands/propagate.rb +2 -0
- data/lib/zold/commands/pull.rb +2 -0
- data/lib/zold/commands/push.rb +2 -0
- data/lib/zold/commands/remote.rb +11 -6
- data/lib/zold/commands/routines/bonuses.rb +78 -0
- data/lib/zold/commands/routines/reconnect.rb +2 -0
- data/lib/zold/commands/routines/spread.rb +2 -0
- data/lib/zold/commands/show.rb +2 -0
- data/lib/zold/commands/taxes.rb +2 -0
- data/lib/zold/copies.rb +4 -2
- data/lib/zold/hexnum.rb +2 -0
- data/lib/zold/http.rb +28 -20
- data/lib/zold/hungry_wallets.rb +2 -0
- data/lib/zold/id.rb +2 -0
- data/lib/zold/json_page.rb +2 -0
- data/lib/zold/key.rb +2 -0
- data/lib/zold/log.rb +2 -0
- data/lib/zold/metronome.rb +2 -0
- data/lib/zold/node/async_entrance.rb +3 -3
- data/lib/zold/node/emission.rb +2 -0
- data/lib/zold/node/entrance.rb +5 -2
- data/lib/zold/node/farm.rb +3 -1
- data/lib/zold/node/front.rb +4 -1
- data/lib/zold/node/safe_entrance.rb +2 -0
- data/lib/zold/node/spread_entrance.rb +2 -0
- data/lib/zold/patch.rb +2 -0
- data/lib/zold/prefixes.rb +2 -0
- data/lib/zold/remotes.rb +15 -13
- data/lib/zold/score.rb +62 -59
- data/lib/zold/signature.rb +2 -0
- data/lib/zold/tax.rb +3 -1
- data/lib/zold/txn.rb +4 -2
- data/lib/zold/type.rb +36 -0
- data/lib/zold/upgrades.rb +2 -4
- data/lib/zold/verbose_thread.rb +2 -0
- data/lib/zold/version.rb +4 -2
- data/lib/zold/version_file.rb +2 -0
- data/lib/zold/wallet.rb +4 -2
- data/lib/zold/wallets.rb +2 -0
- data/test/commands/routines/test_bonuses.rb +76 -0
- data/test/commands/routines/test_reconnect.rb +2 -0
- data/test/commands/routines/test_spread.rb +2 -0
- data/test/commands/test_alias.rb +2 -0
- data/test/commands/test_calculate.rb +2 -0
- data/test/commands/test_clean.rb +2 -0
- data/test/commands/test_create.rb +2 -0
- data/test/commands/test_diff.rb +2 -0
- data/test/commands/test_fetch.rb +2 -0
- data/test/commands/test_invoice.rb +2 -0
- data/test/commands/test_list.rb +2 -0
- data/test/commands/test_merge.rb +2 -0
- data/test/commands/test_node.rb +6 -0
- data/test/commands/test_pay.rb +2 -0
- data/test/commands/test_propagate.rb +2 -0
- data/test/commands/test_push.rb +2 -0
- data/test/commands/test_remote.rb +40 -0
- data/test/commands/test_show.rb +2 -0
- data/test/commands/test_taxes.rb +2 -0
- data/test/fake_home.rb +2 -0
- data/test/node/fake_entrance.rb +2 -0
- data/test/node/fake_node.rb +3 -1
- data/test/node/test_async_entrance.rb +2 -0
- data/test/node/test_emission.rb +2 -0
- data/test/node/test_entrance.rb +2 -0
- data/test/node/test_farm.rb +9 -7
- data/test/node/test_front.rb +15 -10
- data/test/node/test_safe_entrance.rb +2 -0
- data/test/node/test_spread_entrance.rb +2 -0
- data/test/test__helper.rb +2 -0
- data/test/test_amount.rb +2 -0
- data/test/test_atomic_file.rb +2 -0
- data/test/test_backtrace.rb +2 -0
- data/test/test_copies.rb +4 -1
- data/test/test_hexnum.rb +2 -0
- data/test/test_http.rb +5 -3
- data/test/test_id.rb +2 -0
- data/test/test_key.rb +2 -0
- data/test/test_metronome.rb +2 -0
- data/test/test_patch.rb +2 -0
- data/test/test_prefixes.rb +2 -0
- data/test/test_remotes.rb +11 -0
- data/test/test_score.rb +26 -24
- data/test/test_signature.rb +2 -0
- data/test/test_tax.rb +4 -2
- data/test/test_txn.rb +2 -0
- data/test/test_upgrades.rb +2 -0
- data/test/test_verbose_thread.rb +2 -0
- data/test/test_version.rb +2 -0
- data/test/test_wallet.rb +2 -0
- data/test/test_wallets.rb +2 -0
- data/test/test_zold.rb +2 -0
- data/test/upgrades/test_protocol_up.rb +2 -0
- data/upgrades/2.rb +2 -0
- data/upgrades/protocol_up.rb +2 -0
- data/upgrades/rename_foreign_wallets.rb +2 -0
- data/zold.gemspec +5 -1
- metadata +38 -4
data/test/test_id.rb
CHANGED
data/test/test_key.rb
CHANGED
data/test/test_metronome.rb
CHANGED
data/test/test_patch.rb
CHANGED
data/test/test_prefixes.rb
CHANGED
data/test/test_remotes.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018 Yegor Bugayenko
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
@@ -139,6 +141,15 @@ class TestRemotes < Minitest::Test
|
|
139
141
|
end
|
140
142
|
end
|
141
143
|
|
144
|
+
def test_tolerates_invalid_requests
|
145
|
+
Dir.mktmpdir 'test' do |dir|
|
146
|
+
file = File.join(dir, 'remotes')
|
147
|
+
remotes = Zold::Remotes.new(file)
|
148
|
+
remotes.error('127.0.0.1', 1024)
|
149
|
+
remotes.rescore('127.0.0.1', 1024, 15)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
142
153
|
def test_modifies_from_many_threads
|
143
154
|
Dir.mktmpdir 'test' do |dir|
|
144
155
|
remotes = Zold::Remotes.new(File.join(dir, 'a.csv'))
|
data/test/test_score.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018 Yegor Bugayenko
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
@@ -31,9 +33,9 @@ require_relative '../lib/zold/score'
|
|
31
33
|
class TestScore < Minitest::Test
|
32
34
|
def test_reduces_itself
|
33
35
|
score = Zold::Score.new(
|
34
|
-
Time.parse('2017-07-19T21:24:51Z'),
|
35
|
-
'localhost', 443, 'NOPREFIX@ffffffffffffffff',
|
36
|
-
%w[A B C D E F G]
|
36
|
+
time: Time.parse('2017-07-19T21:24:51Z'),
|
37
|
+
host: 'localhost', port: 443, invoice: 'NOPREFIX@ffffffffffffffff',
|
38
|
+
suffixes: %w[A B C D E F G]
|
37
39
|
).reduced(2)
|
38
40
|
assert_equal(2, score.value)
|
39
41
|
assert_equal(64, score.hash.length)
|
@@ -41,8 +43,8 @@ class TestScore < Minitest::Test
|
|
41
43
|
|
42
44
|
def test_drops_to_zero_when_expired
|
43
45
|
score = Zold::Score.new(
|
44
|
-
Time.now - 24 * 60 * 60,
|
45
|
-
'some-host', 9999, 'NOPREFIX@ffffffffffffffff',
|
46
|
+
time: Time.now - 24 * 60 * 60,
|
47
|
+
host: 'some-host', port: 9999, invoice: 'NOPREFIX@ffffffffffffffff',
|
46
48
|
strength: 50
|
47
49
|
).next
|
48
50
|
assert(score.valid?)
|
@@ -52,9 +54,9 @@ class TestScore < Minitest::Test
|
|
52
54
|
|
53
55
|
def test_validates_wrong_score
|
54
56
|
score = Zold::Score.new(
|
55
|
-
Time.parse('2017-07-19T21:24:51Z'),
|
56
|
-
'localhost', 443, 'NOPREFIX@ffffffffffffffff',
|
57
|
-
%w[xxx yyy zzz]
|
57
|
+
time: Time.parse('2017-07-19T21:24:51Z'),
|
58
|
+
host: 'localhost', port: 443, invoice: 'NOPREFIX@ffffffffffffffff',
|
59
|
+
suffixes: %w[xxx yyy zzz]
|
58
60
|
)
|
59
61
|
assert_equal(3, score.value)
|
60
62
|
assert(!score.valid?)
|
@@ -62,8 +64,8 @@ class TestScore < Minitest::Test
|
|
62
64
|
|
63
65
|
def test_prints_mnemo
|
64
66
|
score = Zold::Score.new(
|
65
|
-
Time.parse('2017-07-19T22:32:51Z'),
|
66
|
-
'localhost', 443, 'NOPREFIX@ffffffffffffffff'
|
67
|
+
time: Time.parse('2017-07-19T22:32:51Z'),
|
68
|
+
host: 'localhost', port: 443, invoice: 'NOPREFIX@ffffffffffffffff'
|
67
69
|
)
|
68
70
|
assert_equal('0:2232', score.to_mnemo)
|
69
71
|
end
|
@@ -72,7 +74,7 @@ class TestScore < Minitest::Test
|
|
72
74
|
time = Time.now
|
73
75
|
score = Zold::Score.parse(
|
74
76
|
Zold::Score.new(
|
75
|
-
time, 'localhost', 999, 'NOPREFIX@ffffffffffffffff',
|
77
|
+
time: time, host: 'localhost', port: 999, invoice: 'NOPREFIX@ffffffffffffffff',
|
76
78
|
strength: 1
|
77
79
|
).next.next.to_s
|
78
80
|
)
|
@@ -86,7 +88,7 @@ class TestScore < Minitest::Test
|
|
86
88
|
time = Time.now
|
87
89
|
score = Zold::Score.parse_text(
|
88
90
|
Zold::Score.new(
|
89
|
-
time, 'a.example.com', 999, 'NOPREFIX@ffffffffffffffff',
|
91
|
+
time: time, host: 'a.example.com', port: 999, invoice: 'NOPREFIX@ffffffffffffffff',
|
90
92
|
strength: 1
|
91
93
|
).next.next.next.to_text
|
92
94
|
)
|
@@ -100,7 +102,7 @@ class TestScore < Minitest::Test
|
|
100
102
|
time = Time.now
|
101
103
|
score = Zold::Score.parse_text(
|
102
104
|
Zold::Score.new(
|
103
|
-
time, '192.168.0.1', 1, 'NOPREFIX@ffffffffffffffff', []
|
105
|
+
time: time, host: '192.168.0.1', port: 1, invoice: 'NOPREFIX@ffffffffffffffff', suffixes: []
|
104
106
|
).to_text
|
105
107
|
)
|
106
108
|
assert_equal(0, score.value)
|
@@ -111,7 +113,7 @@ class TestScore < Minitest::Test
|
|
111
113
|
time = Time.now
|
112
114
|
score = Zold::Score.parse(
|
113
115
|
Zold::Score.new(
|
114
|
-
time, '192.168.0.1', 1, 'NOPREFIX@ffffffffffffffff', []
|
116
|
+
time: time, host: '192.168.0.1', port: 1, invoice: 'NOPREFIX@ffffffffffffffff', suffixes: []
|
115
117
|
).to_s
|
116
118
|
)
|
117
119
|
assert_equal(0, score.value)
|
@@ -120,8 +122,8 @@ class TestScore < Minitest::Test
|
|
120
122
|
|
121
123
|
def test_finds_next_score
|
122
124
|
score = Zold::Score.new(
|
123
|
-
Time.now, 'localhost', 443,
|
124
|
-
'NOPREFIX@ffffffffffffffff', strength: 2
|
125
|
+
time: Time.now, host: 'localhost', port: 443,
|
126
|
+
invoice: 'NOPREFIX@ffffffffffffffff', strength: 2
|
125
127
|
).next.next.next
|
126
128
|
assert_equal(3, score.value)
|
127
129
|
assert(score.valid?)
|
@@ -130,29 +132,29 @@ class TestScore < Minitest::Test
|
|
130
132
|
|
131
133
|
def test_dont_expire_correctly
|
132
134
|
score = Zold::Score.new(
|
133
|
-
Time.now - 10 * 60 * 60, 'localhost', 443,
|
134
|
-
'NOPREFIX@ffffffffffffffff', strength: 2
|
135
|
+
time: Time.now - 10 * 60 * 60, host: 'localhost', port: 443,
|
136
|
+
invoice: 'NOPREFIX@ffffffffffffffff', strength: 2
|
135
137
|
).next.next.next
|
136
138
|
assert(!score.expired?)
|
137
139
|
end
|
138
140
|
|
139
141
|
def test_correct_number_of_zeroes
|
140
142
|
score = Zold::Score.new(
|
141
|
-
Time.now, 'localhost', 443,
|
142
|
-
'NOPREFIX@ffffffffffffffff', strength: 3
|
143
|
+
time: Time.now, host: 'localhost', port: 443,
|
144
|
+
invoice: 'NOPREFIX@ffffffffffffffff', strength: 3
|
143
145
|
).next
|
144
146
|
assert(score.hash.end_with?('000'))
|
145
147
|
end
|
146
148
|
|
147
149
|
def test_generates_hash_correctly
|
148
150
|
score = Zold::Score.new(
|
149
|
-
Time.parse('2018-06-27T06:22:41Z'), 'b2.zold.io', 4096,
|
150
|
-
'THdonv1E@abcdabcdabcdabcd', ['3a934b']
|
151
|
+
time: Time.parse('2018-06-27T06:22:41Z'), host: 'b2.zold.io', port: 4096,
|
152
|
+
invoice: 'THdonv1E@abcdabcdabcdabcd', suffixes: ['3a934b']
|
151
153
|
)
|
152
154
|
assert_equal('c9c72efbf6beeea13408c5e720ec42aec017c11c3db335e05595c03755000000', score.hash)
|
153
155
|
score = Zold::Score.new(
|
154
|
-
Time.parse('2018-06-27T06:22:41Z'), 'b2.zold.io', 4096,
|
155
|
-
'THdonv1E@abcdabcdabcdabcd', %w[3a934b 1421217]
|
156
|
+
time: Time.parse('2018-06-27T06:22:41Z'), host: 'b2.zold.io', port: 4096,
|
157
|
+
invoice: 'THdonv1E@abcdabcdabcdabcd', suffixes: %w[3a934b 1421217]
|
156
158
|
)
|
157
159
|
assert_equal('e04ab4e69f86aa17be1316a52148e7bc3187c6d3df581d885a862d8850000000', score.hash)
|
158
160
|
end
|
data/test/test_signature.rb
CHANGED
data/test/test_tax.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018 Yegor Bugayenko
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
@@ -72,8 +74,8 @@ class TestTax < Minitest::Test
|
|
72
74
|
invoice = "#{Zold::Prefixes.new(target).create}@#{target.id}"
|
73
75
|
tax = Zold::Tax.new(wallet)
|
74
76
|
score = Zold::Score.new(
|
75
|
-
Time.now, 'localhost', 80, invoice,
|
76
|
-
%w[A B C D E F G H I J K L M N O P Q R S T U V]
|
77
|
+
time: Time.now, host: 'localhost', port: 80, invoice: invoice,
|
78
|
+
suffixes: %w[A B C D E F G H I J K L M N O P Q R S T U V]
|
77
79
|
)
|
78
80
|
tax.pay(Zold::Key.new(file: 'fixtures/id_rsa'), score)
|
79
81
|
assert(
|
data/test/test_txn.rb
CHANGED
data/test/test_upgrades.rb
CHANGED
data/test/test_verbose_thread.rb
CHANGED
data/test/test_version.rb
CHANGED
data/test/test_wallet.rb
CHANGED
data/test/test_wallets.rb
CHANGED
data/test/test_zold.rb
CHANGED
data/upgrades/2.rb
CHANGED
data/upgrades/protocol_up.rb
CHANGED
data/zold.gemspec
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018 Yegor Bugayenko
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
@@ -28,7 +30,7 @@ Gem::Specification.new do |s|
|
|
28
30
|
s.specification_version = 2 if s.respond_to? :specification_version=
|
29
31
|
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
|
30
32
|
s.rubygems_version = '2.2'
|
31
|
-
s.required_ruby_version = '
|
33
|
+
s.required_ruby_version = '>=2.3.3'
|
32
34
|
s.name = 'zold'
|
33
35
|
s.version = Zold::VERSION
|
34
36
|
s.license = 'MIT'
|
@@ -55,6 +57,8 @@ and suggests a different architecture for digital wallet maintenance.'
|
|
55
57
|
s.add_runtime_dependency 'concurrent-ruby', '~>1.0'
|
56
58
|
s.add_runtime_dependency 'cucumber', '~>3.1' # has to stay here for Heroku
|
57
59
|
s.add_runtime_dependency 'diffy', '~>3.2'
|
60
|
+
s.add_runtime_dependency 'dry-struct', '~>0.5.0'
|
61
|
+
s.add_runtime_dependency 'dry-types', '~>0.13.2'
|
58
62
|
s.add_runtime_dependency 'json', '~>1.8'
|
59
63
|
s.add_runtime_dependency 'openssl', '~>2.1'
|
60
64
|
s.add_runtime_dependency 'rainbow', '~>3.0'
|
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.9
|
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-07-
|
11
|
+
date: 2018-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -52,6 +52,34 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.2'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: dry-struct
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.5.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.5.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: dry-types
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.13.2
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.13.2
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
84
|
name: json
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -350,10 +378,12 @@ files:
|
|
350
378
|
- fixtures/merge/simple-case/copies/0123456789abcdef/scores.z
|
351
379
|
- fixtures/scripts/_head.sh
|
352
380
|
- fixtures/scripts/calculate-scores.sh
|
381
|
+
- fixtures/scripts/distribute-wallet.sh
|
353
382
|
- fixtures/scripts/print-helps.sh
|
354
383
|
- fixtures/scripts/push-and-pull.sh
|
355
384
|
- fixtures/scripts/redeploy-on-upgrade.sh
|
356
385
|
- fixtures/scripts/sigdump.sh
|
386
|
+
- fixtures/scripts/spread-wallets.sh
|
357
387
|
- heroku-run.sh
|
358
388
|
- lib/zold.rb
|
359
389
|
- lib/zold/amount.rb
|
@@ -375,6 +405,7 @@ files:
|
|
375
405
|
- lib/zold/commands/pull.rb
|
376
406
|
- lib/zold/commands/push.rb
|
377
407
|
- lib/zold/commands/remote.rb
|
408
|
+
- lib/zold/commands/routines/bonuses.rb
|
378
409
|
- lib/zold/commands/routines/reconnect.rb
|
379
410
|
- lib/zold/commands/routines/spread.rb
|
380
411
|
- lib/zold/commands/show.rb
|
@@ -402,6 +433,7 @@ files:
|
|
402
433
|
- lib/zold/signature.rb
|
403
434
|
- lib/zold/tax.rb
|
404
435
|
- lib/zold/txn.rb
|
436
|
+
- lib/zold/type.rb
|
405
437
|
- lib/zold/upgrades.rb
|
406
438
|
- lib/zold/verbose_thread.rb
|
407
439
|
- lib/zold/version.rb
|
@@ -409,6 +441,7 @@ files:
|
|
409
441
|
- lib/zold/wallet.rb
|
410
442
|
- lib/zold/wallets.rb
|
411
443
|
- resources/remotes
|
444
|
+
- test/commands/routines/test_bonuses.rb
|
412
445
|
- test/commands/routines/test_reconnect.rb
|
413
446
|
- test/commands/routines/test_spread.rb
|
414
447
|
- test/commands/test_alias.rb
|
@@ -476,9 +509,9 @@ require_paths:
|
|
476
509
|
- lib
|
477
510
|
required_ruby_version: !ruby/object:Gem::Requirement
|
478
511
|
requirements:
|
479
|
-
- - "
|
512
|
+
- - ">="
|
480
513
|
- !ruby/object:Gem::Version
|
481
|
-
version:
|
514
|
+
version: 2.3.3
|
482
515
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
483
516
|
requirements:
|
484
517
|
- - ">="
|
@@ -495,6 +528,7 @@ test_files:
|
|
495
528
|
- features/gem_package.feature
|
496
529
|
- features/step_definitions/steps.rb
|
497
530
|
- features/support/env.rb
|
531
|
+
- test/commands/routines/test_bonuses.rb
|
498
532
|
- test/commands/routines/test_reconnect.rb
|
499
533
|
- test/commands/routines/test_spread.rb
|
500
534
|
- test/commands/test_alias.rb
|