jumpstart 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
data/jumpstart.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{jumpstart}
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["i0n"]
@@ -44,7 +44,6 @@ Gem::Specification.new do |s|
44
44
  "lib/jumpstart/filetools.rb",
45
45
  "lib/jumpstart/stringtools.rb",
46
46
  "source_templates/template_config.yml",
47
- "test/destination_dir/.gitignore",
48
47
  "test/fake_nginx_path/local_nginx_1.conf",
49
48
  "test/fake_nginx_path/remote_nginx_1.conf",
50
49
  "test/helper.rb",
data/lib/jumpstart.rb CHANGED
@@ -24,12 +24,13 @@ module JumpStart
24
24
  require 'jumpstart/filetools'
25
25
  require 'jumpstart/stringtools'
26
26
 
27
+ jumpstart_setup_yaml = YAML.load_file("#{CONFIG_PATH}/jumpstart_setup.yml")
27
28
  # The path to the jumpstart templates directory.
28
29
  # Set as a module instance variable.
29
- @templates_path = YAML.load_file("#{CONFIG_PATH}/jumpstart_setup.yml")[:jumpstart_templates_path]
30
+ @templates_path = jumpstart_setup_yaml[:jumpstart_templates_path]
30
31
  # sets the default template to use if it has not been passed as an argument.
31
32
  # Set as a module instance variable.
32
- @default_template_name = YAML.load_file("#{CONFIG_PATH}/jumpstart_setup.yml")[:jumpstart_default_template_name]
33
+ @default_template_name = jumpstart_setup_yaml[:jumpstart_default_template_name]
33
34
 
34
35
  # Get and Set methods for module instance variables.
35
36
  def self.templates_path; @templates_path; end
@@ -37,6 +38,14 @@ module JumpStart
37
38
  def self.default_template_name; @default_template_name; end
38
39
  def self.default_template_name=(value); @default_template_name = value; end
39
40
 
41
+ class Setup
42
+ def self.dump_global_yaml
43
+ File.open( "#{CONFIG_PATH}/jumpstart_setup.yml", 'w' ) do |out|
44
+ YAML.dump( {:jumpstart_templates_path => JumpStart.templates_path, :jumpstart_default_template_name => JumpStart.default_template_name}, out )
45
+ end
46
+ end
47
+ end
48
+
40
49
  end
41
50
 
42
51
  module FileUtils
@@ -47,4 +56,10 @@ end
47
56
 
48
57
  class String
49
58
  include JumpStart::StringTools
50
- end
59
+ end
60
+
61
+ # Set the jumpstart templates path back to default if it has not been set
62
+ if JumpStart.templates_path.nil? || JumpStart.templates_path.empty?
63
+ JumpStart.templates_path = "#{JumpStart::ROOT_PATH}/jumpstart_templates"
64
+ JumpStart::Setup.dump_global_yaml
65
+ end
@@ -31,7 +31,7 @@ module JumpStart
31
31
  # set instance variable @template_path as the directory to read templates from.
32
32
  @template_path = FileUtils.join_paths(JumpStart.templates_path, @template_name)
33
33
  end
34
-
34
+
35
35
  # TODO Ensure that if jumpstart is launched with two arguments they are parsed as @project_name and @template_name, and the command is launched without any menu display.
36
36
  # TODO Ensure that if jumpstart is launched with one argument it is parsed as @project_name, and if JumpStart.default_template_name exists then the command is launched without any menu display.
37
37
  # TODO Write integration tests.
@@ -77,7 +77,7 @@ module JumpStart
77
77
 
78
78
  def start
79
79
  puts "\n******************************************************************************************************************************************\n\n"
80
- puts "JumpStarting....\n".purple
80
+ puts " JumpStarting....\n".purple
81
81
  check_setup
82
82
  execute_install_command
83
83
  run_scripts_from_yaml(:run_after_install_command)
@@ -284,7 +284,7 @@ module JumpStart
284
284
  case
