signore 0.6.0 → 0.7.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.
@@ -1,15 +1,14 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'stringio'
4
2
  require_relative '../test_helper'
5
3
  require_relative '../../lib/signore/sig_from_stream'
6
4
 
7
5
  module Signore
8
6
  describe SigFromStream do
9
- describe '.sig_from' do
7
+ describe '.call' do
10
8
  it 'asks about signature parts' do
11
- io = capture_io { SigFromStream.sig_from StringIO.new("\n\n\n\n") }
12
- _(io.first).must_equal <<-end.dedent
9
+ io = capture_io { SigFromStream.call StringIO.new("\n\n\n\n\n") }
10
+ _(io.first).must_equal <<~end
11
+
13
12
  text?
14
13
 
15
14
  author?
@@ -21,7 +20,7 @@ module Signore
21
20
  end
22
21
 
23
22
  it 'asks about signature parts and returns resulting signature' do
24
- input = StringIO.new <<-end.dedent
23
+ input = StringIO.new <<~end
25
24
  You do have to be mad to work here, but it doesn’t help.
26
25
 
27
26
  Gary Barnes
@@ -29,14 +28,14 @@ module Signore
29
28
  asr
30
29
  end
31
30
  sig = nil
32
- capture_io { sig = SigFromStream.sig_from input }
31
+ capture_io { sig = SigFromStream.call input }
33
32
  text = 'You do have to be mad to work here, but it doesn’t help.'
34
33
  _(sig).must_equal Signature.new(author: 'Gary Barnes', source: 'asr',
35
34
  text: text)
36
35
  end
37
36
 
38
37
  it 'handles multi-line signatures' do
39
- input = StringIO.new <<-end.dedent
38
+ input = StringIO.new <<~end
40
39
  ‘You’ve got an interesting accent. Subtle. I can’t place it.’
41
40
  ‘It’s text-to-speech… I was raised by smartphones.’
42
41
 
@@ -45,8 +44,8 @@ module Signore
45
44
 
46
45
  end
47
46
  sig = nil
48
- capture_io { sig = SigFromStream.sig_from input }
49
- text = <<-end.dedent.strip
47
+ capture_io { sig = SigFromStream.call input }
48
+ text = <<~end.strip
50
49
  ‘You’ve got an interesting accent. Subtle. I can’t place it.’
51
50
  ‘It’s text-to-speech… I was raised by smartphones.’
52
51
  end
@@ -1,12 +1,22 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'yaml'
4
2
  require_relative '../test_helper'
5
- require_relative '../../lib/signore/mapper'
6
3
  require_relative '../../lib/signore/signature'
7
4
 
8
5
  module Signore # rubocop:disable Metrics/ModuleLength
9
6
  describe Signature do
7
+ describe '.from_h' do
8
+ it 'deserializes a Signature from a Hash' do
9
+ text = 'For the sake of topic titles, I’d rather if Monty saved Python.'
10
+ sig_hash = { 'author' => 'Anonymous Coward', 'source' => '/.',
11
+ 'subject' => 'on ‘Monty Wants to Save MySQL’',
12
+ 'tags' => %w[/. MySQL], 'text' => text }
13
+ signature = Signature.new(author: 'Anonymous Coward', source: '/.',
14
+ subject: 'on ‘Monty Wants to Save MySQL’',
15
+ tags: %w[/. MySQL], text: text)
16
+ _(Signature.from_h(sig_hash)).must_equal signature
17
+ end
18
+ end
19
+
10
20
  describe '.new' do
11
21
  it 'instantiates Signatures via parameters' do
12
22
  source = 'A History of Modern Computing'
@@ -45,10 +55,10 @@ module Signore # rubocop:disable Metrics/ModuleLength
45
55
  text = 'For the sake of topic titles, I’d rather if Monty saved Python.'
