bootcamp 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +14 -0
  5. data/Gemfile.lock +36 -0
  6. data/LICENSE.txt +20 -0
  7. data/NOTES +3 -0
  8. data/README.rdoc +49 -0
  9. data/Rakefile +42 -0
  10. data/VERSION +1 -0
  11. data/bin/bootcamp +8 -0
  12. data/bootcamp.gemspec +190 -0
  13. data/lib/bootcamp.rb +22 -0
  14. data/lib/bootcamp/armory.rb +20 -0
  15. data/lib/bootcamp/drill_instructor.rb +95 -0
  16. data/lib/bootcamp/formations/core.rb +13 -0
  17. data/lib/bootcamp/formations/html.rb +17 -0
  18. data/lib/bootcamp/formations/jquery.rb +13 -0
  19. data/lib/bootcamp/recruit.rb +28 -0
  20. data/spec/bootcamp_spec.rb +12 -0
  21. data/spec/spec_helper.rb +12 -0
  22. data/vendor/core.js +1 -0
  23. data/vendor/dojo.js +14 -0
  24. data/vendor/jquery.js +18 -0
  25. data/vendor/midori.js +1502 -0
  26. data/vendor/mootools.js +486 -0
  27. data/vendor/prototype.js +6082 -0
  28. data/vendor/test_suites/jasmine/SpecRunner.html +27 -0
  29. data/vendor/test_suites/jasmine/lib/jasmine-1.0.2/MIT.LICENSE +20 -0
  30. data/vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine-html.js +188 -0
  31. data/vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine.css +166 -0
  32. data/vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine.js +2421 -0
  33. data/vendor/test_suites/jasmine/spec/PlayerSpec.js +58 -0
  34. data/vendor/test_suites/jasmine/spec/SpecHelper.js +9 -0
  35. data/vendor/test_suites/jasmine/src/Player.js +22 -0
  36. data/vendor/test_suites/jasmine/src/Song.js +7 -0
  37. data/vendor/test_suites/jspec/History.md +790 -0
  38. data/vendor/test_suites/jspec/Manifest +79 -0
  39. data/vendor/test_suites/jspec/README.md +1030 -0
  40. data/vendor/test_suites/jspec/Rakefile +28 -0
  41. data/vendor/test_suites/jspec/bin/jspec +182 -0
  42. data/vendor/test_suites/jspec/jspec.gemspec +44 -0
  43. data/vendor/test_suites/jspec/lib/images/bg.png +0 -0
  44. data/vendor/test_suites/jspec/lib/images/hr.png +0 -0
  45. data/vendor/test_suites/jspec/lib/images/loading.gif +0 -0
  46. data/vendor/test_suites/jspec/lib/images/sprites.bg.png +0 -0
  47. data/vendor/test_suites/jspec/lib/images/sprites.png +0 -0
  48. data/vendor/test_suites/jspec/lib/images/vr.png +0 -0
  49. data/vendor/test_suites/jspec/lib/jspec.css +149 -0
  50. data/vendor/test_suites/jspec/lib/jspec.growl.js +115 -0
  51. data/vendor/test_suites/jspec/lib/jspec.jquery.js +72 -0
  52. data/vendor/test_suites/jspec/lib/jspec.js +1876 -0
  53. data/vendor/test_suites/jspec/lib/jspec.shell.js +39 -0
  54. data/vendor/test_suites/jspec/lib/jspec.timers.js +90 -0
  55. data/vendor/test_suites/jspec/lib/jspec.xhr.js +195 -0
  56. data/vendor/test_suites/jspec/spec/commands/example_command.rb +19 -0
  57. data/vendor/test_suites/jspec/spec/dom.html +33 -0
  58. data/vendor/test_suites/jspec/spec/fixtures/test.html +1 -0
  59. data/vendor/test_suites/jspec/spec/fixtures/test.json +1 -0
  60. data/vendor/test_suites/jspec/spec/fixtures/test.xml +5 -0
  61. data/vendor/test_suites/jspec/spec/node.js +17 -0
  62. data/vendor/test_suites/jspec/spec/rhino.js +23 -0
  63. data/vendor/test_suites/jspec/spec/ruby/bin/init_spec.rb +101 -0
  64. data/vendor/test_suites/jspec/spec/ruby/bin/install_spec.rb +141 -0
  65. data/vendor/test_suites/jspec/spec/ruby/bin/run_spec.rb +0 -0
  66. data/vendor/test_suites/jspec/spec/ruby/bin/shell_spec.rb +13 -0
  67. data/vendor/test_suites/jspec/spec/ruby/bin/spec_helper.rb +8 -0
  68. data/vendor/test_suites/jspec/spec/ruby/bin/update_spec.rb +72 -0
  69. data/vendor/test_suites/jspec/spec/server.html +29 -0
  70. data/vendor/test_suites/jspec/spec/server.rb +2 -0
  71. data/vendor/test_suites/jspec/spec/support/env.js +10118 -0
  72. data/vendor/test_suites/jspec/spec/support/jquery.js +4376 -0
  73. data/vendor/test_suites/jspec/spec/unit/helpers.js +64 -0
  74. data/vendor/test_suites/jspec/spec/unit/spec.fixtures.js +24 -0
  75. data/vendor/test_suites/jspec/spec/unit/spec.grammar-less.js +34 -0
  76. data/vendor/test_suites/jspec/spec/unit/spec.grammar.js +275 -0
  77. data/vendor/test_suites/jspec/spec/unit/spec.jquery.js +178 -0
  78. data/vendor/test_suites/jspec/spec/unit/spec.jquery.xhr.js +84 -0
  79. data/vendor/test_suites/jspec/spec/unit/spec.js +187 -0
  80. data/vendor/test_suites/jspec/spec/unit/spec.matchers.js +577 -0
  81. data/vendor/test_suites/jspec/spec/unit/spec.modules.js +51 -0
  82. data/vendor/test_suites/jspec/spec/unit/spec.shared-behaviors.js +279 -0
  83. data/vendor/test_suites/jspec/spec/unit/spec.utils.js +346 -0
  84. data/vendor/test_suites/jspec/spec/unit/spec.xhr.js +157 -0
  85. data/vendor/test_suites/jspec/src/browsers.rb +279 -0
  86. data/vendor/test_suites/jspec/src/helpers.rb +67 -0
  87. data/vendor/test_suites/jspec/src/installables.rb +229 -0
  88. data/vendor/test_suites/jspec/src/project.rb +341 -0
  89. data/vendor/test_suites/jspec/src/routes.rb +57 -0
  90. data/vendor/test_suites/jspec/src/server.rb +88 -0
  91. data/vendor/test_suites/jspec/support/js.jar +0 -0
  92. data/vendor/test_suites/jspec/templates/default/History.md +5 -0
  93. data/vendor/test_suites/jspec/templates/default/Readme.md +29 -0
  94. data/vendor/test_suites/jspec/templates/default/lib/yourlib.js +2 -0
  95. data/vendor/test_suites/jspec/templates/default/spec/commands/example_command.rb +19 -0
  96. data/vendor/test_suites/jspec/templates/default/spec/dom.html +22 -0
  97. data/vendor/test_suites/jspec/templates/default/spec/node.js +10 -0
  98. data/vendor/test_suites/jspec/templates/default/spec/rhino.js +10 -0
  99. data/vendor/test_suites/jspec/templates/default/spec/server.html +18 -0
  100. data/vendor/test_suites/jspec/templates/default/spec/server.rb +4 -0
  101. data/vendor/test_suites/jspec/templates/default/spec/unit/spec.helper.js +0 -0
  102. data/vendor/test_suites/jspec/templates/default/spec/unit/spec.js +8 -0
  103. data/vendor/test_suites/jspec/templates/node/History.md +5 -0
  104. data/vendor/test_suites/jspec/templates/node/Readme.md +29 -0
  105. data/vendor/test_suites/jspec/templates/node/lib/yourlib.js +2 -0
  106. data/vendor/test_suites/jspec/templates/node/spec/node.js +10 -0
  107. data/vendor/test_suites/jspec/templates/node/spec/unit/spec.helper.js +0 -0
  108. data/vendor/test_suites/jspec/templates/node/spec/unit/spec.js +8 -0
  109. data/vendor/test_suites/jspec/templates/rails/commands/example_commands.rb +19 -0
  110. data/vendor/test_suites/jspec/templates/rails/dom.html +22 -0
  111. data/vendor/test_suites/jspec/templates/rails/rhino.js +10 -0
  112. data/vendor/test_suites/jspec/templates/rails/server.html +18 -0
  113. data/vendor/test_suites/jspec/templates/rails/server.rb +4 -0
  114. data/vendor/test_suites/jspec/templates/rails/unit/spec.helper.js +0 -0
  115. data/vendor/test_suites/jspec/templates/rails/unit/spec.js +8 -0
  116. data/vendor/test_suites/qunit/README.md +24 -0
  117. data/vendor/test_suites/qunit/package.json +21 -0
  118. data/vendor/test_suites/qunit/qunit/qunit.css +225 -0
  119. data/vendor/test_suites/qunit/qunit/qunit.js +1448 -0
  120. data/vendor/test_suites/qunit/test/headless.html +24 -0
  121. data/vendor/test_suites/qunit/test/index.html +19 -0
  122. data/vendor/test_suites/qunit/test/logs.html +17 -0
  123. data/vendor/test_suites/qunit/test/logs.js +150 -0
  124. data/vendor/test_suites/qunit/test/same.js +1421 -0
  125. data/vendor/test_suites/qunit/test/test.js +324 -0
  126. metadata +282 -0
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --colour --format nested
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.9.2@bootcamp
data/Gemfile ADDED
@@ -0,0 +1,14 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "rake"
4
+ gem "git"
5
+ gem "thor"
6
+ gem "highline"
7
+
8
+ group :development do
9
+ gem "rspec", "~> 2.3.0"
10
+ gem "shoulda"
11
+ gem "yard", "~> 0.6.0"
12
+ gem "bundler", "~> 1.0.0"
13
+ gem "jeweler", "~> 1.6.0"
14
+ end
@@ -0,0 +1,36 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.2)
5
+ git (1.2.5)
6
+ highline (1.6.1)
7
+ jeweler (1.6.0)
8
+ bundler (~> 1.0.0)
9
+ git (>= 1.2.5)
10
+ rake
11
+ rake (0.8.7)
12
+ rspec (2.3.0)
13
+ rspec-core (~> 2.3.0)
14
+ rspec-expectations (~> 2.3.0)
15
+ rspec-mocks (~> 2.3.0)
16
+ rspec-core (2.3.1)
17
+ rspec-expectations (2.3.0)
18
+ diff-lcs (~> 1.1.2)
19
+ rspec-mocks (2.3.0)
20
+ shoulda (2.11.3)
21
+ thor (0.14.6)
22
+ yard (0.6.8)
23
+
24
+ PLATFORMS
25
+ ruby
26
+
27
+ DEPENDENCIES
28
+ bundler (~> 1.0.0)
29
+ git
30
+ highline
31
+ jeweler (~> 1.6.0)
32
+ rake
33
+ rspec (~> 2.3.0)
34
+ shoulda
35
+ thor
36
+ yard (~> 0.6.0)
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Jeremy Woertink
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/NOTES ADDED
@@ -0,0 +1,3 @@
1
+ 1. Run "bootcamp"
2
+ $ bootcamp project_name
3
+
@@ -0,0 +1,49 @@
1
+ = bootcamp
2
+
3
+ Bootcamp is a gem to help you create one hell of a JavaScript Plugin.
4
+
5
+ *This project is in early stages. You may download and install it to play with it though. Run with `bootcamp PLUGIN_NAME -f jquery -t qunit`
6
+
7
+ == The future
8
+
9
+ You will be able to generate the beginnings of a JavaScript plugin using the library of your choice, or old school JS.
10
+ The gem will
11
+ 1. pull in the latest version of that library you specified
12
+ 2. Setup all the cool git stuff
13
+ 3. Allow you to push to the JavaScript Headquarters (JSHQ.org)
14
+
15
+ Squad Leader:
16
+ This is the main library your plugin depends on (i.e. jQuery)
17
+
18
+ Fire Team:
19
+ These are all the dependencies your script will need (not including the main library i.e. jQuery-UI)
20
+
21
+ Deploying:
22
+ This sends your script into battle with its team ready for the world to use.
23
+
24
+ Promotions:
25
+ These will allow you to bump up the version number because of an upgrade
26
+
27
+ Demoting:
28
+ Take the plugin down a notch because of a downgrade
29
+
30
+ Sending to the Brig:
31
+ This is like abandoning the project. Plugins not touched for longer than 12 months should be sent to the brig.
32
+
33
+
34
+
35
+ == Contributing to bootcamp
36
+
37
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
38
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
39
+ * Fork the project
40
+ * Start a feature/bugfix branch
41
+ * Commit and push until you are happy with your contribution
42
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
43
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
44
+
45
+ == Copyright
46
+
47
+ Copyright (c) 2011 Jeremy Woertink. See LICENSE.txt for
48
+ further details.
49
+
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "bootcamp"
18
+ gem.homepage = "http://github.com/jwoertink/bootcamp"
19
+ gem.license = "MIT"
20
+ gem.summary = "A gem to manage JavaScript Plugins"
21
+ gem.description = "Check out the README file for more info"
22
+ gem.email = "jeremywoertink@gmail.com"
23
+ gem.authors = ["Jeremy Woertink"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
32
+ end
33
+
34
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
35
+ spec.pattern = 'spec/**/*_spec.rb'
36
+ spec.rcov = true
37
+ end
38
+
39
+ task :default => :spec
40
+
41
+ require 'yard'
42
+ YARD::Rake::YardocTask.new
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/ruby
2
+ # -*- coding: utf-8 -*-
3
+
4
+ require 'rubygems'
5
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
6
+ require 'bootcamp'
7
+
8
+ Bootcamp::DrillInstructor.start
@@ -0,0 +1,190 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{bootcamp}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Jeremy Woertink"]
12
+ s.date = %q{2011-06-01}
13
+ s.default_executable = %q{bootcamp}
14
+ s.description = %q{Check out the README file for more info}
15
+ s.email = %q{jeremywoertink@gmail.com}
16
+ s.executables = ["bootcamp"]
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.rdoc"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ ".rspec",
24
+ ".rvmrc",
25
+ "Gemfile",
26
+ "Gemfile.lock",
27
+ "LICENSE.txt",
28
+ "NOTES",
29
+ "README.rdoc",
30
+ "Rakefile",
31
+ "VERSION",
32
+ "bin/bootcamp",
33
+ "bootcamp.gemspec",
34
+ "lib/bootcamp.rb",
35
+ "lib/bootcamp/armory.rb",
36
+ "lib/bootcamp/drill_instructor.rb",
37
+ "lib/bootcamp/formations/core.rb",
38
+ "lib/bootcamp/formations/html.rb",
39
+ "lib/bootcamp/formations/jquery.rb",
40
+ "lib/bootcamp/recruit.rb",
41
+ "spec/bootcamp_spec.rb",
42
+ "spec/spec_helper.rb",
43
+ "vendor/core.js",
44
+ "vendor/dojo.js",
45
+ "vendor/jquery.js",
46
+ "vendor/midori.js",
47
+ "vendor/mootools.js",
48
+ "vendor/prototype.js",
49
+ "vendor/test_suites/jasmine/SpecRunner.html",
50
+ "vendor/test_suites/jasmine/lib/jasmine-1.0.2/MIT.LICENSE",
51
+ "vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine-html.js",
52
+ "vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine.css",
53
+ "vendor/test_suites/jasmine/lib/jasmine-1.0.2/jasmine.js",
54
+ "vendor/test_suites/jasmine/spec/PlayerSpec.js",
55
+ "vendor/test_suites/jasmine/spec/SpecHelper.js",
56
+ "vendor/test_suites/jasmine/src/Player.js",
57
+ "vendor/test_suites/jasmine/src/Song.js",
58
+ "vendor/test_suites/jspec/History.md",
59
+ "vendor/test_suites/jspec/Manifest",
60
+ "vendor/test_suites/jspec/README.md",
61
+ "vendor/test_suites/jspec/Rakefile",
62
+ "vendor/test_suites/jspec/bin/jspec",
63
+ "vendor/test_suites/jspec/jspec.gemspec",
64
+ "vendor/test_suites/jspec/lib/images/bg.png",
65
+ "vendor/test_suites/jspec/lib/images/hr.png",
66
+ "vendor/test_suites/jspec/lib/images/loading.gif",
67
+ "vendor/test_suites/jspec/lib/images/sprites.bg.png",
68
+ "vendor/test_suites/jspec/lib/images/sprites.png",
69
+ "vendor/test_suites/jspec/lib/images/vr.png",
70
+ "vendor/test_suites/jspec/lib/jspec.css",
71
+ "vendor/test_suites/jspec/lib/jspec.growl.js",
72
+ "vendor/test_suites/jspec/lib/jspec.jquery.js",
73
+ "vendor/test_suites/jspec/lib/jspec.js",
74
+ "vendor/test_suites/jspec/lib/jspec.shell.js",
75
+ "vendor/test_suites/jspec/lib/jspec.timers.js",
76
+ "vendor/test_suites/jspec/lib/jspec.xhr.js",
77
+ "vendor/test_suites/jspec/spec/commands/example_command.rb",
78
+ "vendor/test_suites/jspec/spec/dom.html",
79
+ "vendor/test_suites/jspec/spec/fixtures/test.html",
80
+ "vendor/test_suites/jspec/spec/fixtures/test.json",
81
+ "vendor/test_suites/jspec/spec/fixtures/test.xml",
82
+ "vendor/test_suites/jspec/spec/node.js",
83
+ "vendor/test_suites/jspec/spec/rhino.js",
84
+ "vendor/test_suites/jspec/spec/ruby/bin/init_spec.rb",
85
+ "vendor/test_suites/jspec/spec/ruby/bin/install_spec.rb",
86
+ "vendor/test_suites/jspec/spec/ruby/bin/run_spec.rb",
87
+ "vendor/test_suites/jspec/spec/ruby/bin/shell_spec.rb",
88
+ "vendor/test_suites/jspec/spec/ruby/bin/spec_helper.rb",
89
+ "vendor/test_suites/jspec/spec/ruby/bin/update_spec.rb",
90
+ "vendor/test_suites/jspec/spec/server.html",
91
+ "vendor/test_suites/jspec/spec/server.rb",
92
+ "vendor/test_suites/jspec/spec/support/env.js",
93
+ "vendor/test_suites/jspec/spec/support/jquery.js",
94
+ "vendor/test_suites/jspec/spec/unit/helpers.js",
95
+ "vendor/test_suites/jspec/spec/unit/spec.fixtures.js",
96
+ "vendor/test_suites/jspec/spec/unit/spec.grammar-less.js",
97
+ "vendor/test_suites/jspec/spec/unit/spec.grammar.js",
98
+ "vendor/test_suites/jspec/spec/unit/spec.jquery.js",
99
+ "vendor/test_suites/jspec/spec/unit/spec.jquery.xhr.js",
100
+ "vendor/test_suites/jspec/spec/unit/spec.js",
101
+ "vendor/test_suites/jspec/spec/unit/spec.matchers.js",
102
+ "vendor/test_suites/jspec/spec/unit/spec.modules.js",
103
+ "vendor/test_suites/jspec/spec/unit/spec.shared-behaviors.js",
104
+ "vendor/test_suites/jspec/spec/unit/spec.utils.js",
105
+ "vendor/test_suites/jspec/spec/unit/spec.xhr.js",
106
+ "vendor/test_suites/jspec/src/browsers.rb",
107
+ "vendor/test_suites/jspec/src/helpers.rb",
108
+ "vendor/test_suites/jspec/src/installables.rb",
109
+ "vendor/test_suites/jspec/src/project.rb",
110
+ "vendor/test_suites/jspec/src/routes.rb",
111
+ "vendor/test_suites/jspec/src/server.rb",
112
+ "vendor/test_suites/jspec/support/js.jar",
113
+ "vendor/test_suites/jspec/templates/default/History.md",
114
+ "vendor/test_suites/jspec/templates/default/Readme.md",
115
+ "vendor/test_suites/jspec/templates/default/lib/yourlib.js",
116
+ "vendor/test_suites/jspec/templates/default/spec/commands/example_command.rb",
117
+ "vendor/test_suites/jspec/templates/default/spec/dom.html",
118
+ "vendor/test_suites/jspec/templates/default/spec/node.js",
119
+ "vendor/test_suites/jspec/templates/default/spec/rhino.js",
120
+ "vendor/test_suites/jspec/templates/default/spec/server.html",
121
+ "vendor/test_suites/jspec/templates/default/spec/server.rb",
122
+ "vendor/test_suites/jspec/templates/default/spec/unit/spec.helper.js",
123
+ "vendor/test_suites/jspec/templates/default/spec/unit/spec.js",
124
+ "vendor/test_suites/jspec/templates/node/History.md",
125
+ "vendor/test_suites/jspec/templates/node/Readme.md",
126
+ "vendor/test_suites/jspec/templates/node/lib/yourlib.js",
127
+ "vendor/test_suites/jspec/templates/node/spec/node.js",
128
+ "vendor/test_suites/jspec/templates/node/spec/unit/spec.helper.js",
129
+ "vendor/test_suites/jspec/templates/node/spec/unit/spec.js",
130
+ "vendor/test_suites/jspec/templates/rails/commands/example_commands.rb",
131
+ "vendor/test_suites/jspec/templates/rails/dom.html",
132
+ "vendor/test_suites/jspec/templates/rails/rhino.js",
133
+ "vendor/test_suites/jspec/templates/rails/server.html",
134
+ "vendor/test_suites/jspec/templates/rails/server.rb",
135
+ "vendor/test_suites/jspec/templates/rails/unit/spec.helper.js",
136
+ "vendor/test_suites/jspec/templates/rails/unit/spec.js",
137
+ "vendor/test_suites/qunit/README.md",
138
+ "vendor/test_suites/qunit/package.json",
139
+ "vendor/test_suites/qunit/qunit/qunit.css",
140
+ "vendor/test_suites/qunit/qunit/qunit.js",
141
+ "vendor/test_suites/qunit/test/headless.html",
142
+ "vendor/test_suites/qunit/test/index.html",
143
+ "vendor/test_suites/qunit/test/logs.html",
144
+ "vendor/test_suites/qunit/test/logs.js",
145
+ "vendor/test_suites/qunit/test/same.js",
146
+ "vendor/test_suites/qunit/test/test.js"
147
+ ]
148
+ s.homepage = %q{http://github.com/jwoertink/bootcamp}
149
+ s.licenses = ["MIT"]
150
+ s.require_paths = ["lib"]
151
+ s.rubygems_version = %q{1.5.2}
152
+ s.summary = %q{A gem to manage JavaScript Plugins}
153
+
154
+ if s.respond_to? :specification_version then
155
+ s.specification_version = 3
156
+
157
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
158
+ s.add_runtime_dependency(%q<rake>, [">= 0"])
159
+ s.add_runtime_dependency(%q<git>, [">= 0"])
160
+ s.add_runtime_dependency(%q<thor>, [">= 0"])
161
+ s.add_runtime_dependency(%q<highline>, [">= 0"])
162
+ s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
163
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
164
+ s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
165
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
166
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.0"])
167
+ else
168
+ s.add_dependency(%q<rake>, [">= 0"])
169
+ s.add_dependency(%q<git>, [">= 0"])
170
+ s.add_dependency(%q<thor>, [">= 0"])
171
+ s.add_dependency(%q<highline>, [">= 0"])
172
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
173
+ s.add_dependency(%q<shoulda>, [">= 0"])
174
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
175
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
176
+ s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
177
+ end
178
+ else
179
+ s.add_dependency(%q<rake>, [">= 0"])
180
+ s.add_dependency(%q<git>, [">= 0"])
181
+ s.add_dependency(%q<thor>, [">= 0"])
182
+ s.add_dependency(%q<highline>, [">= 0"])
183
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
184
+ s.add_dependency(%q<shoulda>, [">= 0"])
185
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
186
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
187
+ s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
188
+ end
189
+ end
190
+
@@ -0,0 +1,22 @@
1
+ require 'rubygems'
2
+ require 'bootcamp/drill_instructor'
3
+ require 'bootcamp/recruit'
4
+ require 'bootcamp/armory'
5
+
6
+ module Bootcamp
7
+ VERSION = File.read(File.join(File.dirname(__FILE__), "..", "VERSION"))
8
+
9
+ class << self
10
+ def to_s
11
+ <<-HELP
12
+ Usage:
13
+ bootcamp PROJECT_NAME [-f framework] [-t test_suite]
14
+
15
+ HELP
16
+ end
17
+
18
+ def root
19
+ File.expand_path(File.join(File.dirname(__FILE__), '..')).to_s
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ require 'git'
2
+
3
+ module Bootcamp
4
+
5
+ # The Armory is where the repo will be held
6
+ class Armory
7
+
8
+ attr_accessor :git
9
+
10
+ def initialize
11
+ @git = Git.init
12
+ end
13
+
14
+ def checkin
15
+ @git.add('.')
16
+ @git.commit('First Commit')
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,95 @@
1
+ require 'thor/group'
2
+
3
+ module Bootcamp
4
+
5
+ # Yeah, that's right.
6
+ # DrillInstructors are decendants of Thor!
7
+ class DrillInstructor < Thor::Group
8
+ include Thor::Actions
9
+
10
+ argument :name
11
+ class_option :framework, :default => :core, :aliases => ["-f"]
12
+ class_option :test_suite, :default => :jasmine, :aliases => ["-t"]
13
+
14
+
15
+ def self.source_root
16
+ File.dirname(__FILE__)
17
+ end
18
+
19
+ def create_project
20
+ create_file File.join(name, 'lib', "#{name}.js")
21
+ create_file File.join(name, '.gitignore') do
22
+ <<-GIT
23
+ .DS_Store
24
+ *.tmproj
25
+ tmtags
26
+ *.swp
27
+ **/Thumbs.db
28
+ GIT
29
+ end
30
+ create_file File.join(name, "README") do
31
+ <<-DOC
32
+ #{name.capitalize} JavaScript Plugin
33
+ Created: #{Time.now.strftime("%m/%d/%Y")}
34
+ DOC
35
+ end
36
+ create_file File.join(name, 'LICENSE') do
37
+ <<-DOC
38
+ ----------------------------------------------------------------------------
39
+ #{name} #{options[:framework]} plugin
40
+ v 0.0.1
41
+ Dual licensed under the MIT and GPL licenses.
42
+ ----------------------------------------------------------------------------
43
+ Copyright (C) #{Time.now.year}
44
+ WEBSITE_CAN_GO_HERE
45
+ ----------------------------------------------------------------------------
46
+ Permission is hereby granted, free of charge, to any person obtaining a copy
47
+ of this software and associated documentation files (the "Software"), to deal
48
+ in the Software without restriction, including without limitation the rights
49
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
50
+ copies of the Software, and to permit persons to whom the Software is
51
+ furnished to do so, subject to the following conditions:
52
+
53
+ The above copyright notice and this permission notice shall be included in
54
+ all copies or substantial portions of the Software.
55
+
56
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
57
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
58
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
59
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
60
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
61
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
62
+ THE SOFTWARE.
63
+ ----------------------------------------------------------------------------
64
+ DOC
65
+ end
66
+ empty_directory File.join(name, 'vendor')
67
+ empty_directory File.join(name, 'tests')
68
+ end
69
+
70
+ def get_library
71
+ library = "#{options[:framework]}.js"
72
+ copy_file File.join(Bootcamp.root, 'vendor', library), File.join(name, 'vendor', library)
73
+ end
74
+
75
+ def setup_template
76
+ apply File.expand_path("formations/html.rb", File.dirname(__FILE__))
77
+ end
78
+
79
+ def setup_plugin
80
+ apply File.expand_path("formations/#{options[:framework]}.rb", File.dirname(__FILE__))
81
+ end
82
+
83
+ def setup_tests
84
+ test_suite = options[:test_suite]
85
+ directory File.join(Bootcamp.root, 'vendor', 'test_suites', "#{options[:test_suite]}"), File.join(name, 'tests', "#{options[:test_suite]}")
86
+ end
87
+
88
+ def armory
89
+ @armory = Armory.new
90
+ @armory.checkin
91
+ end
92
+
93
+ end
94
+
95
+ end