285
285
  when input.to_i <= @existing_templates.count && input.to_i > 0
286
286
  JumpStart.default_template_name = @existing_templates[(input.to_i - 1)]
287
- dump_global_yaml
287
+ JumpStart::Setup.dump_global_yaml
288
288
  puts " The default jumpstart template has been set to: #{JumpStart.default_template_name.green}"
289
289
  jumpstart_menu
290
290
  when input == "b"
@@ -343,7 +343,7 @@ module JumpStart
343
343
  files_and_dirs[:dirs].each {|x| FileUtils.mkdir_p(FileUtils.join_paths(input, x))}
344
344
  files_and_dirs[:files].each {|x| FileUtils.cp(FileUtils.join_paths(JumpStart.templates_path, x), FileUtils.join_paths(input, x)) }
345
345
  JumpStart.templates_path = input.to_s
346
- dump_global_yaml
346
+ JumpStart::Setup.dump_global_yaml
347
347
  puts "\nTransfer complete!".green
348
348
  jumpstart_menu
349
349
  rescue
@@ -375,7 +375,7 @@ module JumpStart
375
375
  @current_files_and_dirs[:dirs].each {|x| FileUtils.mkdir_p(FileUtils.join_paths(ROOT_PATH, '/jumpstart_templates', x))}
376
376
  @current_files_and_dirs[:files].each {|x| FileUtils.cp(FileUtils.join_paths(JumpStart.templates_path, x), FileUtils.join_paths(ROOT_PATH, '/jumpstart_templates', x)) }
377
377
  JumpStart.templates_path = FileUtils.join_paths(ROOT_PATH, '/jumpstart_templates')
378
- dump_global_yaml
378
+ JumpStart::Setup.dump_global_yaml
379
379
  puts "\n SUCCESS! the jumpstart templates directory has been set to the default: #{ROOT_PATH}/jumpstart_templates".green
380
380
  templates_dir_menu
381
381
  elsif input == "no" || input == "n"
@@ -501,12 +501,6 @@ module JumpStart
501
501
  end
502
502
  end
503
503
  end
504
-
505
- def dump_global_yaml
506
- File.open( "#{CONFIG_PATH}/jumpstart_setup.yml", 'w' ) do |out|
507
- YAML.dump( {:jumpstart_templates_path => JumpStart.templates_path, :jumpstart_default_template_name => JumpStart.default_template_name}, out )
508
- end
509
- end
510
504
 
511
505
  def exit_with_success
512
506
  puts "\n\n Exiting JumpStart...".purple
@@ -8,11 +8,14 @@ class TestJumpstartBase < Test::Unit::TestCase
8
8
  # IO has been setup for testing
9
9
  # runs set_config_file_options to set all instance variables
10
10
  setup do
11
+ # Creates destination_dir if it does not exist
12
+ unless File.directory?("#{JumpStart::ROOT_PATH}/test/destination_dir")
13
+ Dir.mkdir("#{JumpStart::ROOT_PATH}/test/destination_dir")
14
+ end
11
15
  JumpStart.templates_path = "#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates"
12
16
  JumpStart.default_template_name = "test_template_1"
13
17
  input = StringIO.new
14
18
  output = StringIO.new
15
- FileUtils.delete_dir_contents("#{JumpStart::ROOT_PATH}/test/destination_dir")
16
19
  @test_project = JumpStart::Base.new(["test_jumpstart_project"])
17
20
  @test_project.instance_variable_set(:@input, input)
18
21
  @test_project.instance_variable_set(:@output, output)
@@ -30,7 +33,6 @@ class TestJumpstartBase < Test::Unit::TestCase
30
33
  setup do
31
34
  input = StringIO.new
32
35
  output = StringIO.new
33
- FileUtils.delete_dir_contents("#{JumpStart::ROOT_PATH}/test/destination_dir")
34
36
  @test_project_2 = JumpStart::Base.new(["test_jumpstart_project", "a_name_that_does_not_exist"])