46
56
  sig = Signature.new(author: 'Anonymous Coward', source: '/.',
47
57
  subject: 'on ‘Monty Wants to Save MySQL’',
48
- tags: %w(/. MySQL), text: text)
58
+ tags: %w[/. MySQL], text: text)
49
59
  _(sig.to_h).must_equal 'author' => 'Anonymous Coward', 'source' => '/.',
50
60
  'subject' => 'on ‘Monty Wants to Save MySQL’',
51
- 'tags' => %w(/. MySQL), 'text' => text
61
+ 'tags' => %w[/. MySQL], 'text' => text
52
62
  end
53
63
 
54
64
  it 'removes non-existing keys' do
@@ -62,7 +72,7 @@ module Signore # rubocop:disable Metrics/ModuleLength
62
72
  end
63
73
 
64
74
  it 'does not show meta if there’s nothing to show' do
65
- text = '// sometimes I believe compiler ignores all my comments'
75
+ text = "// sometimes I believe compiler\n// ignores all my comments"
66
76
  sig = Signature.new(text: text)
67
77
  _(sig.to_s).must_equal text
68
78
  end
@@ -70,7 +80,7 @@ module Signore # rubocop:disable Metrics/ModuleLength
70
80
  it 'shows author on its own' do
71
81
  sig = Signature.new(author: 'kodz',
72
82
  text: 'stay-at-home executives vs. wallstreet dads')
73
- _(sig.to_s).must_equal <<-end.dedent.strip
83
+ _(sig.to_s).must_equal <<~end.strip
74
84
  stay-at-home executives vs. wallstreet dads
75
85
  [kodz]
76
86
  end
@@ -79,18 +89,20 @@ module Signore # rubocop:disable Metrics/ModuleLength
79
89
  it 'shows author and source, comma-separated' do
80
90
  text = 'You do have to be mad to work here, but it doesn’t help.'
81
91
  sig = Signature.new(author: 'Gary Barnes', source: 'asr', text: text)
82
- _(sig.to_s).must_equal <<-end.dedent.strip
83
- You do have to be mad to work here, but it doesn’t help.
84
- [Gary Barnes, asr]
92
+ _(sig.to_s).must_equal <<~end.strip
93
+ You do have to be mad to work
94
+ here, but it doesn’t help.
95
+ [Gary Barnes, asr]
85
96
  end
86
97
  end
87
98
 
88
99
  it 'shows source on its own' do
89
100
  text = 'Bruce Schneier knows Alice and Bob’s shared secret.'
90
101
  sig = Signature.new(source: 'Bruce Schneier Facts', text: text)
91
- _(sig.to_s).must_equal <<-end.dedent.strip
92
- Bruce Schneier knows Alice and Bob’s shared secret.
93
- [Bruce Schneier Facts]
102
+ _(sig.to_s).must_equal <<~end.strip
103
+ Bruce Schneier knows Alice
104
+ and Bob’s shared secret.
105
+ [Bruce Schneier Facts]
94
106
  end
95
107
  end
96
108
 
@@ -98,7 +110,7 @@ module Signore # rubocop:disable Metrics/ModuleLength
98
110
  text = 'More gangland camp than neo-noir.'
99
111
  sig = Signature.new(author: 'Nicholas Christopher',
100
112
  subject: 'on Pulp Fiction', text: text)
101
- _(sig.to_s).must_equal <<-end.dedent.strip
113
+ _(sig.to_s).must_equal <<~end.strip
102
114
  More gangland camp than neo-noir.
103
115
  [Nicholas Christopher on Pulp Fiction]
104
116
  end
@@ -108,7 +120,7 @@ module Signore # rubocop:disable Metrics/ModuleLength
108
120
  text = 'Amateur fighter pilot ignores orders, listens ' \
109
121
  'to the voices in his head and slaughters thousands.'
110
122
  sig = Signature.new(subject: 'Star Wars ending explained', text: text)
