terminitor 0.2.2 → 0.3.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.
data/test/dsl_test.rb CHANGED
@@ -11,9 +11,23 @@ context "Dsl" do
11
11
  setup { @yaml.to_hash }
12
12
  asserts_topic.equivalent_to :setup=>["echo \"setup\""],
13
13
  :windows=>{
14
- "window1"=>{:tabs=>{"named tab"=>{:commands=>["echo 'named tab'", "ls"], :options => {:settings=>"Grass"}},
15
- "tab0"=>{:commands=>["echo 'first tab'", "echo 'of window'", "echo 'than now'"]}}, :options => {:size=>[70,30]}},
16
- "default"=>{:tabs=>{"tab0"=>{:commands=>["echo 'default'", "echo 'default tab'", "ok", "for real"]}}}}
14
+ "window1"=>{:tabs=>{"tab2"=>{:commands=>["echo 'named tab'", "ls"],
15
+ :options => {:name => "named tab", :settings=>"Grass"}},
16
+ "tab1"=>{:commands=>["echo 'first tab'", "echo 'of window'", "echo 'than now'"]},
17
+ "tab3"=>{:commands=>["top"],
18
+ :options =>{:name => "a tab", :settings => "Pro"}},
19
+ "default"=>{:commands=>['whoami']}
20
+ },
21
+ :before => ['cd /path'],
22
+ :options => {:size=>[70,30]}},
23
+ "window2"=>{:tabs=>{"tab1"=>{:commands=>["uptime"]},
24
+ "default"=>{:commands=>[]}
25
+ },
26
+ :before => ['whoami'],
27
+ :options => {:name => 'server'}},
28
+ "default"=>{:tabs=>{"tab1"=>{:commands=>["echo 'default'", "echo 'default tab'", "ok", "for real"]},
29
+ "default"=>{:commands=>[]}
30
+ }}}
17
31
  end
18
32
 
19
33
  end
@@ -6,12 +6,24 @@ setup 'echo "setup"'
6
6
  tab "echo 'default'", "echo 'default tab'", "ok", "for real"
7
7
 
8
8
  window :size => [70,30] do
9
+
10
+ before 'cd /path'
11
+
12
+ run "whoami"
9
13
  tab "echo 'first tab'", "echo 'of window'", "echo 'than now'"
10
14
 
11
- tab "named tab", :settings => "Grass" do
15
+ tab :name => "named tab", :settings => "Grass" do
12
16
  run "echo 'named tab'"
13
17
  run "ls"
14
18
  end
19
+
20
+ tab :name => "a tab", :settings => "Pro" do
21
+ run "top"
22
+ end
15
23
  end
16
24
 
25
+ window :name => 'server' do
26
+ before { run 'whoami' }
27
+ tab "uptime"
28
+ end
17
29
 
data/test/runner_test.rb CHANGED
@@ -18,221 +18,209 @@ class TestItem
18
18
  end
19
19
 
20
20
  context "Runner" do
21
- setup { @yaml = File.read(File.expand_path('../fixtures/foo.yml', __FILE__)) }
22
- setup { @template = File.read(File.expand_path('../../lib/templates/example.yml.tt', __FILE__)) }
23
- setup { @test_runner = TestRunner.new }
24
- setup { FakeFS.activate! }
21
+ setup do
22
+ @yaml = File.read(File.expand_path('../fixtures/foo.yml', __FILE__))
23
+ @template = File.read(File.expand_path('../../lib/templates/example.yml.tt', __FILE__))
24
+ @test_runner = TestRunner.new
25
+ FakeFS.activate!
26
+ end
25
27
  teardown { FakeFS.deactivate! }
26
28
 
27
29
 
28
- context "find_core" do
29
- context "for Darwin" do
30
- setup { @test_runner.find_core('darwin') }
31
- asserts_topic.equals Terminitor::MacCore
32
- end
30
+ context "#find_core" do
31
+ should("have Darwin") { @test_runner.find_core('darwin') }.equals Terminitor::MacCore
33
32
 
34
33
  if platform?('linux') # TODO Gotta be a better way.