35
37
  @test_project_2.instance_eval do
36
38
  @input = input
@@ -46,7 +48,6 @@ class TestJumpstartBase < Test::Unit::TestCase
46
48
 
47
49
  # An invalid project (@template_name), with the project name passed as the argument
48
50
  setup do
49
- FileUtils.delete_dir_contents("#{JumpStart::ROOT_PATH}/test/destination_dir")
50
51
  @test_project_3 = JumpStart::Base.new(["test_jumpstart_project"])
51
52
  @test_project_3.instance_variable_set(:@template_name, "a_name_that_does_not_exist")
52
53
  @test_project_3.instance_variable_set(:@template_path, "#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_template_2")
@@ -56,7 +57,6 @@ class TestJumpstartBase < Test::Unit::TestCase
56
57
 
57
58
  # A valid project with the project name passed as the argument
58
59
  setup do
59
- FileUtils.delete_dir_contents("#{JumpStart::ROOT_PATH}/test/destination_dir")
60
60
  @test_project_4 = JumpStart::Base.new(["test_jumpstart_project"])
61
61
  @test_project_4.instance_variable_set(:@template_name, "test_template_2")
62
62
  @test_project_4.instance_variable_set(:@template_path, "#{JumpStart::ROOT_PATH}/test/test_jumpstart_templates/test_template_2")
@@ -102,7 +102,6 @@ class TestJumpstartBase < Test::Unit::TestCase
102
102
 
103
103
  teardown do
104
104
  FileUtils.delete_dir_contents("#{JumpStart::ROOT_PATH}/test/destination_dir")
105
- FileUtils.touch("#{JumpStart::ROOT_PATH}/test/destination_dir/.gitignore")
106
105
  end
107
106
 
108
107
  context "Tests for the JumpStart::Base#intialize instance method. \n" do
@@ -569,7 +568,7 @@ class TestJumpstartBase < Test::Unit::TestCase
569
568
 
570
569
  setup do
571
570
  @test_project.stubs(:jumpstart_menu)
572
- @test_project.stubs(:dump_global_yaml)
571
+ JumpStart::Setup.stubs(:dump_global_yaml)
573
572
  @test_project.instance_variable_set(:@existing_templates, %w[template1 template2 template3])
574
573
  JumpStart.default_template_name = "temp_default"
575
574
  end
@@ -577,7 +576,7 @@ class TestJumpstartBase < Test::Unit::TestCase
577
576
  should "set the default template if a number corresponding to an existing template is entered." do
578
577
  @test_project.instance_variable_set(:@input, StringIO.new("1\n"))
579
578
  @test_project.expects(:jumpstart_menu).once
580
- @test_project.expects(:dump_global_yaml).once
579
+ JumpStart::Setup.expects(:dump_global_yaml).once
581
580
  @test_project.instance_eval {set_default_template_options}
582
581
  assert_equal "template1", JumpStart.default_template_name
583
582
  end
@@ -658,7 +657,7 @@ class TestJumpstartBase < Test::Unit::TestCase
658
657
  context "Tests for the JumpStart::Base#set_templates_dir instance method." do
659
658
 
660
659
  setup do
661
- @test_project.stubs(:dump_global_yaml)
660
+ JumpStart::Setup.stubs(:dump_global_yaml)
662
661
  @test_project.stubs(:jumpstart_menu)
663
662
  end
664
663
 
@@ -670,7 +669,7 @@ class TestJumpstartBase < Test::Unit::TestCase
670
669
 
671
670
  should "create a new directory and copy existing templates into it, then set JumpStart.templates_path to the new location." do
672
671
  @test_project.instance_variable_set(:@input, StringIO.new("#{JumpStart::ROOT_PATH}/test/destination_dir/a_name_that_does_not_exist"))
673
- @test_project.expects(:dump_global_yaml).once
672
+ JumpStart::Setup.expects(:dump_global_yaml).once
674
673
  @test_project.expects(:jumpstart_menu).once