111
- _(sig.to_s).must_equal <<-end.dedent.strip
123
+ _(sig.to_s).must_equal <<~end.strip
112
124
  Amateur fighter pilot ignores orders, listens to
113
125
  the voices in his head and slaughters thousands.
114
126
  [Star Wars ending explained]
@@ -117,7 +129,7 @@ module Signore # rubocop:disable Metrics/ModuleLength
117
129
 
118
130
  it 'handles edge cases properly' do
119
131
  YAML.load_file('test/fixtures/wrapper.yml').each do |sig, wrapped|
120
- _(Mapper.from_h(sig.to_h).to_s).must_equal wrapped
132
+ _(Signature.from_h(sig.to_h).to_s).must_equal wrapped
121
133
  end
122
134
  end
123
135
  end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require_relative '../test_helper'
4
2
  require_relative '../../lib/signore/tags'
5
3
 
@@ -7,24 +5,24 @@ module Signore
7
5
  describe Tags do
8
6
  describe '#match?' do
9
7
  it 'is a predicate whether the Tags match the given list of tags' do
10
- tags = %w(programming tech)
8
+ tags = %w[programming tech]
11
9
  assert Tags.new.match?([])
12
- assert Tags.new(forbidden: %w(fnord)).match?([])
10
+ assert Tags.new(forbidden: %w[fnord]).match?([])
13
11
  assert Tags.new.match?(tags)
14
- assert Tags.new(required: %w(programming)).match?(tags)
15
- assert Tags.new(required: %w(programming tech)).match?(tags)
16
- refute Tags.new(required: %w(programming tech Ruby)).match?(tags)
17
- refute Tags.new(forbidden: %w(programming)).match?(tags)
18
- refute Tags.new(forbidden: %w(tech), required: %w(tech)).match?(tags)
12
+ assert Tags.new(required: %w[programming]).match?(tags)
13
+ assert Tags.new(required: %w[programming tech]).match?(tags)
14
+ refute Tags.new(required: %w[programming tech Ruby]).match?(tags)
15
+ refute Tags.new(forbidden: %w[programming]).match?(tags)
16
+ refute Tags.new(forbidden: %w[tech], required: %w[tech]).match?(tags)
19
17
  end
20
18
  end
21
19
 
22
20
  describe '#to_s' do
23
21
  it 'returns a CLI-like representation of the Tags' do
24
22
  _(Tags.new.to_s).must_equal ''
25
- _(Tags.new(required: %w(tech)).to_s).must_equal 'tech'
26
- _(Tags.new(forbidden: %w(fnord)).to_s).must_equal '~fnord'
27
- _(Tags.new(forbidden: %w(fnord), required: %w(tech)).to_s)
23
+ _(Tags.new(required: %w[tech]).to_s).must_equal 'tech'
24
+ _(Tags.new(forbidden: %w[fnord]).to_s).must_equal '~fnord'
25
+ _(Tags.new(forbidden: %w[fnord], required: %w[tech]).to_s)
28
26
  .must_equal 'tech ~fnord'
29
27
  end
30
28
  end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  ENV['MT_NO_EXPECTATIONS'] = 'true'
4
2
  require 'bundler/setup'
5
3
  require 'minitest/autorun'
@@ -9,9 +7,3 @@ require 'bogus/minitest/spec'
9
7
  require 'signore'
10
8
 
11
9
  Bogus.configure { |config| config.search_modules << Signore }