35
- context "for KDE" do
36
- setup { @test_runner.find_core('linux') }
37
- asserts_topic.equals Terminitor::KonsoleCore
38
- end
34
+ should("have KDE") { @test_runner.find_core('linux') }.equals Terminitor::KonsoleCore
39
35
  end
40
36
  end
41
37
 
42
- context "capture_core" do
43
- context "for Darwin" do
44
- setup { @test_runner.capture_core('darwin') }
45
- asserts_topic.equals Terminitor::MacCapture
46
- end
38
+ context "#capture_core" do
39
+ should("have Darwin") { @test_runner.capture_core('darwin') }.equals Terminitor::MacCapture
47
40
  end
48
41
 
49
- context "open_in_editor" do
50
- context "using $EDITOR" do
51
- setup { ENV['EDITOR'] = 'mate' }
52
- setup { mock(@test_runner).system("mate /tmp/sample_project/foo.yml").returns {true}.once }
53
- asserts("calls") { capture(:stdout) { @test_runner.open_in_editor("/tmp/sample_project/foo.yml") } }
54
- end
42
+ context "#open_in_editor" do
55
43
 
56
- context "using $TERM_EDITOR" do
57
- setup { ENV['TERM_EDITOR'] = 'vim' }
58
- setup { ENV['EDITOR'] = 'jack' }
59
- setup { mock(@test_runner).system("vim /tmp/sample_project/foo.yml").returns {true}.once }
60
- asserts("calls") { capture(:stdout) { @test_runner.open_in_editor("/tmp/sample_project/foo.yml")} }
44
+ should "use $EDITOR" do
45
+ ENV['EDITOR'] = 'mate'
46
+ mock(@test_runner).system("mate /tmp/sample_project/foo.yml").returns {true}.once
47
+ capture(:stdout) { @test_runner.open_in_editor("/tmp/sample_project/foo.yml") }
61
48
  end
62
49
 
63
- context "without any editor" do
64
- setup { ENV['TERM_EDITOR'] = nil }
65
- setup { ENV['EDITOR'] = nil }
66
- setup { mock(@test_runner).system("open /tmp/sample_project/foo.yml").returns {true}.once }
67
- setup { capture(:stdout) { @test_runner.open_in_editor("/tmp/sample_project/foo.yml")} }
68
- asserts_topic.matches %r{please set}
50
+ should "use $TERM_EDITOR" do
51
+ ENV['TERM_EDITOR'] = 'vim'
52
+ ENV['EDITOR'] = 'jack'
53
+ mock(@test_runner).system("vim /tmp/sample_project/foo.yml").returns {true}.once
54
+ capture(:stdout) { @test_runner.open_in_editor("/tmp/sample_project/foo.yml") }
69
55
  end
70
56
 
71
- context "accepts an editor" do
72
- setup { ENV['TERM_EDITOR'] = 'vim' }
73
- setup { ENV['EDITOR'] = 'jack' }
74
- setup { mock(@test_runner).system("nano /tmp/sample_project/foo.yml").returns {true}.once }
75
- asserts("calls") { capture(:stdout) { @test_runner.open_in_editor("/tmp/sample_project/foo.yml","nano")} }
57
+ should "return a message without any editor that" do
58
+ ENV['TERM_EDITOR'] = nil
59
+ ENV['EDITOR'] = nil
60
+ mock(@test_runner).system("open /tmp/sample_project/foo.yml").returns {true}.once
61
+ capture(:stdout) { @test_runner.open_in_editor("/tmp/sample_project/foo.yml")}
62
+ end.matches %r{please set}
63
+
64
+ should "accept an editor" do
65
+ ENV['TERM_EDITOR'] = 'vim'
66
+ ENV['EDITOR'] = 'jack'
67
+ mock(@test_runner).system("nano /tmp/sample_project/foo.yml").returns {true}.once
68
+ capture(:stdout) { @test_runner.open_in_editor("/tmp/sample_project/foo.yml","nano") }
76
69
  end
77
70
 
78
71
  end
79
72
 
80
- context "resolve_path" do
73
+ context "#resolve_path" do
81
74
  setup { FileUtils.mkdir_p(File.join(ENV['HOME'],'.terminitor')) }