675
674
  @test_project.instance_eval {set_templates_dir}
676
675
  assert_equal "Please enter the absolute path for the directory that you would like to contain your jumpstart templates.\n\nCopying existing templates to /Users/i0n/Sites/jumpstart/test/destination_dir/a_name_that_does_not_exist\n\e[32m\nTransfer complete!\e[0m\n", @test_project.output.string
@@ -705,7 +704,7 @@ class TestJumpstartBase < Test::Unit::TestCase
705
704
  context "Tests for the JumpStart::Base#reset_templates_dir_to_default_set instance method." do
706
705
 
707
706
  setup do
708
- @test_project.stubs(:dump_global_yaml)
707
+ JumpStart::Setup.stubs(:dump_global_yaml)
709
708
  @test_project.stubs(:templates_dir_menu)
710
709
  FileUtils.mkdir("#{JumpStart::ROOT_PATH}/test/destination_dir/jumpstart_templates")
711
710
  @normal_root_path = JumpStart::ROOT_PATH.dup
@@ -1034,18 +1033,7 @@ class TestJumpstartBase < Test::Unit::TestCase
1034
1033
  end
1035
1034
 
1036
1035
  end
1037
-
1038
- context "Tests for the JumpStart::Base#dump_global_yaml instance method." do
1039
-
1040
- should "call File.open and Yaml.dump for jumpstart_setup.yml" do
1041
- YAML.stubs(:dump)
1042
- File.stubs(:open)
1043
- File.expects(:open).once
1044
- @test_project.instance_eval {dump_global_yaml}
1045
- end
1046
-
1047
- end
1048
-
1036
+
1049
1037
  context "Tests for the JumpStart::Base#exit_with_success instance method." do
1050
1038
  # As these methods are very simple exit (end script) methods, and are already patched for testing, seems pointless to write tests for them.
1051
1039
  end
@@ -1097,7 +1085,16 @@ class TestJumpstartBase < Test::Unit::TestCase
1097
1085
  assert JumpStart::Base.remove_last_line?("_l._file.txt")
1098
1086
  end
1099
1087
 
1100
- end
1088
+ end
1089
+
1090
+ context "Tests for the JumpStart::Setup#dump_global_yaml class method." do
1091
+ should "call File.open and Yaml.dump for jumpstart_setup.yml" do
1092
+ YAML.stubs(:dump)
1093
+ File.stubs(:open)
1094
+ File.expects(:open).once
1095
+ JumpStart::Setup.dump_global_yaml
1096
+ end
1097
+ end
1101
1098
 
1102
1099
  context "Tests for initializing and running JumpStart instances\n" do
1103
1100
 
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jumpstart
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 1
9
- - 3
10
- version: 0.1.3
8
+ - 4
9
+ version: 0.1.4
11
10
  platform: ruby
12
11
  authors:
13
12
  - i0n
@@ -26,7 +25,6 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- hash: 3
30
28
  segments:
31
29
  - 0
32
30
  version: "0"
@@ -68,7 +66,6 @@ files:
68
66
  - lib/jumpstart/filetools.rb
69
67
  - lib/jumpstart/stringtools.rb
70
68
  - source_templates/template_config.yml
71
- - test/destination_dir/.gitignore
72
69
  - test/fake_nginx_path/local_nginx_1.conf
73
70
  - test/fake_nginx_path/remote_nginx_1.conf
74
71
  - test/helper.rb
@@ -152,7 +149,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
149
  requirements:
153
150
  - - ">="
154
151
  - !ruby/object:Gem::Version
155
- hash: 3
156
152
  segments:
157
153
  - 0
158
154
  version: "0"
@@ -161,7 +157,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
157
  requirements:
162
158
  - - ">="
163
159
  - !ruby/object:Gem::Version
164
- hash: 3
165
160
  segments:
166
161
  - 0
167
162
  version: "0"