12
-
13
- class String
14
- def dedent
15
- gsub(/^#{scan(/^ +/).min}/, '')
16
- end
17
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Szotkowski
@@ -10,27 +10,31 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDfDCCAmSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBCMREwDwYDVQQDDAhjaGFz
14
- dGVsbDEYMBYGCgmSJomT8ixkARkWCGNoYXN0ZWxsMRMwEQYKCZImiZPyLGQBGRYD
15
- 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
- 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
- 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
- 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
- hhfa/Vz0u6PVRhBYQ/Bcj9UEwgiXcy3P4ybINDeDt7GRVs3R9rRoT1aAsb5RCS0z
20
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- xOlyYMPKhWx2IqEip+J7PBpBwMnxIPhTcNlFOj8mSa0=
13
+ MIIERDCCAqygAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtjaGFz
14
+ dGVsbC9EQz1jaGFzdGVsbC9EQz1uZXQwHhcNMTgxMTEzMTkzNDIxWhcNMTkxMTEz
15
+ MTkzNDIxWjAmMSQwIgYDVQQDDBtjaGFzdGVsbC9EQz1jaGFzdGVsbC9EQz1uZXQw
16
+ ggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC1jioiuQD8eIyuCXhry37a
17
+ KBqipfFlkc6Oz37i/LN6NE+TJCtGmgn/wDZDdJVTv3SOGomI1fFVkP7cWAIF+/4+
18
+ 965ktOvenWIwok3LRaMvpnkzo0cqPoUYF9x5kx+9W2ATjmPldNsfC5gtfg5qEsPs
19
+ wqdeMet0Ll5ZMR36GfB+FDlGCD7OetSN7p3oZLqp0tMaac+VYWLdHbBNBmB1jQ3s
20
+ yXYndD3U/NjcTQhVJvpV/Qx9LnDdgsGlXYChiZcy1UTuTj/947WYc40/q9lVFAKg
21
+ MawVC/0NJhB5CC2+eTFX5fSioNNEecET5nJlIhxPO3YhL1o04cZ9a5qL3cfKouUp
22
+ Sf/QSolrGMS6K6fkUK6pkgoQSsjKqdgNXWe/I2LPstXhUEcQtPy1hEwVHBDY3DFS
23
+ bFJxJCzG+0gQavu2F26unT1Ypc2pVtrD85uMIMsRv322EYrDKIFZnBK9caXr4P0A
24
+ 8qF4Q8KLkrVbNSI8yQBYAZbX2s/ujgSGyVjr6EVmAAUCAwEAAaN9MHswCQYDVR0T
25
+ BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFEk81YvjHuQWi2e2Few63uIWo0jR
26
+ MCAGA1UdEQQZMBeBFWNoYXN0ZWxsQGNoYXN0ZWxsLm5ldDAgBgNVHRIEGTAXgRVj
27
+ aGFzdGVsbEBjaGFzdGVsbC5uZXQwDQYJKoZIhvcNAQELBQADggGBADHA0HjFqCjn
28
+ IQkwo43CSWEZBCB+J9vfzYWAeVGWhupHlI/SxhrT7r8chfioDZ3viHMasmZQ5LE6
29
+ CMnQSQ/Cpj/WwmbUzVqBKFK+awivbFoOVbLWjUbhpIZ8CTJ71bj76bNfmJM+EoyJ
30
+ +e/45fxaSeq9FBuF2RN9EFndbUQ8HX2+0q66QgWV3aeegqi0HrapWE1pYMYCq3oa
31
+ YxTqzgX5Dc0hOJlfUbHa8o9Wd+uZtCUDYgW2mMFWDhtqODUelGQVE1ep+r2ezdkz
32
+ CC+NRY+4YHFBPMo6GFZvxWCuCURP5njE02LvRvQm/0sBJN5iiPrhCBC7B20vUD2W
33
+ BBp3qVHoVKxMKQ9hflY/qov85/Hgre3BKTv338CWTrDSC3HoHUXi1LhM2QYNG8oK
34
+ J29ZBdaXkaJ0zXg0Gi2ltKxs4vjxwSHdRqnaT29A8ca9mGWzzVmTqjPz8cFnt+1I
35
+ vmVyvVV5f57oDgaXeZLHRbgp+sU4WyyESZ9cHyYZks1tWKMOavbO7Q==
32
36
  -----END CERTIFICATE-----
33
- date: 2016-10-08 00:00:00.000000000 Z
37
+ date: 2018-11-13 00:00:00.000000000 Z
34
38
  dependencies:
35
39
  - !ruby/object:Gem::Dependency
36
40
  name: lovely_rufus
@@ -46,6 +50,20 @@ dependencies:
46
50
  - - "~>"
47
51
  - !ruby/object:Gem::Version
48
52
  version: '1.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: procto
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: 0.0.3
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: 0.0.3
49
67
  - !ruby/object:Gem::Dependency
50
68
  name: bogus
51
69
  requirement: !ruby/object:Gem::Requirement
@@ -88,48 +106,62 @@ dependencies:
88
106
  - - "~>"
89
107
  - !ruby/object:Gem::Version
90
108
  version: '1.1'
109
+ - !ruby/object:Gem::Dependency
110
+ name: overcommit
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: 0.46.0
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: 0.46.0
91
123
  - !ruby/object:Gem::Dependency
92
124
  name: rake
93
125
  requirement: !ruby/object:Gem::Requirement
94
126
  requirements:
95
127
  - - "~>"
96
128
  - !ruby/object:Gem::Version
97
- version: '11.0'
129
+ version: '12.0'
98
130
  type: :development
99
131
  prerelease: false
100
132
  version_requirements: !ruby/object:Gem::Requirement
101
133
  requirements:
102
134
  - - "~>"
103
135
  - !ruby/object:Gem::Version
104
- version: '11.0'
136
+ version: '12.0'
105
137
  - !ruby/object:Gem::Dependency
106
138
  name: reek
107
139
  requirement: !ruby/object:Gem::Requirement
108
140
  requirements:
109
141
  - - "~>"
110
142
  - !ruby/object:Gem::Version
111
- version: '4.0'
143
+ version: '5.0'
112
144
  type: :development
113
145
  prerelease: false
114
146
  version_requirements: !ruby/object:Gem::Requirement
115
147
  requirements:
116
148
  - - "~>"
117
149
  - !ruby/object:Gem::Version
118
- version: '4.0'
150
+ version: '5.0'
119
151
  - !ruby/object:Gem::Dependency
120
152
  name: rubocop
121
153
  requirement: !ruby/object:Gem::Requirement
122
154
  requirements:
123
155
  - - "~>"
124
156
  - !ruby/object:Gem::Version
125
- version: 0.43.0
157
+ version: 0.60.0
126
158
  type: :development
127
159
  prerelease: false
128
160
  version_requirements: !ruby/object:Gem::Requirement
129
161
  requirements:
130
162
  - - "~>"
131
163
  - !ruby/object:Gem::Version
132
- version: 0.43.0
164
+ version: 0.60.0
133
165
  description: signore helps manage email signatures and select random ones based on
134
166
  their tags
135
167
  email: chastell@chastell.net
@@ -138,20 +170,20 @@ executables:
138
170
  extensions: []
139
171
  extra_rdoc_files: []
140
172
  files:
141
- - ".reek"
173
+ - ".overcommit.yml"
174
+ - ".reek.yml"
142
175
  - ".rubocop.yml"
143
176
  - ".ruby-version"
144
177
  - ".travis.yml"
145
- - Gemfile
146
- - Gemfile.lock
147
178
  - LICENCE
148
179
  - README.md
149
180
  - Rakefile
150
181
  - bin/signore
151
182
  - certs/chastell.pem
183
+ - gems.locked
184
+ - gems.rb
152
185
  - lib/signore.rb
153
186
  - lib/signore/cli.rb
154
- - lib/signore/mapper.rb
155
187
  - lib/signore/repo.rb
156
188
  - lib/signore/settings.rb
157
189
  - lib/signore/sig_finder.rb
@@ -164,7 +196,6 @@ files:
164
196
  - test/fixtures/signatures.yml
165
197
  - test/fixtures/wrapper.yml
166
198
  - test/signore/cli_test.rb
167
- - test/signore/mapper_test.rb
168
199
  - test/signore/repo_test.rb
169
200
  - test/signore/settings_test.rb
170
201
  - test/signore/sig_finder_test.rb
@@ -184,7 +215,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
215
  requirements:
185
216
  - - "~>"
186
217
  - !ruby/object:Gem::Version
187
- version: '2.3'
218
+ version: '2.5'
188
219
  required_rubygems_version: !ruby/object:Gem::Requirement
189
220
  requirements:
190
221
  - - ">="
@@ -192,13 +223,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
223
  version: '0'
193
224
  requirements: []
194
225
  rubyforge_project:
195
- rubygems_version: 2.6.4
226
+ rubygems_version: 2.7.6
196
227
  signing_key:
197
228
  specification_version: 4
198
229
  summary: 'signore: an email signature manager/randomiser'
199
230
  test_files:
200
231
  - test/signore/cli_test.rb
201
- - test/signore/mapper_test.rb
202
232
  - test/signore/repo_test.rb
203
233
  - test/signore/settings_test.rb
204
234
  - test/signore/sig_finder_test.rb
metadata.gz.sig CHANGED
Binary file
data/.reek DELETED
@@ -1,2 +0,0 @@
1
- IrresponsibleModule:
2
- enabled: false
@@ -1,67 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- signore (0.6.0)
5
- lovely_rufus (~> 1.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- ast (2.3.0)
11
- axiom-types (0.1.1)
12
- descendants_tracker (~> 0.0.4)
13
- ice_nine (~> 0.11.0)
14
- thread_safe (~> 0.3, >= 0.3.1)
15
- bogus (0.1.6)
16
- dependor (>= 0.0.4)
17
- codeclimate-engine-rb (0.3.1)
18
- virtus (~> 1.0)
19
- coercible (1.0.0)
20
- descendants_tracker (~> 0.0.1)
21
- dependor (1.0.1)
22
- descendants_tracker (0.0.4)
23
- thread_safe (~> 0.3, >= 0.3.1)
24
- equalizer (0.0.11)
25
- ice_nine (0.11.2)
26
- lovely_rufus (1.0.1)
27
- minitest (5.9.1)
28
- minitest-focus (1.1.2)
29
- minitest (>= 4, < 6)
30
- parser (2.3.1.4)
31
- ast (~> 2.2)
32
- powerpack (0.1.1)
33
- rainbow (2.1.0)
34
- rake (11.3.0)
35
- reek (4.4.2)
36
- codeclimate-engine-rb (~> 0.3.1)
37
- parser (~> 2.3.1, >= 2.3.1.2)
38
- rainbow (~> 2.0)
39
- rubocop (0.43.0)
40
- parser (>= 2.3.1.1, < 3.0)
41
- powerpack (~> 0.1)
42
- rainbow (>= 1.99.1, < 3.0)
43
- ruby-progressbar (~> 1.7)
44
- unicode-display_width (~> 1.0, >= 1.0.1)
45
- ruby-progressbar (1.8.1)
46
- thread_safe (0.3.5)
47
- unicode-display_width (1.1.1)
48
- virtus (1.0.5)
49
- axiom-types (~> 0.1)
50
- coercible (~> 1.0)
51
- descendants_tracker (~> 0.0, >= 0.0.3)
52
- equalizer (~> 0.0, >= 0.0.9)
53
-
54
- PLATFORMS
55
- ruby
56
-
57
- DEPENDENCIES
58
- bogus (~> 0.1.3)
59
- minitest (~> 5.6)
60
- minitest-focus (~> 1.1)
61
- rake (~> 11.0)
62
- reek (~> 4.0)
63
- rubocop (~> 0.43.0)
64
- signore!
65
-
66
- BUNDLED WITH
67
- 1.12.1