82
75
 
83
- context "with yaml" do
84
- setup { FileUtils.touch(File.join(ENV['HOME'],'.terminitor','test.yml')) }
85
- setup { @test_runner.resolve_path('test') }
86
- asserts_topic.equals File.join(ENV['HOME'],'.terminitor','test.yml')
87
- end
76
+ should "return yaml" do
77
+ FileUtils.touch(File.join(ENV['HOME'],'.terminitor','test.yml'))
78
+ @test_runner.resolve_path('test')
79
+ end.equals File.join(ENV['HOME'],'.terminitor','test.yml')
88
80
 
89
- context "with term" do
90
- setup { FileUtils.touch(File.join(ENV['HOME'],'.terminitor','test.term')) }
91
- setup { FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.yml')) }
92
- setup { @test_runner.resolve_path('test') }
93
- asserts_topic.equals File.join(ENV['HOME'],'.terminitor','test.term')
94
- end
81
+ should "return term" do
82
+ FileUtils.touch(File.join(ENV['HOME'],'.terminitor','test.term'))
83
+ FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.yml'))
84
+ @test_runner.resolve_path('test')
85
+ end.equals File.join(ENV['HOME'],'.terminitor','test.term')
95
86
 
96
- context "with Termfile" do
97
- setup { FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.yml')) }
98
- setup { FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.term')) }
99
- setup { FileUtils.touch("Termfile") }
100
- setup { mock(@test_runner).options { {:root => '.'} } }
101
- setup { @test_runner.resolve_path("") }
102
- asserts_topic.equals "./Termfile"
103
- end
104
87
 
105
- context "with nothing" do
106
- setup { FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.yml')) }
107
- setup { FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.term')) }
108
- setup { FileUtils.rm("Termfile") }
88
+ should "return Termfile" do
89
+ FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.yml'))
90
+ FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.term'))
91
+ FileUtils.touch("Termfile")
92
+ mock(@test_runner).options { {:root => '.'} }
93
+ @test_runner.resolve_path("")
94
+ end.equals "./Termfile"
109
95
 
110
- context "with a project" do
111
- setup { @test_runner.resolve_path('hey') }
112
- asserts_topic.nil
113
- end
114
96
 
115
- context "without a project" do
116
- setup { mock(@test_runner).options { {:root => '.'} } }
117
- setup { @test_runner.resolve_path("") }
118
- asserts_topic.nil
97
+ context "with nothing" do
98
+ setup do
99
+ FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.yml'))
100
+ FileUtils.rm(File.join(ENV['HOME'],'.terminitor','test.term'))
101
+ FileUtils.rm("Termfile")
119
102
  end
120
- end
103
+
104
+ should("have path with a project") { @test_runner.resolve_path('hey') }.nil
121
105
 
122
- end
106
+ should("have path without a project") do
107
+ mock(@test_runner).options.returns(:root => '.')
108
+ @test_runner.resolve_path ""
109
+ end.nil
123
110
 
124
- context "config_path" do
125
- context "for yaml" do
126
- setup { @test_runner.config_path('test',:yml) }
127
- asserts_topic.equals File.join(ENV['HOME'],'.terminitor','test.yml')
128
111
  end
129
112
 
130
- context "for term" do
131
- setup { @test_runner.config_path('test', :term) }
132
- asserts_topic.equals File.join(ENV['HOME'],'.terminitor', 'test.term')
133
- end
113
+ end
134
114
 
135
- context "for Termfile" do
136
- setup { mock(@test_runner).options { {:root => '/tmp'} } }
137
- setup { @test_runner.config_path("") }
138
- asserts_topic.equals "/tmp/Termfile"
139
- end
115
+ context "config_path" do
116
+ should("have yaml") { @test_runner.config_path('test',:yml) }.equals File.join(ENV['HOME'],'.terminitor','test.yml')
117
+ should("have term") { @test_runner.config_path('test', :term) }.equals File.join(ENV['HOME'],'.terminitor', 'test.term')
118
+
119
+ should "have Termfile" do
120
+ mock(@test_runner).options { {:root => '/tmp'} }
121
+ @test_runner.config_path ""
122
+ end.equals '/tmp/Termfile'
140
123
 
141
124
  end
142
125
 
143
- context "grab_comment_for_file" do
144
- setup { File.open('foo.yml','w') { |f| f.puts @yaml } }
145
- setup { @test_runner.grab_comment_for_file('foo.yml') }
146
- asserts_topic.matches %r{- Foo.yml}
147
- end
126
+ asserts "#grab_comment_for_file executes" do
127
+ File.open('foo.yml','w') { |f| f.puts @yaml }
128
+ @test_runner.grab_comment_for_file('foo.yml')
129
+ end.matches %r{- Foo.yml}
148
130
 
149
- context "return_error_message" do
150
- context "with project" do
151
- setup { mock(@test_runner).say(%r{'hi' doesn't exist}) { true } }
152
- asserts("that it says") { @test_runner.return_error_message('hi') }
131
+
132
+ context "#return_error_message" do
133
+
134
+ should "return message with project" do
135
+ mock(@test_runner).say(%r{'hi' doesn't exist}) { true }
136
+ @test_runner.return_error_message('hi')
153
137
  end
154
- context "without project" do
155
- setup { mock(@test_runner).say(%r{Termfile}) { true } }
156
- asserts("that is says") { @test_runner.return_error_message('') }
138
+
139
+ should "return message without project" do
140
+ mock(@test_runner).say(%r{Termfile}) { true }
141
+ @test_runner.return_error_message('')
157
142
  end
143
+
158
144
  end
159
145
 
160
- context "execute_core" do
146
+ context "#execute_core" do
161
147
 
162
- context "with no found path" do
163
- setup { mock(@test_runner).resolve_path('project') { nil } }
164
- setup { mock(@test_runner).return_error_message('project') { true } }
165
- asserts("shows error message") { @test_runner.execute_core(:process!,'project') }
148
+ should "have error message with no path" do
149
+ mock(@test_runner).resolve_path('project') { nil }
150
+ mock(@test_runner).return_error_message('project') { true }
151
+ @test_runner.execute_core(:process!,'project')
166
152
  end
167
153
 
168
- context "with no found core" do
169
- setup { mock(@test_runner).resolve_path('project') { true } }
170
- setup { mock(@test_runner).find_core(anything) { nil } }
171
- setup { mock(@test_runner).say(/No suitable/) { true } }
172
- asserts("shows message") { @test_runner.execute_core(:process!,'project') }
154
+ should "have error message with no core" do
155
+ mock(@test_runner).resolve_path('project') { true }
156
+ mock(@test_runner).find_core(anything) { nil }
157
+ mock(@test_runner).say(/No suitable/) { true }
158
+ @test_runner.execute_core(:process!,'project')
173
159
  end
174
160
 
175
161
  context "with found core" do
176
- context "#process!" do
177
- setup { mock(@test_runner).resolve_path('project') { '/path/to' } }
178
- setup do
179
- any_instance_of(Terminitor::AbstractCore) do |core|
180
- stub(core).load_termfile('/path/to') { true }
181
- stub(core).process! { true }
182
- end
183
- mock(@test_runner).find_core(anything) { Terminitor::AbstractCore }
162
+
163
+ should "call #process!" do
164
+ mock(@test_runner).resolve_path('project') { '/path/to' }
165
+ any_instance_of(Terminitor::AbstractCore) do |core|
166
+ stub(core).load_termfile('/path/to') { true }
167
+ stub(core).process! { true }
184
168
  end
185
- asserts("calls process!") { @test_runner.execute_core(:process!, 'project') }
169
+ mock(@test_runner).find_core(anything) { Terminitor::AbstractCore }
170
+ @test_runner.execute_core(:process!, 'project')
186
171
  end
187
172
 
188
- context "#setup!" do
189
- setup { mock(@test_runner).resolve_path('project') { '/path/to' } }
190
- setup do
191
- any_instance_of(Terminitor::AbstractCore) do |core|
192
- stub(core).load_termfile('/path/to') { true }
193
- stub(core).setup! { true }
194
- end
195
- mock(@test_runner).find_core(anything) { Terminitor::AbstractCore }
173
+ should "call #setup!" do
174
+ mock(@test_runner).resolve_path('project') { '/path/to' }
175
+ any_instance_of(Terminitor::AbstractCore) do |core|
176
+ stub(core).load_termfile('/path/to') { true }
177
+ stub(core).setup! { true }
196
178
  end
197
- asserts("calls process!") { @test_runner.execute_core(:setup!, 'project') }
179
+ mock(@test_runner).find_core(anything) { Terminitor::AbstractCore }
180
+ @test_runner.execute_core(:setup!, 'project')
198
181
  end
182
+
199
183
  end
200
184
  end
201
185
 
202
- context "github_clone" do
186
+ context "#github_clone" do
187
+
203
188
  context "with github" do
204
189
  setup { stub(@test_runner).__double_definition_create__.call(:`,'which github') { "github" } }
205
- context "with read/write priv" do
206
- setup { mock(@test_runner).system("github clone achiu terminitor --ssh") { true } }
207
- asserts("invokes ssh") { @test_runner.github_clone('achiu','terminitor') }
190
+
191
+ should "invoke ssh with read/write priv" do
192
+ mock(@test_runner).system("github clone achiu terminitor --ssh") { true }
193
+ @test_runner.github_clone('achiu','terminitor')
208
194
  end
209
195
 
210
- context "with read only" do
211
- setup { mock(@test_runner).system("github clone achiu terminitor --ssh") { false } }
212
- setup { mock(@test_runner).system("github clone achiu terminitor") { true } }
213
- asserts("invokes git://") { @test_runner.github_clone('achiu', 'terminitor') }
196
+ should "invoke git:// with read only" do
197
+ mock(@test_runner).system("github clone achiu terminitor --ssh") { false }
198
+ mock(@test_runner).system("github clone achiu terminitor") { true }
199
+ @test_runner.github_clone('achiu', 'terminitor')
214
200
  end
201
+
215
202
  end
203
+
216
204
  end
217
205
 
218
206
  context "github_repo" do
219
- context "with setup" do
220
- setup { mock(@test_runner).github_clone('achiu','terminitor') { true } }
221
- setup { mock(FileUtils).cd(File.join(Dir.pwd,'terminitor')) { true } }
222
- setup { mock(@test_runner).invoke(:setup, []) { true } }
223
- asserts("invokes setup") { @test_runner.github_repo('achiu','terminitor', :setup => true) }
224
- end
225
-
226
- context "without setup" do
227
- setup { mock(@test_runner).github_clone('achiu','terminitor') { true } }
228
- setup { mock(FileUtils).cd(File.join(Dir.pwd,'terminitor')) { true } }
229
- asserts("invokes setup") { @test_runner.github_repo('achiu','terminitor') }.nil
230
- end
231
-
232
- context "failed on repo" do
233
- setup { mock(@test_runner).github_clone('achiu','terminitor') { false } }
234
- setup { mock(@test_runner).say("could not fetch repo!") { true } }
235
- asserts("invokes say") { @test_runner.github_repo('achiu', 'terminitor') }
207
+ should "invoke setup" do
208
+ mock(@test_runner).github_clone('achiu','terminitor') { true }
209
+ mock(FileUtils).cd(File.join(Dir.pwd,'terminitor')) { true }
210
+ mock(@test_runner).invoke(:setup, []) { true }
211
+ @test_runner.github_repo('achiu','terminitor', :setup => true)
212
+ end
213
+
214
+ should "invoke without setup" do
215
+ mock(@test_runner).github_clone('achiu','terminitor') { true }
216
+ mock(FileUtils).cd(File.join(Dir.pwd,'terminitor')) { true }
217
+ @test_runner.github_repo('achiu','terminitor')
218
+ end.nil
219
+
220
+ should "return a message on a failed repo" do
221
+ mock(@test_runner).github_clone('achiu','terminitor') { false }
222
+ mock(@test_runner).say("could not fetch repo!") { true }
223
+ @test_runner.github_repo('achiu', 'terminitor')
236
224
  end
237
225
 
238
226
  end
data/test/teststrap.rb CHANGED
@@ -16,7 +16,7 @@ def platform?(platform)
16
16
  RUBY_PLATFORM.downcase.include?(platform)
17
17
  end
18
18
 
19
- class Object
19
+ module Kernel
20
20
  def capture(stream)
21
21
  begin
22
22
  stream = stream.to_s
@@ -28,4 +28,22 @@ class Object
28
28
  end
29
29
  result
30
30
  end
31
- end
31
+ end
32
+
33
+ # This is to silence the 'task' warning for the mocks.
34
+ class Thor
35
+ class << self
36
+ def create_task(meth) #:nodoc:
37
+ if @usage && @desc
38
+ base_class = @hide ? Thor::HiddenTask : Thor::Task
39
+ tasks[meth] = base_class.new(meth, @desc, @long_desc, @usage, method_options)
40
+ @usage, @desc, @long_desc, @method_options, @hide = nil
41
+ true
42
+ elsif self.all_tasks[meth] || meth == "method_missing"
43
+ true
44
+ else
45
+ false
46
+ end
47
+ end
48
+ end
49
+ end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terminitor
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
- - 2
9
- - 2
10
- version: 0.2.2
7
+ - 3
8
+ - 0
9
+ version: 0.3.0
11
10
  platform: ruby
12
11
  authors:
13
12
  - Arthur Chiu
@@ -16,7 +15,7 @@ autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2010-11-11 00:00:00 -08:00
18
+ date: 2010-12-01 00:00:00 -08:00
20
19
  default_executable:
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
@@ -27,7 +26,6 @@ dependencies:
27
26
  requirements:
28
27
  - - ">="
29
28
  - !ruby/object:Gem::Version
30
- hash: 3
31
29
  segments:
32
30
  - 0
33
31
  version: "0"
@@ -41,7 +39,6 @@ dependencies:
41
39
  requirements:
42
40
  - - ~>
43
41
  - !ruby/object:Gem::Version
44
- hash: 39
45
42
  segments:
46
43
  - 0
47
44
  - 14
@@ -57,7 +54,6 @@ dependencies:
57
54
  requirements:
58
55
  - - ~>
59
56
  - !ruby/object:Gem::Version
60
- hash: 5
61
57
  segments:
62
58
  - 0
63
59
  - 4
@@ -73,7 +69,6 @@ dependencies:
73
69
  requirements:
74
70
  - - ~>
75
71
  - !ruby/object:Gem::Version
76
- hash: 23
77
72
  segments:
78
73
  - 1
79
74
  - 0
@@ -89,12 +84,11 @@ dependencies:
89
84
  requirements:
90
85
  - - ~>
91
86
  - !ruby/object:Gem::Version
92
- hash: 51
93
87
  segments:
94
88
  - 0
95
- - 11
89
+ - 12
96
90
  - 0
97
- version: 0.11.0
91
+ version: 0.12.0
98
92
  type: :development
99
93
  version_requirements: *id005
100
94
  - !ruby/object:Gem::Dependency
@@ -103,9 +97,8 @@ dependencies:
103
97
  requirement: &id006 !ruby/object:Gem::Requirement
104
98
  none: false
105
99
  requirements:
106
- - - "="
100
+ - - ~>
107
101
  - !ruby/object:Gem::Version
108
- hash: 23
109
102
  segments:
110
103
  - 1
111
104
  - 0
@@ -121,7 +114,6 @@ dependencies:
121
114
  requirements:
122
115
  - - ">="
123
116
  - !ruby/object:Gem::Version
124
- hash: 3
125
117
  segments:
126
118
  - 0
127
119
  version: "0"
@@ -190,7 +182,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
182
  requirements:
191
183
  - - ">="
192
184
  - !ruby/object:Gem::Version
193
- hash: 3
194
185
  segments:
195
186
  - 0
196
187
  version: "0"
@@ -199,7 +190,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
190
  requirements:
200
191
  - - ">="
201
192
  - !ruby/object:Gem::Version
202
- hash: 23
203
193
  segments:
204
194
  - 1
205
195
  - 3