paradeiser 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/Gemfile +2 -2
- data/README.md +96 -35
- data/TODO.md +14 -15
- data/VISION.md +92 -84
- data/bin/{pom → par} +32 -2
- data/doc/Paradeiser::Break_status.svg +50 -0
- data/doc/Paradeiser::Pomodoro_status.svg +40 -22
- data/lib/paradeiser.rb +3 -3
- data/lib/paradeiser/controllers/breaks_controller.rb +19 -0
- data/lib/paradeiser/controllers/controller.rb +3 -3
- data/lib/paradeiser/controllers/paradeiser_controller.rb +13 -2
- data/lib/paradeiser/controllers/pomodori_controller.rb +36 -17
- data/lib/paradeiser/errors.rb +12 -6
- data/lib/paradeiser/executor.rb +2 -0
- data/lib/paradeiser/initializers/inflections.rb +4 -0
- data/lib/paradeiser/models/break.rb +40 -0
- data/lib/paradeiser/models/hook.rb +4 -4
- data/lib/paradeiser/models/interrupt.rb +18 -0
- data/lib/paradeiser/models/job.rb +1 -1
- data/lib/paradeiser/models/pomodoro.rb +30 -22
- data/lib/paradeiser/models/repository.rb +26 -13
- data/lib/paradeiser/models/scheduled.rb +25 -0
- data/lib/paradeiser/models/scheduler.rb +1 -1
- data/lib/paradeiser/models/status.rb +21 -0
- data/lib/paradeiser/{refinements.rb → refinements/numeric.rb} +4 -0
- data/lib/paradeiser/router.rb +12 -7
- data/lib/paradeiser/version.rb +1 -1
- data/lib/paradeiser/views/paradeiser/init.erb +1 -1
- data/lib/paradeiser/views/paradeiser/report.erb +5 -0
- data/lib/paradeiser/views/paradeiser/status.erb +13 -0
- data/paradeiser.gemspec +2 -0
- data/templates/linux/hooks/after-finish-break +10 -0
- data/templates/linux/hooks/after-finish-pomodoro +10 -0
- data/templates/linux/hooks/after-start-break +7 -0
- data/templates/linux/hooks/after-start-pomodoro +7 -0
- data/templates/mac/hooks/after-finish-break +10 -0
- data/templates/mac/hooks/after-finish-pomodoro +10 -0
- data/templates/mac/hooks/after-start-break +7 -0
- data/templates/mac/hooks/after-start-pomodoro +7 -0
- data/test/helper.rb +37 -4
- data/test/integration/{test_pom.rb → test_par.rb} +4 -4
- data/test/lib/{pomodoro_mock.rb → schedulable_mock.rb} +9 -1
- data/test/unit/test_break.rb +99 -0
- data/test/unit/test_break_controller.rb +56 -0
- data/test/unit/test_interrupt.rb +36 -0
- data/test/unit/test_paradeiser_controller_init.rb +92 -0
- data/test/unit/test_paradeiser_controller_report.rb +44 -0
- data/test/unit/test_paradeiser_controller_status.rb +70 -0
- data/test/unit/test_paradeiser_view.rb +66 -0
- data/test/unit/test_pomodori_controller.rb +87 -31
- data/test/unit/test_pomodori_view.rb +0 -50
- data/test/unit/test_pomodoro.rb +131 -9
- data/test/unit/test_pomodoro_hooks.rb +165 -17
- data/test/unit/test_repository.rb +38 -15
- data/test/unit/test_router.rb +4 -4
- data/test/unit/test_status.rb +26 -0
- metadata +70 -17
- data/lib/paradeiser/views/pomodori/report.erb +0 -5
- data/lib/paradeiser/views/pomodori/status.erb +0 -9
- data/templates/linux/hooks/after-finish +0 -10
- data/templates/linux/hooks/after-start +0 -7
- data/templates/mac/hooks/after-finish +0 -10
- data/templates/mac/hooks/after-start +0 -7
- data/test/unit/test_paradeiser_controller.rb +0 -88
@@ -71,12 +71,35 @@ class TestRepository < MiniTest::Test
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def test_any
|
74
|
+
refute(invoke(:any?){|p| p.length > 2})
|
75
|
+
@backend[:foo] = SchedulableMock.new(:length => 1)
|
76
|
+
@backend[:bar] = SchedulableMock.new(:length => 2)
|
77
|
+
@backend[:baz] = SchedulableMock.new(:length => 3)
|
78
|
+
assert(invoke(:any?){|p| p.length > 2})
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_last_finished
|
82
|
+
@backend[:foo] = SchedulableMock.new(:finished => false)
|
83
|
+
@backend[:bar] = SchedulableMock.new(:finished => true)
|
84
|
+
@backend[:baz] = SchedulableMock.new(:finished => false)
|
85
|
+
|
86
|
+
last_finished = invoke(:last_finished)
|
87
|
+
assert(last_finished)
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_last_canceled
|
91
|
+
@backend[:foo] = SchedulableMock.new(:canceled => false)
|
92
|
+
@backend[:bar] = SchedulableMock.new(:canceled => true)
|
93
|
+
@backend[:baz] = SchedulableMock.new(:canceled => false)
|
94
|
+
|
95
|
+
last_canceled = invoke(:last_canceled)
|
96
|
+
assert(last_canceled)
|
74
97
|
end
|
75
98
|
|
76
99
|
def test_find
|
77
|
-
@backend[:foo] =
|
78
|
-
@backend[:bar] =
|
79
|
-
@backend[:baz] =
|
100
|
+
@backend[:foo] = SchedulableMock.new(:length => 3)
|
101
|
+
@backend[:bar] = SchedulableMock.new(:length => 3)
|
102
|
+
@backend[:baz] = SchedulableMock.new(:length => 2)
|
80
103
|
assert_equal(3, @backend.size)
|
81
104
|
|
82
105
|
all = invoke(:find){|pom| pom.length == 3}
|
@@ -85,35 +108,35 @@ class TestRepository < MiniTest::Test
|
|
85
108
|
end
|
86
109
|
|
87
110
|
def test_active
|
88
|
-
@backend[:foo] =
|
89
|
-
@backend[:bar] =
|
90
|
-
@backend[:baz] =
|
111
|
+
@backend[:foo] = SchedulableMock.new(:active => false)
|
112
|
+
@backend[:bar] = SchedulableMock.new(:active => true)
|
113
|
+
@backend[:baz] = SchedulableMock.new(:active => false)
|
91
114
|
|
92
115
|
active = invoke(:active)
|
93
116
|
assert_equal(@backend[:bar], active)
|
94
117
|
end
|
95
118
|
|
96
119
|
def test_active_true
|
97
|
-
@backend[:foo] =
|
98
|
-
@backend[:bar] =
|
99
|
-
@backend[:baz] =
|
120
|
+
@backend[:foo] = SchedulableMock.new(:active => false)
|
121
|
+
@backend[:bar] = SchedulableMock.new(:active => true)
|
122
|
+
@backend[:baz] = SchedulableMock.new(:active => false)
|
100
123
|
|
101
124
|
assert(invoke(:active?))
|
102
125
|
end
|
103
126
|
|
104
127
|
def test_active_false
|
105
|
-
@backend[:foo] =
|
106
|
-
@backend[:bar] =
|
107
|
-
@backend[:baz] =
|
128
|
+
@backend[:foo] = SchedulableMock.new(:active => false)
|
129
|
+
@backend[:bar] = SchedulableMock.new(:active => false)
|
130
|
+
@backend[:baz] = SchedulableMock.new(:active => false)
|
108
131
|
|
109
132
|
refute(invoke(:active?))
|
110
133
|
end
|
111
134
|
|
112
135
|
def test_corrupted_repo
|
113
|
-
@backend[:foo] =
|
114
|
-
@backend[:bar] =
|
136
|
+
@backend[:foo] = SchedulableMock.new(:active => true)
|
137
|
+
@backend[:bar] = SchedulableMock.new(:active => true)
|
115
138
|
|
116
|
-
assert_raises
|
139
|
+
assert_raises RuntimeError do
|
117
140
|
invoke(:active?)
|
118
141
|
end
|
119
142
|
end
|
data/test/unit/test_router.rb
CHANGED
@@ -14,12 +14,12 @@ class TestRouter < MiniTest::Test
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_init
|
17
|
-
refute(Dir.exists?(Paradeiser.
|
17
|
+
refute(Dir.exists?(Paradeiser.par_dir), "Expect #{Paradeiser.par_dir} to not exist yet")
|
18
18
|
|
19
|
-
block = Router.new.dispatch(CommandMock.new(
|
19
|
+
block = Router.new.dispatch(CommandMock.new('init'))
|
20
20
|
refute_nil(block)
|
21
21
|
|
22
|
-
refute(Dir.exists?(Paradeiser.
|
22
|
+
refute(Dir.exists?(Paradeiser.par_dir), "Expect #{Paradeiser.par_dir} to not exist yet")
|
23
23
|
|
24
24
|
# fake the view
|
25
25
|
dirname = File.join(File.dirname(__FILE__), '..', '..', 'lib', 'paradeiser', 'views', 'paradeiser')
|
@@ -30,7 +30,7 @@ class TestRouter < MiniTest::Test
|
|
30
30
|
begin
|
31
31
|
block.call(nil, OptionsMock.new(:trace => true, :verbose => false))
|
32
32
|
ensure
|
33
|
-
FileUtils.rm_r(Paradeiser.
|
33
|
+
FileUtils.rm_r(Paradeiser.par_dir, :force => true)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'ostruct'
|
3
|
+
|
4
|
+
class TestStatus < MiniTest::Test
|
5
|
+
def test_pomodoro_active
|
6
|
+
assert_equal(0, Status.of(thing('pomodoro', 'active')).to_i)
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_pomodoro_finished
|
10
|
+
assert_equal(1, Status.of(thing('pomodoro', 'finished')).to_i)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_break_active
|
14
|
+
assert_equal(2, Status.of(thing('break', 'active')).to_i)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_break_finished
|
18
|
+
assert_equal(3, Status.of(thing('break', 'finished')).to_i)
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def thing(name, status)
|
24
|
+
OpenStruct.new(:name => name, :status => status)
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paradeiser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas E. Rabenau
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -52,6 +52,34 @@ dependencies:
|
|
52
52
|
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: activesupport
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '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'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: actionpack
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
55
83
|
- !ruby/object:Gem::Dependency
|
56
84
|
name: guard-minitest
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,7 +240,7 @@ description: Paradeiser is a command-line tool for the Pomodoro Technique. It ke
|
|
212
240
|
email:
|
213
241
|
- nerab@gmx.net
|
214
242
|
executables:
|
215
|
-
-
|
243
|
+
- par
|
216
244
|
extensions: []
|
217
245
|
extra_rdoc_files: []
|
218
246
|
files:
|
@@ -226,43 +254,60 @@ files:
|
|
226
254
|
- Rakefile
|
227
255
|
- TODO.md
|
228
256
|
- VISION.md
|
229
|
-
- bin/
|
257
|
+
- bin/par
|
258
|
+
- doc/Paradeiser::Break_status.svg
|
230
259
|
- doc/Paradeiser::Pomodoro_status.svg
|
231
260
|
- lib/paradeiser.rb
|
261
|
+
- lib/paradeiser/controllers/breaks_controller.rb
|
232
262
|
- lib/paradeiser/controllers/controller.rb
|
233
263
|
- lib/paradeiser/controllers/paradeiser_controller.rb
|
234
264
|
- lib/paradeiser/controllers/pomodori_controller.rb
|
235
265
|
- lib/paradeiser/errors.rb
|
236
266
|
- lib/paradeiser/executor.rb
|
267
|
+
- lib/paradeiser/initializers/inflections.rb
|
268
|
+
- lib/paradeiser/models/break.rb
|
237
269
|
- lib/paradeiser/models/hook.rb
|
270
|
+
- lib/paradeiser/models/interrupt.rb
|
238
271
|
- lib/paradeiser/models/job.rb
|
239
272
|
- lib/paradeiser/models/pomodoro.rb
|
240
273
|
- lib/paradeiser/models/repository.rb
|
274
|
+
- lib/paradeiser/models/scheduled.rb
|
241
275
|
- lib/paradeiser/models/scheduler.rb
|
242
|
-
- lib/paradeiser/
|
276
|
+
- lib/paradeiser/models/status.rb
|
277
|
+
- lib/paradeiser/refinements/numeric.rb
|
243
278
|
- lib/paradeiser/router.rb
|
244
279
|
- lib/paradeiser/version.rb
|
245
280
|
- lib/paradeiser/view.rb
|
246
281
|
- lib/paradeiser/views/paradeiser/init.erb
|
282
|
+
- lib/paradeiser/views/paradeiser/report.erb
|
283
|
+
- lib/paradeiser/views/paradeiser/status.erb
|
247
284
|
- lib/paradeiser/views/pomodori/finish.erb
|
248
|
-
- lib/paradeiser/views/pomodori/report.erb
|
249
285
|
- lib/paradeiser/views/pomodori/start.erb
|
250
|
-
- lib/paradeiser/views/pomodori/status.erb
|
251
286
|
- paradeiser.gemspec
|
252
|
-
- templates/linux/hooks/after-finish
|
253
|
-
- templates/linux/hooks/after-
|
254
|
-
- templates/
|
255
|
-
- templates/
|
287
|
+
- templates/linux/hooks/after-finish-break
|
288
|
+
- templates/linux/hooks/after-finish-pomodoro
|
289
|
+
- templates/linux/hooks/after-start-break
|
290
|
+
- templates/linux/hooks/after-start-pomodoro
|
291
|
+
- templates/mac/hooks/after-finish-break
|
292
|
+
- templates/mac/hooks/after-finish-pomodoro
|
293
|
+
- templates/mac/hooks/after-start-break
|
294
|
+
- templates/mac/hooks/after-start-pomodoro
|
256
295
|
- test/helper.rb
|
257
|
-
- test/integration/
|
296
|
+
- test/integration/test_par.rb
|
258
297
|
- test/lib/assertions.rb
|
259
298
|
- test/lib/at_mock.rb
|
260
299
|
- test/lib/options_mock.rb
|
261
|
-
- test/lib/pomodoro_mock.rb
|
262
300
|
- test/lib/process_status_mock.rb
|
263
301
|
- test/lib/pstore_mock.rb
|
302
|
+
- test/lib/schedulable_mock.rb
|
264
303
|
- test/templates/hooks/pre-finish
|
265
|
-
- test/unit/
|
304
|
+
- test/unit/test_break.rb
|
305
|
+
- test/unit/test_break_controller.rb
|
306
|
+
- test/unit/test_interrupt.rb
|
307
|
+
- test/unit/test_paradeiser_controller_init.rb
|
308
|
+
- test/unit/test_paradeiser_controller_report.rb
|
309
|
+
- test/unit/test_paradeiser_controller_status.rb
|
310
|
+
- test/unit/test_paradeiser_view.rb
|
266
311
|
- test/unit/test_pomodori_controller.rb
|
267
312
|
- test/unit/test_pomodori_view.rb
|
268
313
|
- test/unit/test_pomodoro.rb
|
@@ -270,6 +315,7 @@ files:
|
|
270
315
|
- test/unit/test_repository.rb
|
271
316
|
- test/unit/test_router.rb
|
272
317
|
- test/unit/test_scheduler.rb
|
318
|
+
- test/unit/test_status.rb
|
273
319
|
homepage: https://github.com/nerab/paradeiser
|
274
320
|
licenses:
|
275
321
|
- MIT
|
@@ -296,15 +342,21 @@ specification_version: 4
|
|
296
342
|
summary: Command-line tool for the Pomodoro Technique
|
297
343
|
test_files:
|
298
344
|
- test/helper.rb
|
299
|
-
- test/integration/
|
345
|
+
- test/integration/test_par.rb
|
300
346
|
- test/lib/assertions.rb
|
301
347
|
- test/lib/at_mock.rb
|
302
348
|
- test/lib/options_mock.rb
|
303
|
-
- test/lib/pomodoro_mock.rb
|
304
349
|
- test/lib/process_status_mock.rb
|
305
350
|
- test/lib/pstore_mock.rb
|
351
|
+
- test/lib/schedulable_mock.rb
|
306
352
|
- test/templates/hooks/pre-finish
|
307
|
-
- test/unit/
|
353
|
+
- test/unit/test_break.rb
|
354
|
+
- test/unit/test_break_controller.rb
|
355
|
+
- test/unit/test_interrupt.rb
|
356
|
+
- test/unit/test_paradeiser_controller_init.rb
|
357
|
+
- test/unit/test_paradeiser_controller_report.rb
|
358
|
+
- test/unit/test_paradeiser_controller_status.rb
|
359
|
+
- test/unit/test_paradeiser_view.rb
|
308
360
|
- test/unit/test_pomodori_controller.rb
|
309
361
|
- test/unit/test_pomodori_view.rb
|
310
362
|
- test/unit/test_pomodoro.rb
|
@@ -312,3 +364,4 @@ test_files:
|
|
312
364
|
- test/unit/test_repository.rb
|
313
365
|
- test/unit/test_router.rb
|
314
366
|
- test/unit/test_scheduler.rb
|
367
|
+
- test/unit/test_status.rb
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<% case @pom.status_name
|
2
|
-
when :active
|
3
|
-
%>Pomodoro #<%= @pom.id %> is active for another <%= @pom.remaining.minutes %> minutes (started at <%= @pom.started_at.strftime('%R') %>).<%
|
4
|
-
when :finished
|
5
|
-
%>No active pomodoro. Last one was finished at <%= @pom.finished_at.strftime('%R') %>.<%
|
6
|
-
else
|
7
|
-
%>Current state is <%= @pom.status %>.<%
|
8
|
-
end
|
9
|
-
%>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
#
|
4
|
-
# Sample post-finish hook for Paradeiser (called when a pomodoro ended). It
|
5
|
-
# displays a simple notification.
|
6
|
-
#
|
7
|
-
# $POM_ID - the ID of the pomodoro that just ended
|
8
|
-
# $POM_STARTED_AT - the time when the pomodoro was started
|
9
|
-
#
|
10
|
-
notify-send "Pomodoro" "The Pomodoro $POM_ID (started at $POM_STARTED_AT) is over." -u critical > /dev/null
|
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
#
|
4
|
-
# Sample post-finish hook for Paradeiser (called when a pomodoro ended). It
|
5
|
-
# displays a simple notification.
|
6
|
-
#
|
7
|
-
# $POM_ID - the ID of the pomodoro that just ended
|
8
|
-
# $POM_STARTED_AT - the time when the pomodoro was started
|
9
|
-
#
|
10
|
-
terminal-notifier-success -message "The Pomodoro $POM_ID (started at $POM_STARTED_AT) is over." > /dev/null
|
@@ -1,88 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
require 'fakefs/safe'
|
3
|
-
|
4
|
-
class TestParadeiserController < MiniTest::Test
|
5
|
-
HOOKS = ['after-finish', 'before-finish']
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@orig_pom_dir = ENV['POM_DIR']
|
9
|
-
FakeFS.activate!
|
10
|
-
create_hook_templates
|
11
|
-
end
|
12
|
-
|
13
|
-
def teardown
|
14
|
-
FileUtils.rm_r(Paradeiser.pom_dir, :force => true) if Dir.exists?(Paradeiser.pom_dir)
|
15
|
-
FakeFS.deactivate!
|
16
|
-
ENV['POM_DIR'] = @orig_pom_dir
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_init_virgin
|
20
|
-
ENV.delete('POM_DIR')
|
21
|
-
refute(Dir.exists?(Paradeiser.pom_dir), "Expect #{Paradeiser.pom_dir} to not exist yet")
|
22
|
-
|
23
|
-
ParadeiserController.new(:init).call(nil, nil)
|
24
|
-
assert(Dir.exists?(Paradeiser.pom_dir))
|
25
|
-
assert_hooks_exist
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_init_existing
|
29
|
-
FileUtils.mkdir_p(Paradeiser.pom_dir, 0700)
|
30
|
-
assert(Dir.exists?(Paradeiser.pom_dir))
|
31
|
-
|
32
|
-
ParadeiserController.new(:init).call(nil, nil)
|
33
|
-
assert(Dir.exists?(Paradeiser.pom_dir))
|
34
|
-
assert_hooks_exist
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_init_virgin_with_env_override
|
38
|
-
dir = tempdir_name
|
39
|
-
refute_equal(dir, Paradeiser.pom_dir)
|
40
|
-
ENV['POM_DIR'] = dir
|
41
|
-
assert_equal(dir, Paradeiser.pom_dir)
|
42
|
-
refute(Dir.exists?(Paradeiser.pom_dir), "POM_DIR override #{Paradeiser.pom_dir} must not exist")
|
43
|
-
|
44
|
-
ParadeiserController.new(:init).call(nil, nil)
|
45
|
-
|
46
|
-
assert(Dir.exists?(Paradeiser.pom_dir))
|
47
|
-
assert_hooks_exist
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_init_existing_with_env_override
|
51
|
-
ENV.delete('POM_DIR')
|
52
|
-
|
53
|
-
Dir.mktmpdir do |dir|
|
54
|
-
refute_equal(dir, Paradeiser.pom_dir)
|
55
|
-
ENV['POM_DIR'] = dir
|
56
|
-
assert_equal(dir, Paradeiser.pom_dir)
|
57
|
-
assert(Dir.exists?(Paradeiser.pom_dir), "POM_DIR override #{Paradeiser.pom_dir} must exist")
|
58
|
-
|
59
|
-
ParadeiserController.new(:init).call(nil, nil)
|
60
|
-
assert(Dir.exists?(Paradeiser.pom_dir), "POM_DIR override #{Paradeiser.pom_dir} must exist")
|
61
|
-
assert_hooks_exist
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
private
|
66
|
-
|
67
|
-
# Makes a temporary directory name, but does not create the directory
|
68
|
-
def tempdir_name
|
69
|
-
dir = File.join(Dir.tmpdir, SecureRandom.uuid)
|
70
|
-
refute(Dir.exists?(dir))
|
71
|
-
dir
|
72
|
-
end
|
73
|
-
|
74
|
-
def create_hook_templates
|
75
|
-
hook_templates_dir = File.join(Paradeiser.templates_dir, Paradeiser.os.to_s, 'hooks')
|
76
|
-
FileUtils.mkdir_p(hook_templates_dir)
|
77
|
-
|
78
|
-
HOOKS.each do |hook|
|
79
|
-
FileUtils.touch(File.join(hook_templates_dir, hook))
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def assert_hooks_exist
|
84
|
-
HOOKS.each do |hook|
|
85
|
-
assert(File.exist?(File.join(Paradeiser.hooks_dir, hook)))
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|