jumpstart 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +5 -0
- data/config/jumpstart_version.yml +1 -1
- data/lib/jumpstart.rb +40 -21
- data/lib/jumpstart/base.rb +16 -30
- data/test/jumpstart/test_base.rb +13 -32
- data/test/test_jumpstart.rb +16 -0
- data/test/test_jumpstart_with_default_template_set.rb +0 -1
- metadata +2 -2
data/Rakefile
CHANGED
@@ -55,6 +55,11 @@ task :version do
|
|
55
55
|
puts "\nJumpStart Version: #{JumpStart::VERSION}"
|
56
56
|
end
|
57
57
|
|
58
|
+
task :existing_templates do
|
59
|
+
puts "\n Existing JumpStart templates:"
|
60
|
+
puts JumpStart.existing_templates
|
61
|
+
end
|
62
|
+
|
58
63
|
def git_actions
|
59
64
|
Dir.chdir("#{JumpStart::ROOT_PATH}")
|
60
65
|
system "git add ."
|
data/lib/jumpstart.rb
CHANGED
@@ -4,6 +4,17 @@ require 'find'
|
|
4
4
|
require 'fileutils'
|
5
5
|
require 'yaml'
|
6
6
|
require 'rbconfig'
|
7
|
+
require 'jumpstart/base'
|
8
|
+
require 'jumpstart/filetools'
|
9
|
+
require 'jumpstart/stringtools'
|
10
|
+
|
11
|
+
# Included as a module so that extension methods will be better defined in class/module chain.
|
12
|
+
FileUtils.extend JumpStart::FileTools
|
13
|
+
|
14
|
+
# Included as a module so that extension methods will be better defined in class/module chain.
|
15
|
+
class String
|
16
|
+
include JumpStart::StringTools
|
17
|
+
end
|
7
18
|
|
8
19
|
# Sets up coloured terminal output in windows
|
9
20
|
if RbConfig::CONFIG['host_os'] =~ /mswin|windows|cygwin|mingw32/
|
@@ -23,10 +34,6 @@ module JumpStart
|
|
23
34
|
IGNORE_DIRS = ['.','..']
|
24
35
|
LAUNCH_PATH = FileUtils.pwd
|
25
36
|
|
26
|
-
require 'jumpstart/base'
|
27
|
-
require 'jumpstart/filetools'
|
28
|
-
require 'jumpstart/stringtools'
|
29
|
-
|
30
37
|
@jumpstart_setup_yaml = YAML.load_file("#{JumpStart::CONFIG_PATH}/jumpstart_setup.yml")
|
31
38
|
@jumpstart_version_yaml = YAML.load_file("#{JumpStart::CONFIG_PATH}/jumpstart_version.yml")
|
32
39
|
|
@@ -34,18 +41,10 @@ module JumpStart
|
|
34
41
|
@version_minor = @jumpstart_version_yaml[:jumpstart_version_minor]
|
35
42
|
@version_patch = @jumpstart_version_yaml[:jumpstart_version_patch]
|
36
43
|
|
37
|
-
# sets the default template to use if it has not been passed as an argument.
|
38
|
-
# Set as a module instance variable.
|
39
|
-
@default_template_name = @jumpstart_setup_yaml[:jumpstart_default_template_name]
|
40
|
-
|
41
|
-
# The path to the jumpstart templates directory.
|
42
|
-
# Set as a module instance variable.
|
43
|
-
@templates_path = @jumpstart_setup_yaml[:jumpstart_templates_path]
|
44
|
-
|
45
44
|
class << self
|
46
45
|
|
47
46
|
attr_accessor :default_template_name, :version_major, :version_minor, :version_patch
|
48
|
-
|
47
|
+
|
49
48
|
# Set the jumpstart templates path back to default if it has not been set
|
50
49
|
def templates_path
|
51
50
|
if @templates_path.nil? || @templates_path.empty?
|
@@ -59,6 +58,22 @@ module JumpStart
|
|
59
58
|
@templates_path = value
|
60
59
|
end
|
61
60
|
|
61
|
+
# TODO JumpStart#lookup_existing_templates class instance method needs tests
|
62
|
+
def existing_templates
|
63
|
+
templates = []
|
64
|
+
template_dirs = Dir.entries(templates_path) - IGNORE_DIRS
|
65
|
+
template_dirs.each do |x|
|
66
|
+
if File.directory?(FileUtils.join_paths(templates_path, x))
|
67
|
+
if Dir.entries(FileUtils.join_paths(templates_path, x)).include? "jumpstart_config"
|
68
|
+
if File.exists?(FileUtils.join_paths(templates_path, x, '/jumpstart_config/', "#{x}.yml"))
|
69
|
+
templates << x
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
templates
|
75
|
+
end
|
76
|
+
|
62
77
|
# Method for writing to config/jumpstart_setup.yml
|
63
78
|
def dump_jumpstart_setup_yaml
|
64
79
|
File.open( "#{JumpStart::CONFIG_PATH}/jumpstart_setup.yml", 'w' ) do |out|
|
@@ -113,13 +128,17 @@ module JumpStart
|
|
113
128
|
|
114
129
|
end
|
115
130
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
131
|
+
# sets the default template to use if it has not been passed as an argument.
|
132
|
+
# Set as a module instance variable.
|
133
|
+
if !@jumpstart_setup_yaml[:jumpstart_default_template_name].nil?
|
134
|
+
@default_template_name = @jumpstart_setup_yaml[:jumpstart_default_template_name] if existing_templates.include?(@jumpstart_setup_yaml[:jumpstart_default_template_name])
|
135
|
+
end
|
136
|
+
|
137
|
+
# The path to the jumpstart templates directory.
|
138
|
+
# Set as a module instance variable.
|
139
|
+
if !@jumpstart_setup_yaml[:jumpstart_templates_path].nil?
|
140
|
+
@templates_path = @jumpstart_setup_yaml[:jumpstart_templates_path] if Dir.exists?(@jumpstart_setup_yaml[:jumpstart_templates_path])
|
141
|
+
end
|
142
|
+
|
124
143
|
end
|
125
144
|
|
data/lib/jumpstart/base.rb
CHANGED
@@ -52,28 +52,12 @@ module JumpStart
|
|
52
52
|
# Pre-install project configuration checking.
|
53
53
|
def check_setup
|
54
54
|
set_config_file_options
|
55
|
-
lookup_existing_templates
|
56
55
|
check_project_name
|
57
56
|
check_template_name
|
58
57
|
check_template_path
|
59
58
|
check_install_path
|
60
59
|
end
|
61
60
|
|
62
|
-
# set up instance variable containing an array that will be populated with existing jumpstart templates
|
63
|
-
def lookup_existing_templates
|
64
|
-
@existing_templates = []
|
65
|
-
template_dirs = Dir.entries(JumpStart.templates_path) - IGNORE_DIRS
|
66
|
-
template_dirs.each do |x|
|
67
|
-
if File.directory?(FileUtils.join_paths(JumpStart.templates_path, x))
|
68
|
-
if Dir.entries(FileUtils.join_paths(JumpStart.templates_path, x)).include? "jumpstart_config"
|
69
|
-
if File.exists?(FileUtils.join_paths(JumpStart.templates_path, x, '/jumpstart_config/', "#{x}.yml"))
|
70
|
-
@existing_templates << x
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
61
|
# Runs the configuration, generating the new project from the chosen template.
|
78
62
|
def start
|
79
63
|
puts "\n******************************************************************************************************************************************\n\n"
|
@@ -193,7 +177,6 @@ module JumpStart
|
|
193
177
|
|
194
178
|
# Captures user input for the main jumpstart menu and calls the appropriate method
|
195
179
|
def jumpstart_menu_options
|
196
|
-
lookup_existing_templates
|
197
180
|
input = gets.chomp.strip
|
198
181
|
case
|
199
182
|
when input == "1"
|
@@ -218,8 +201,8 @@ module JumpStart
|
|
218
201
|
puts " CREATE A NEW JUMPSTART PROJECT FROM AN EXISTING TEMPLATE\n\n".purple
|
219
202
|
puts " Type a number for the template that you want.\n\n"
|
220
203
|
count = 0
|
221
|
-
unless
|
222
|
-
|
204
|
+
unless JumpStart.existing_templates.empty?
|
205
|
+
JumpStart.existing_templates.each do |t|
|
223
206
|
count += 1
|
224
207
|
puts " #{count.to_s.yellow} #{t.green}"
|
225
208
|
end
|
@@ -235,8 +218,8 @@ module JumpStart
|
|
235
218
|
def new_project_from_template_options
|
236
219
|
input = gets.chomp.strip
|
237
220
|
case
|
238
|
-
when input.to_i <=
|
239
|
-
@template_name =
|
221
|
+
when input.to_i <= JumpStart.existing_templates.count && input.to_i > 0
|
222
|
+
@template_name = JumpStart.existing_templates[(input.to_i - 1)]
|
240
223
|
check_project_name
|
241
224
|
project = JumpStart::Base.new([@project_name, @template_name])
|
242
225
|
project.check_setup
|
@@ -256,9 +239,10 @@ module JumpStart
|
|
256
239
|
puts "\n\n******************************************************************************************************************************************\n\n"
|
257
240
|
puts " CREATE A NEW JUMPSTART TEMPLATE\n".purple
|
258
241
|
puts " Existing templates:\n"
|
259
|
-
|
260
|
-
|
261
|
-
|
242
|
+
unless JumpStart.existing_templates.nil?
|
243
|
+
JumpStart.existing_templates.each do |x|
|
244
|
+
puts " #{x.green}\n"
|
245
|
+
end
|
262
246
|
end
|
263
247
|
puts "\n b".yellow + " Back to main menu."
|
264
248
|
puts "\n x".yellow + " Exit jumpstart\n\n"
|
@@ -275,7 +259,7 @@ module JumpStart
|
|
275
259
|
jumpstart_menu
|
276
260
|
when input == "x"
|
277
261
|
exit_normal
|
278
|
-
when
|
262
|
+
when JumpStart.existing_templates.include?(input)
|
279
263
|
puts " A template of the name ".red + input.red_bold + " already exists.".red
|
280
264
|
new_template_options
|
281
265
|
when input.length < 3
|
@@ -297,9 +281,11 @@ module JumpStart
|
|
297
281
|
puts "\n\n******************************************************************************************************************************************\n\n"
|
298
282
|
puts " SELECT A DEFAULT JUMPSTART TEMPLATE\n\n".purple
|
299
283
|
count = 0
|
300
|
-
|
301
|
-
|
302
|
-
|
284
|
+
unless JumpStart.existing_templates.nil?
|
285
|
+
JumpStart.existing_templates.each do |t|
|
286
|
+
count += 1
|
287
|
+
puts " #{count.to_s.yellow} #{t.green}"
|
288
|
+
end
|
303
289
|
end
|
304
290
|
puts "\n b".yellow + " Back to main menu.\n\n"
|
305
291
|
puts " x".yellow + " Exit jumpstart\n\n"
|
@@ -311,8 +297,8 @@ module JumpStart
|
|
311
297
|
def set_default_template_options
|
312
298
|
input = gets.chomp.strip
|
313
299
|
case
|
314
|
-
when input.to_i <=
|
315
|
-
JumpStart.default_template_name =
|
300
|
+
when input.to_i <= JumpStart.existing_templates.count && input.to_i > 0
|
301
|
+
JumpStart.default_template_name = JumpStart.existing_templates[(input.to_i - 1)]
|
316
302
|
JumpStart.dump_jumpstart_setup_yaml
|
317
303
|
puts " The default jumpstart template has been set to: ".green + JumpStart.default_template_name.green_bold
|
318
304
|
jumpstart_menu
|
data/test/jumpstart/test_base.rb
CHANGED
@@ -161,13 +161,11 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
161
161
|
|
162
162
|
should "run contained methods" do
|
163
163
|
@test_project_4.stubs(:set_config_file_options).returns("set_config_file_options")
|
164
|
-
@test_project_4.stubs(:lookup_existing_templates).returns("lookup_existing_templates")
|
165
164
|
@test_project_4.stubs(:check_project_name).returns("check_project_name")
|
166
165
|
@test_project_4.stubs(:check_template_name).returns("check_template_name")
|
167
166
|
@test_project_4.stubs(:check_template_path).returns("check_template_path")
|
168
167
|
@test_project_4.stubs(:check_install_path).returns("check_install_path")
|
169
168
|
@test_project_4.expects(:set_config_file_options).once
|
170
|
-
@test_project_4.expects(:lookup_existing_templates).once
|
171
169
|
@test_project_4.expects(:check_project_name).once
|
172
170
|
@test_project_4.expects(:check_template_name).once
|
173
171
|
@test_project_4.expects(:check_template_path).once
|
@@ -176,16 +174,7 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
176
174
|
end
|
177
175
|
|
178
176
|
end
|
179
|
-
|
180
|
-
context "Tests for the JumpStart::Base#lookup_existing_projects instance method. \n" do
|
181
|
-
|
182
|
-
should "run lookup_existing_projects method and return an array of existing templates" do
|
183
|
-
@test_project.lookup_existing_templates
|
184
|
-
assert_equal %w[test_template_1 test_template_2 test_template_3], @test_project.instance_eval {@existing_templates}
|
185
|
-
end
|
186
|
-
|
187
|
-
end
|
188
|
-
|
177
|
+
|
189
178
|
context "Tests for the JumpStart::Base#start instance method. \n" do
|
190
179
|
|
191
180
|
should "run the contained methods" do
|
@@ -398,7 +387,6 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
398
387
|
context "Tests for the JumpStart::Base#jumpstart_menu_options instance method. \n" do
|
399
388
|
|
400
389
|
setup do
|
401
|
-
@test_project.stubs(:lookup_existing_templates)
|
402
390
|
@test_project.stubs(:new_project_from_template_menu)
|
403
391
|
@test_project.stubs(:new_template_menu)
|
404
392
|
@test_project.stubs(:set_default_template_menu)
|
@@ -454,10 +442,8 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
454
442
|
should "display options and run new_project_from_template_options" do
|
455
443
|
@test_project.stubs(:new_project_from_template_options)
|
456
444
|
@test_project.expects(:new_project_from_template_options).once
|
457
|
-
@test_project.instance_variable_set(:@existing_templates, %w[project1 project2 project3])
|
458
445
|
@test_project.instance_eval {new_project_from_template_menu}
|
459
|
-
assert_equal "\n\n******************************************************************************************************************************************\n\n\e[1m\e[35m CREATE A NEW JUMPSTART PROJECT FROM AN EXISTING TEMPLATE\n\n\e[0m\n Type a number for the template that you want.\n\n \e[1m\e[33m1\e[0m \e[
|
460
|
-
assert_equal ['project1', 'project2', 'project3'], @test_project.instance_variable_get(:@existing_templates)
|
446
|
+
assert_equal "\n\n******************************************************************************************************************************************\n\n\e[1m\e[35m CREATE A NEW JUMPSTART PROJECT FROM AN EXISTING TEMPLATE\n\n\e[0m\n Type a number for the template that you want.\n\n \e[1m\e[33m1\e[0m \e[32mtest_template_1\e[0m\n \e[1m\e[33m2\e[0m \e[32mtest_template_2\e[0m\n \e[1m\e[33m3\e[0m \e[32mtest_template_3\e[0m\n\e[1m\e[33m\n b\e[0m Back to main menu.\n\e[1m\e[33m\n x\e[0m Exit jumpstart\n\n******************************************************************************************************************************************\n\n", @test_project.output.string
|
461
447
|
end
|
462
448
|
|
463
449
|
end
|
@@ -466,7 +452,6 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
466
452
|
|
467
453
|
setup do
|
468
454
|
@test_project.stubs(:jumpstart_menu)
|
469
|
-
@test_project.instance_eval {lookup_existing_templates}
|
470
455
|
end
|
471
456
|
|
472
457
|
# TODO Look into testing this method in a different way. The fact that a new class object is instantiated makes it difficult to test with mocha.
|
@@ -504,14 +489,11 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
504
489
|
context "Tests for the JumpStart::Base#new_template_menu instance method." do
|
505
490
|
|
506
491
|
should "display output and call new_template_options" do
|
507
|
-
@test_project.stubs(:lookup_existing_templates)
|
508
492
|
@test_project.stubs(:new_template_options)
|
509
|
-
|
510
|
-
@test_project.expects(:lookup_existing_templates).once
|
493
|
+
JumpStart.expects(:existing_templates).once
|
511
494
|
@test_project.expects(:new_template_options).once
|
512
495
|
@test_project.instance_eval {new_template_menu}
|
513
|
-
assert_equal "\n\n******************************************************************************************************************************************\n\n\e[1m\e[35m CREATE A NEW JUMPSTART TEMPLATE\n\e[0m\n Existing templates:\n
|
514
|
-
assert_equal %w[project1 project2 project3], @test_project.instance_variable_get(:@existing_templates)
|
496
|
+
assert_equal "\n\n******************************************************************************************************************************************\n\n\e[1m\e[35m CREATE A NEW JUMPSTART TEMPLATE\n\e[0m\n Existing templates:\n\e[1m\e[33m\n b\e[0m Back to main menu.\n\e[1m\e[33m\n x\e[0m Exit jumpstart\n\n", @test_project.output.string
|
515
497
|
end
|
516
498
|
|
517
499
|
end
|
@@ -519,14 +501,13 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
519
501
|
context "Tests for the JumpStart::Base#new_template_options instance method." do
|
520
502
|
|
521
503
|
setup do
|
522
|
-
JumpStart.templates_path = "#{JumpStart::ROOT_PATH}/test/destination_dir"
|
504
|
+
# JumpStart.templates_path = "#{JumpStart::ROOT_PATH}/test/destination_dir"
|
523
505
|
@test_project.stubs(:jumpstart_menu).returns("jumpstart_menu")
|
524
|
-
@test_project.instance_variable_set(:@existing_templates, %w[one two three])
|
525
506
|
end
|
526
507
|
|
527
508
|
# Due to the recursive nature of this code, the only successful way to test is to check for the NoMethodError that is raised when the method is called for a second time, this time with @input as nil. I'd be interested to find another way to test this.
|
528
509
|
should "ask for another template name if the name given is already taken " do
|
529
|
-
@test_project.instance_variable_set(:@input, StringIO.new("
|
510
|
+
@test_project.instance_variable_set(:@input, StringIO.new("test_template_1\n"))
|
530
511
|
assert_raises(NoMethodError) {@test_project.instance_eval {new_template_options}}
|
531
512
|
end
|
532
513
|
|
@@ -545,22 +526,22 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
545
526
|
should "create a new template in the jumpstart templates directory if the name given is valid." do
|
546
527
|
@test_project.instance_variable_set(:@input, StringIO.new("four\n"))
|
547
528
|
@test_project.instance_eval {new_template_options}
|
548
|
-
assert File.exists?("#{JumpStart::ROOT_PATH}/test/
|
529
|
+
assert File.exists?("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/four/jumpstart_config/four.yml")
|
549
530
|
original_file_contents = IO.read("#{JumpStart::ROOT_PATH}/source_templates/template_config.yml")
|
550
|
-
created_file_contents = IO.read("#{JumpStart::ROOT_PATH}/test/
|
531
|
+
created_file_contents = IO.read("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/four/jumpstart_config/four.yml")
|
551
532
|
assert_equal original_file_contents, created_file_contents
|
533
|
+
FileUtils.remove_dir("#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/four")
|
552
534
|
end
|
553
535
|
|
554
536
|
end
|
555
537
|
|
556
538
|
context "Tests for the JumpStart::Base#set_default_template_menu instance method." do
|
557
539
|
|
558
|
-
should "display menu containing contents of
|
559
|
-
@test_project.instance_variable_set(:@existing_templates, %w[one two three])
|
540
|
+
should "display menu containing contents of JumpStart.existing_templates" do
|
560
541
|
@test_project.stubs(:set_default_template_options)
|
561
542
|
@test_project.expects(:set_default_template_options).once
|
562
543
|
@test_project.instance_eval {set_default_template_menu}
|
563
|
-
assert_equal "\n\n******************************************************************************************************************************************\n\n\e[1m\e[35m SELECT A DEFAULT JUMPSTART TEMPLATE\n\n\e[0m\n \e[1m\e[33m1\e[0m \e[
|
544
|
+
assert_equal "\n\n******************************************************************************************************************************************\n\n\e[1m\e[35m SELECT A DEFAULT JUMPSTART TEMPLATE\n\n\e[0m\n \e[1m\e[33m1\e[0m \e[32mtest_template_1\e[0m\n \e[1m\e[33m2\e[0m \e[32mtest_template_2\e[0m\n \e[1m\e[33m3\e[0m \e[32mtest_template_3\e[0m\n\e[1m\e[33m\n b\e[0m Back to main menu.\n\n\e[1m\e[33m x\e[0m Exit jumpstart\n\n******************************************************************************************************************************************\n\n", @test_project.output.string
|
564
545
|
end
|
565
546
|
|
566
547
|
end
|
@@ -570,7 +551,7 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
570
551
|
setup do
|
571
552
|
@test_project.stubs(:jumpstart_menu)
|
572
553
|
JumpStart.stubs(:dump_jumpstart_setup_yaml)
|
573
|
-
|
554
|
+
JumpStart.templates_path = "#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates"
|
574
555
|
JumpStart.default_template_name = "temp_default"
|
575
556
|
end
|
576
557
|
|
@@ -579,7 +560,7 @@ class TestJumpstartBase < Test::Unit::TestCase
|
|
579
560
|
@test_project.expects(:jumpstart_menu).once
|
580
561
|
JumpStart.expects(:dump_jumpstart_setup_yaml).once
|
581
562
|
@test_project.instance_eval {set_default_template_options}
|
582
|
-
assert_equal "
|
563
|
+
assert_equal "test_template_1", JumpStart.default_template_name
|
583
564
|
end
|
584
565
|
|
585
566
|
should "go back to the main jumpstart menu if 'b' is entered." do
|
data/test/test_jumpstart.rb
CHANGED
@@ -38,6 +38,22 @@ class TestJumpstart < Test::Unit::TestCase
|
|
38
38
|
|
39
39
|
end
|
40
40
|
|
41
|
+
context "Tests for the JumpStart#existing_projects class method. \n" do
|
42
|
+
|
43
|
+
setup do
|
44
|
+
JumpStart.templates_path = "#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates"
|
45
|
+
end
|
46
|
+
|
47
|
+
teardown do
|
48
|
+
JumpStart.templates_path = nil
|
49
|
+
end
|
50
|
+
|
51
|
+
should "run existing_projects method and return an array of existing templates" do
|
52
|
+
assert_equal %w[test_template_1 test_template_2 test_template_3], JumpStart.existing_templates
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
41
57
|
context "Tests for the JumpStart#dump_jumpstart_setup_yaml class method." do
|
42
58
|
should "call File.open and Yaml.dump for jumpstart_setup.yml" do
|
43
59
|
YAML.stubs(:dump)
|
@@ -55,7 +55,6 @@ class TestJumpStartWithDefaultTemplateSet < Test::Unit::TestCase
|
|
55
55
|
@project = JumpStart::Base.new(["hello", "test_template_1"])
|
56
56
|
@project.stubs(:jumpstart_menu)
|
57
57
|
@project.expects(:set_config_file_options)
|
58
|
-
@project.expects(:lookup_existing_templates)
|
59
58
|
@project.expects(:check_project_name)
|
60
59
|
@project.expects(:check_template_name)
|
61
60
|
@project.expects(:check_template_path)
|