rails_templater 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +17 -4
- data/README.textile +1 -0
- data/lib/rails_templater.rb +0 -1
- data/lib/rails_templater/cli.rb +1 -2
- data/lib/rails_templater/fixture_replacement.rb +6 -7
- data/lib/rails_templater/javascript_framework.rb +5 -6
- data/lib/rails_templater/orm.rb +5 -6
- data/lib/rails_templater/template_engine.rb +1 -2
- data/lib/rails_templater/templater.rb +0 -1
- data/lib/rails_templater/testing_framework.rb +3 -5
- data/lib/rails_templater/version.rb +1 -1
- data/lib/template_framework/core_ext.rb +1 -3
- data/lib/template_framework/recipes/compass.rb +45 -0
- data/lib/template_framework/recipes/cover_me.rb +1 -1
- data/lib/template_framework/recipes/cucumber.rb +7 -21
- data/lib/template_framework/recipes/erb.rb +2 -0
- data/lib/template_framework/recipes/fabrication.rb +7 -0
- data/lib/template_framework/recipes/factory_girl.rb +5 -10
- data/lib/template_framework/recipes/fixture_replacement.rb +18 -0
- data/lib/template_framework/recipes/haml.rb +0 -1
- data/lib/template_framework/recipes/javascript_framework.rb +11 -4
- data/lib/template_framework/recipes/mongoid.rb +3 -2
- data/lib/template_framework/recipes/orm.rb +1 -1
- data/lib/template_framework/recipes/pry.rb +4 -0
- data/lib/template_framework/recipes/rspec.rb +6 -5
- data/lib/template_framework/recipes/shoulda_matchers.rb +1 -0
- data/lib/template_framework/recipes/slim.rb +1 -1
- data/lib/template_framework/recipes/template_engine.rb +2 -3
- data/lib/template_framework/recipes/test_unit.rb +1 -0
- data/lib/template_framework/recipes/testing_framework.rb +1 -1
- data/lib/template_framework/snippets/cucumber/factory_girl +1 -1
- data/lib/template_framework/snippets/fabrication/generator_rspec +4 -0
- data/lib/template_framework/snippets/fabrication/generator_test_unit +5 -0
- data/lib/template_framework/snippets/factory_girl/{generator → generator_rspec} +0 -0
- data/lib/template_framework/snippets/factory_girl/generator_test_unit +5 -0
- data/lib/template_framework/template_runner.rb +1 -1
- data/lib/template_framework/templates/erb/app/views/layouts/application.html.erb +15 -0
- data/lib/template_framework/templates/git/gitignore +1 -3
- data/lib/template_framework/templates/haml/app/views/layouts/application.html.haml +1 -1
- data/lib/template_framework/templates/jquery/app/assets/javascripts/application.js +14 -0
- data/lib/template_framework/templates/mongoid/lib/tasks/assets.rake +14 -0
- data/lib/template_framework/templates/prototype/app/assets/javascripts/application.js +15 -0
- data/lib/template_framework/templates/slim/app/views/layouts/application.html.slim +1 -1
- data/rails_templater.gemspec +3 -4
- metadata +58 -78
- data/lib/template_framework/generators/factory_girl.rb +0 -11
- data/lib/template_framework/generators/factory_girl/model/model_generator.rb +0 -14
- data/lib/template_framework/generators/factory_girl/model/templates/fixtures.rb +0 -9
- data/lib/template_framework/recipes/jquery.rb +0 -10
- data/lib/template_framework/recipes/remarkable.rb +0 -12
- data/lib/template_framework/recipes/sass.rb +0 -54
- data/lib/template_framework/templates/mongoid/features/support/hooks.rb +0 -3
data/CHANGELOG
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
In Development
|
2
|
+
|
3
|
+
0.3.0 (March 14, 2012)
|
4
|
+
* Updated to work with Rails Asset Pipeline
|
5
|
+
* Removed Sass recipe as it is now the default in Rails
|
6
|
+
* Added Pry recipe for IRB Replacement
|
7
|
+
* Added Fabrication as recommended option for Fixture Replacement
|
8
|
+
* Removed Remarkable, replaced with mongo
|
9
|
+
* When Erb is selected as the template framework, layout.html.erb matches Haml & Slim recipes
|
10
|
+
* Removed custom FactoryGirl generators, using factory_girl_rails
|
11
|
+
* Adding mongoid-rspec for matchers option when Mongoid & RSpec are selected
|
12
|
+
* Adding should-matchers for ActiveRecord matchers for RSpec & TestUnit
|
13
|
+
|
1
14
|
0.2.1 (February 9, 2011)
|
2
15
|
* Fixed path-generation not being pluralized in Rails 3.0.4 [tariksin]
|
3
16
|
|
@@ -7,7 +20,7 @@
|
|
7
20
|
* Added CoverMe code coverage recipe for Ruby 1.9 (via guilleiguaran)
|
8
21
|
* Added RCov code coverage recipe for Ruby 1.8 (via guilleiguaran)
|
9
22
|
* Mongoid recipe is now using 2.0.0.rc.7
|
10
|
-
|
23
|
+
|
11
24
|
0.1.2 (February 1, 2011)
|
12
25
|
|
13
26
|
* Added the Slim template engine (via fredwu)
|
@@ -21,11 +34,11 @@
|
|
21
34
|
* Add Prototype as a JavaScript Framework option
|
22
35
|
* Remarkable RSpec matchers are optional and are dependent on the RSpec recipe
|
23
36
|
* Haml is an optional choice for your View Templates
|
24
|
-
* Sass is an optional choice for composing Stylesheets
|
37
|
+
* Sass is an optional choice for composing Stylesheets
|
25
38
|
* Compass is now dependent on the Sass recipe
|
26
|
-
* Compass has three options: core, blueprint semantic, and blueprint basic
|
39
|
+
* Compass has three options: core, blueprint semantic, and blueprint basic
|
27
40
|
* Cucumber is an optional choice for Integration Testing
|
28
|
-
|
41
|
+
|
29
42
|
0.0.2 (January 23, 2011)
|
30
43
|
|
31
44
|
* Add a custom generator for FactoryGirl which uses the new 2.0.0 syntax
|
data/README.textile
CHANGED
data/lib/rails_templater.rb
CHANGED
data/lib/rails_templater/cli.rb
CHANGED
@@ -6,8 +6,7 @@ module RailsTemplater
|
|
6
6
|
desc "Generates a new Rails application with templater'"
|
7
7
|
|
8
8
|
def run_templater
|
9
|
-
system("rails new #{application_name} -
|
9
|
+
system("rails new #{application_name} -JO --skip-bundle -m #{RailsTemplater::template_runner}")
|
10
10
|
end
|
11
|
-
|
12
11
|
end
|
13
12
|
end
|
@@ -1,23 +1,22 @@
|
|
1
1
|
module RailsTemplater
|
2
2
|
class FixtureReplacement
|
3
|
-
|
3
|
+
|
4
4
|
DEFAULT = :factory_girl
|
5
|
-
SUPPORTED_TYPES = [:factory_girl]
|
6
|
-
|
5
|
+
SUPPORTED_TYPES = [:factory_girl, :fabrication]
|
6
|
+
|
7
7
|
def type
|
8
|
-
@type || DEFAULT
|
8
|
+
@type || DEFAULT
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def type=(value)
|
12
12
|
raise NotSupportedError unless SUPPORTED_TYPES.include?(value)
|
13
13
|
@type = value
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
SUPPORTED_TYPES.each do |type|
|
17
17
|
define_method "#{type}?" do
|
18
18
|
self.type == type
|
19
19
|
end
|
20
20
|
end
|
21
|
-
|
22
21
|
end
|
23
22
|
end
|
@@ -1,23 +1,22 @@
|
|
1
1
|
module RailsTemplater
|
2
2
|
class JavaScriptFramework
|
3
|
-
|
3
|
+
|
4
4
|
DEFAULT = :jquery
|
5
5
|
SUPPORTED_TYPES = [:jquery, :prototype]
|
6
|
-
|
6
|
+
|
7
7
|
def type
|
8
|
-
@type || DEFAULT
|
8
|
+
@type || DEFAULT
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def type=(value)
|
12
12
|
raise NotSupportedError unless SUPPORTED_TYPES.include?(value)
|
13
13
|
@type = value
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
SUPPORTED_TYPES.each do |type|
|
17
17
|
define_method "#{type}?" do
|
18
18
|
self.type == type
|
19
19
|
end
|
20
20
|
end
|
21
|
-
|
22
21
|
end
|
23
22
|
end
|
data/lib/rails_templater/orm.rb
CHANGED
@@ -1,23 +1,22 @@
|
|
1
1
|
module RailsTemplater
|
2
2
|
class Orm
|
3
|
-
|
3
|
+
|
4
4
|
DEFAULT = :mongoid
|
5
5
|
SUPPORTED_TYPES = [:active_record, :mongoid]
|
6
6
|
|
7
7
|
def type
|
8
8
|
@type || DEFAULT
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def type=(value)
|
12
12
|
raise NotSupportedError unless SUPPORTED_TYPES.include?(value)
|
13
13
|
@type = value
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
SUPPORTED_TYPES.each do |type|
|
17
17
|
define_method "#{type}?" do
|
18
18
|
self.type == type
|
19
19
|
end
|
20
|
-
end
|
21
|
-
|
20
|
+
end
|
22
21
|
end
|
23
|
-
end
|
22
|
+
end
|
@@ -1,23 +1,21 @@
|
|
1
1
|
module RailsTemplater
|
2
2
|
class TestingFramework
|
3
|
-
|
4
3
|
DEFAULT = :rspec
|
5
4
|
SUPPORTED_TYPES = [:rspec, :test_unit]
|
6
|
-
|
5
|
+
|
7
6
|
def type
|
8
7
|
@type || DEFAULT
|
9
8
|
end
|
10
|
-
|
9
|
+
|
11
10
|
def type=(value)
|
12
11
|
raise NotSupportedError unless SUPPORTED_TYPES.include?(value)
|
13
12
|
@type ||= value
|
14
13
|
end
|
15
|
-
|
14
|
+
|
16
15
|
SUPPORTED_TYPES.each do |type|
|
17
16
|
define_method "#{type}?" do
|
18
17
|
self.type == type
|
19
18
|
end
|
20
19
|
end
|
21
|
-
|
22
20
|
end
|
23
21
|
end
|
@@ -1,15 +1,13 @@
|
|
1
1
|
module Rails
|
2
2
|
module Generators
|
3
3
|
module Actions
|
4
|
-
|
5
4
|
def templater
|
6
5
|
@templater ||= RailsTemplater::Templater.new
|
7
6
|
end
|
8
|
-
|
7
|
+
|
9
8
|
def execute_post_bundler_strategies
|
10
9
|
templater.post_bundler_strategies.each {|strategy| strategy.call }
|
11
10
|
end
|
12
|
-
|
13
11
|
end
|
14
12
|
end
|
15
13
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
if yes?("\n[Stylesheets] Would you like to use Compass? [y|n]: ", Thor::Shell::Color::BLUE)
|
2
|
+
design_options = {
|
3
|
+
'Option' => 'Design Framework',
|
4
|
+
'1' => 'Compass',
|
5
|
+
'2' => 'Compass with blueprint semantic',
|
6
|
+
'3' => 'Compass with blueprint basic',
|
7
|
+
'4' => 'Compass with 960.gs'
|
8
|
+
}
|
9
|
+
|
10
|
+
print_table design_options.to_a, :ident => 4
|
11
|
+
design_selection = ask("\nOption: ", Thor::Shell::Color::BLUE)
|
12
|
+
|
13
|
+
design_framework = case design_selection
|
14
|
+
when "1"
|
15
|
+
:compass
|
16
|
+
when "2"
|
17
|
+
:compass_blueprint_semantic
|
18
|
+
when "3"
|
19
|
+
:compass_blueprint
|
20
|
+
when "4"
|
21
|
+
:compass_960
|
22
|
+
else
|
23
|
+
:none
|
24
|
+
end
|
25
|
+
|
26
|
+
unless design_framework == :none
|
27
|
+
remove_file 'app/assets/stylesheets/application.css'
|
28
|
+
|
29
|
+
gem 'compass-rails', group: :assets
|
30
|
+
|
31
|
+
framework_option = case design_framework
|
32
|
+
when :compass_blueprint
|
33
|
+
"--using blueprint/basic"
|
34
|
+
when :compass_blueprint_semantic
|
35
|
+
"--using blueprint/semantic"
|
36
|
+
when :compass_960
|
37
|
+
gem 'compass-960-plugin'
|
38
|
+
"-r ninesixty --using 960"
|
39
|
+
end
|
40
|
+
|
41
|
+
templater.post_bundler do
|
42
|
+
run "bundle exec compass init rails . #{framework_option}"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -1,37 +1,23 @@
|
|
1
1
|
if yes?("\n[Integration Testing] Would you like to add integration testing with Cucumber? [y|n]: ", Thor::Shell::Color::BLUE)
|
2
2
|
|
3
|
-
gem '
|
4
|
-
gem '
|
5
|
-
gem 'launchy', :group => :test
|
3
|
+
gem 'cucumber-rails', '~> 1.3', :group => :test
|
4
|
+
gem 'database_cleaner', :group => :test
|
6
5
|
|
7
|
-
cucumber_generate_command = "cucumber:install
|
6
|
+
cucumber_generate_command = "cucumber:install"
|
8
7
|
cucumber_generate_command << ' --skip-database' if templater.orm.mongoid?
|
9
|
-
cucumber_generate_command << ' --rspec' if templater.testing_framework.rspec?
|
10
|
-
cucumber_generate_command << ' --testunit' if templater.testing_framework.test_unit?
|
11
8
|
|
12
9
|
templater.post_bundler do
|
13
10
|
generate cucumber_generate_command
|
14
11
|
|
15
|
-
|
16
|
-
"require 'cucumber/rails/capybara_javascript_emulation' # Lets you click links with onclick javascript handlers without using @culerity or @javascript", ''
|
17
|
-
|
18
|
-
inject_into_file "features/support/env.rb",
|
19
|
-
"\nCapybara.save_and_open_page_path = 'tmp/capybara/'",
|
20
|
-
:after => 'Capybara.default_selector = :css'
|
21
|
-
|
22
|
-
if templater.testing_framework.rspec? && templater.fixture_replacement.factory_girl?
|
12
|
+
if templater.fixture_replacement.factory_girl?
|
23
13
|
inject_into_file "features/support/env.rb", templater.load_snippet("factory_girl", 'cucumber'), :after => 'ActionController::Base.allow_rescue = false'
|
14
|
+
elsif templater.fixture_replacement.fabrication?
|
15
|
+
generate 'fabrication:cucumber_steps'
|
24
16
|
end
|
25
17
|
|
26
18
|
# Mongoid truncation strategy
|
27
19
|
if templater.orm.mongoid?
|
28
|
-
|
29
|
-
|
30
|
-
# Compliment to factory_girl step definitions
|
31
|
-
if templater.fixture_replacement.factory_girl?
|
32
|
-
create_file 'features/step_definitions/mongoid_steps.rb', templater.load_template('features/step_definitions/mongoid_steps.rb', 'mongoid')
|
33
|
-
end
|
20
|
+
gsub_file 'features/support/env.rb', 'DatabaseCleaner.strategy = :transaction', 'DatabaseCleaner.strategy = :truncation'
|
34
21
|
end
|
35
|
-
|
36
22
|
end
|
37
23
|
end
|
@@ -1,11 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
gem 'factory_girl_rails', '1.1.beta1', :group => :test
|
1
|
+
say("\nReplacing Fixtures with FactoryGirl\n", Thor::Shell::Color::YELLOW)
|
2
|
+
gem 'factory_girl_rails', '~> 1.2', :group => [:development, :test]
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
environment templater.load_snippet('generator', 'factory_girl')
|
9
|
-
directory File.expand_path('./../../generators', __FILE__), 'lib/generators'
|
10
|
-
end
|
11
|
-
end
|
4
|
+
templater.post_bundler do
|
5
|
+
environment templater.load_snippet("generator_#{templater.testing_framework.type}", 'factory_girl')
|
6
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
say "\nWhich Fixture Replacement library would you like to use?\n", Thor::Shell::Color::BLUE
|
2
|
+
|
3
|
+
fixture_replacement_options = {
|
4
|
+
'Option' => 'Factory Library',
|
5
|
+
'1' => 'Fabrication',
|
6
|
+
'2' => 'FactoryGirl'
|
7
|
+
}
|
8
|
+
|
9
|
+
print_table fixture_replacement_options.to_a, :ident => 4
|
10
|
+
|
11
|
+
fixture_replacement_selection = ask("\nOption: ", Thor::Shell::Color::BLUE)
|
12
|
+
if fixture_replacement_options.keys[1..-1].include?(fixture_replacement_selection)
|
13
|
+
templater.fixture_replacement.type = fixture_replacement_options[fixture_replacement_selection].downcase.underscore.to_sym
|
14
|
+
end
|
15
|
+
|
16
|
+
$stdout << "\n\n"
|
17
|
+
|
18
|
+
apply templater.recipe(templater.fixture_replacement.type)
|
@@ -3,16 +3,23 @@ say "\nWhich JavaScript Framework would you like to use?\n", Thor::Shell::Color:
|
|
3
3
|
javascript_framework_options = {
|
4
4
|
'Option' => 'JavaScript Framework',
|
5
5
|
'1' => 'jquery',
|
6
|
-
'2' => '
|
6
|
+
'2' => 'prototype'
|
7
7
|
}
|
8
8
|
|
9
9
|
print_table javascript_framework_options.to_a, :ident => 4
|
10
10
|
|
11
11
|
javascript_framework_selection = ask("\nOption: ", Thor::Shell::Color::BLUE)
|
12
|
-
if
|
13
|
-
templater.javascript_framework.type = javascript_framework_options[javascript_framework_selection].
|
12
|
+
if javascript_framework_options.keys[1..-1].include?(javascript_framework_selection)
|
13
|
+
templater.javascript_framework.type = javascript_framework_options[javascript_framework_selection].downcase.to_sym
|
14
14
|
end
|
15
15
|
|
16
16
|
$stdout << "\n\n"
|
17
17
|
|
18
|
-
|
18
|
+
if templater.javascript_framework.jquery?
|
19
|
+
gem 'jquery-rails'
|
20
|
+
else
|
21
|
+
gem 'prototype-rails'
|
22
|
+
end
|
23
|
+
|
24
|
+
remove_file 'app/assets/javascripts/application.js'
|
25
|
+
create_file 'app/assets/javascripts/application.js', templater.load_template('app/assets/javascripts/application.js', templater.javascript_framework.type)
|
@@ -1,11 +1,12 @@
|
|
1
1
|
say("\nReplacing ActiveRecord with Mongoid\n", Thor::Shell::Color::YELLOW )
|
2
2
|
|
3
|
-
gem 'mongoid', '2.
|
4
|
-
gem 'bson_ext', '~> 1.
|
3
|
+
gem 'mongoid', '~> 2.4'
|
4
|
+
gem 'bson_ext', '~> 1.6'
|
5
5
|
|
6
6
|
gsub_file 'config/application.rb', 'require "active_record/railtie"', '# require "active_record/railtie"'
|
7
7
|
|
8
8
|
templater.post_bundler do
|
9
9
|
generate 'mongoid:config'
|
10
10
|
run 'cp config/mongoid.yml config/mongoid.yml.example'
|
11
|
+
create_file 'lib/tasks/assets.rake', templater.load_template('lib/tasks/assets.rake', 'mongoid')
|
11
12
|
end
|
@@ -9,7 +9,7 @@ orm_options = {
|
|
9
9
|
print_table orm_options.to_a, :ident => 4
|
10
10
|
|
11
11
|
orm_selection = ask("\nOption: ", Thor::Shell::Color::BLUE)
|
12
|
-
if
|
12
|
+
if orm_options.keys[1..-1].include?(orm_selection)
|
13
13
|
templater.orm.type = orm_options[orm_selection].underscore.to_sym
|
14
14
|
end
|
15
15
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
say("\nReplacing TestUnit with RSpec as your Testing Framework\n", Thor::Shell::Color::YELLOW )
|
2
2
|
|
3
|
-
gem 'rspec-rails', '
|
3
|
+
gem 'rspec-rails', '~> 2.8', :group => [:development]
|
4
4
|
|
5
5
|
remove_dir 'test'
|
6
6
|
gsub_file 'config/application.rb', 'require "rails/test_unit/railtie"', '# require "rails/test_unit/railtie"'
|
@@ -18,7 +18,8 @@ templater.post_bundler do
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
apply templater.recipe('
|
21
|
+
if templater.orm.mongoid?
|
22
|
+
gem('mongoid-rspec', '~> 1.4', :group => :test) if yes?("\n\nWould you like to add Mongoid RSpec matchers? [y|n]: ", Thor::Shell::Color::BLUE)
|
23
|
+
else
|
24
|
+
apply templater.recipe('shoulda_matchers')
|
25
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
gem('shoulda-matchers', '~> 1.0', :group => :test) if yes?("\n\nWould you like to add shoulda matchers? [y|n]: ", Thor::Shell::Color::BLUE)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
say "\nReplacing ERb with Slim as your Template Engine\n", Thor::Shell::Color::YELLOW
|
2
2
|
|
3
|
-
gem 'slim
|
3
|
+
gem 'slim-rails'
|
4
4
|
|
5
5
|
remove_file 'app/views/layouts/application.html.erb'
|
6
6
|
create_file 'app/views/layouts/application.html.slim', templater.load_template('app/views/layouts/application.html.slim', 'slim')
|
@@ -10,11 +10,10 @@ template_engine_options = {
|
|
10
10
|
print_table template_engine_options.to_a, :ident => 4
|
11
11
|
|
12
12
|
template_engine_selection = ask("\nOption: ", Thor::Shell::Color::BLUE)
|
13
|
-
if
|
13
|
+
if template_engine_options.keys[1..-1].include?(template_engine_selection)
|
14
14
|
templater.template_engine.type = template_engine_options[template_engine_selection].downcase.to_sym
|
15
15
|
end
|
16
16
|
|
17
17
|
$stdout << "\n\n"
|
18
18
|
|
19
|
-
apply templater.recipe(
|
20
|
-
apply templater.recipe('slim') if templater.template_engine.slim?
|
19
|
+
apply templater.recipe(templater.template_engine.type)
|
@@ -9,7 +9,7 @@ testing_framework_options = {
|
|
9
9
|
print_table testing_framework_options.to_a, :ident => 4
|
10
10
|
|
11
11
|
testing_framework_selection = ask("\nOption: ", Thor::Shell::Color::BLUE)
|
12
|
-
if
|
12
|
+
if testing_framework_options.keys[1..-1].include?(testing_framework_selection)
|
13
13
|
templater.testing_framework.type = testing_framework_options[testing_framework_selection].underscore.to_sym
|
14
14
|
end
|
15
15
|
|
File without changes
|
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(File.expand_path('./../../', __FILE__))
|
|
3
3
|
require 'rails_templater'
|
4
4
|
require File.join(File.dirname(__FILE__), 'core_ext.rb')
|
5
5
|
|
6
|
-
%w(default orm testing_framework code_coverage javascript_framework template_engine
|
6
|
+
%w(default orm testing_framework fixture_replacement code_coverage javascript_framework template_engine compass cucumber pry).each do |recipe|
|
7
7
|
apply templater.recipe(recipe)
|
8
8
|
end
|
9
9
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<%= csrf_meta_tags %>
|
5
|
+
<%= stylesheet_link_tag "application", :media => "all" %>
|
6
|
+
<!--[if lt IE 9]>
|
7
|
+
<%= javascript_include_tag "application" %>
|
8
|
+
<![endif]-->
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
<%= yield %>
|
12
|
+
|
13
|
+
<%= javascript_include_tag "application" %>
|
14
|
+
</body>
|
15
|
+
</html>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
+
// listed below.
|
3
|
+
//
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
+
//
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
+
// the compiled file.
|
9
|
+
//
|
10
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
12
|
+
//
|
13
|
+
//= require jquery
|
14
|
+
//= require_tree .
|
@@ -0,0 +1,14 @@
|
|
1
|
+
asset_task = Rake::Task['assets:environment']
|
2
|
+
Rake.application.send(:eval, "@tasks.delete('assets:environment')")
|
3
|
+
|
4
|
+
namespace :assets do
|
5
|
+
task :environment do
|
6
|
+
module ::Mongoid
|
7
|
+
def load!(config_file)
|
8
|
+
puts "Skipping connection to Mongo DB"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
asset_task.execute
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
+
// listed below.
|
3
|
+
//
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
+
//
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
+
// the compiled file.
|
9
|
+
//
|
10
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
12
|
+
//
|
13
|
+
//= require prototype
|
14
|
+
//= require prototype_ujs
|
15
|
+
//= require_tree .
|
data/rails_templater.gemspec
CHANGED
@@ -14,12 +14,11 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.required_rubygems_version = ">= 1.3.6"
|
15
15
|
s.rubyforge_project = "rails_templater"
|
16
16
|
|
17
|
-
s.add_dependency "rails", "~> 3.
|
18
|
-
s.add_development_dependency "bundler", "~> 1.0
|
19
|
-
s.add_development_dependency("rspec", ["~> 2.
|
17
|
+
s.add_dependency "rails", "~> 3.1"
|
18
|
+
s.add_development_dependency "bundler", "~> 1.0"
|
19
|
+
s.add_development_dependency("rspec", ["~> 2.8"])
|
20
20
|
|
21
21
|
s.files = `git ls-files`.split("\n")
|
22
22
|
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
23
23
|
s.require_path = 'lib'
|
24
|
-
|
25
24
|
end
|
metadata
CHANGED
@@ -1,75 +1,57 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_templater
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 2
|
8
|
-
- 1
|
9
|
-
version: 0.2.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Kevin Faustino
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-03-14 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: rails
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70269718191460 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
18
|
+
requirements:
|
26
19
|
- - ~>
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 3
|
30
|
-
- 0
|
31
|
-
version: "3.0"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.1'
|
32
22
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: bundler
|
36
23
|
prerelease: false
|
37
|
-
|
24
|
+
version_requirements: *70269718191460
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: bundler
|
27
|
+
requirement: &70269718190920 !ruby/object:Gem::Requirement
|
38
28
|
none: false
|
39
|
-
requirements:
|
29
|
+
requirements:
|
40
30
|
- - ~>
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
- 1
|
44
|
-
- 0
|
45
|
-
- 0
|
46
|
-
version: 1.0.0
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.0'
|
47
33
|
type: :development
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: rspec
|
51
34
|
prerelease: false
|
52
|
-
|
35
|
+
version_requirements: *70269718190920
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &70269718190160 !ruby/object:Gem::Requirement
|
53
39
|
none: false
|
54
|
-
requirements:
|
40
|
+
requirements:
|
55
41
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
- 2
|
59
|
-
- 4
|
60
|
-
version: "2.4"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.8'
|
61
44
|
type: :development
|
62
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70269718190160
|
63
47
|
description: Template generator for Ruby on Rails 3 applications
|
64
|
-
email:
|
48
|
+
email:
|
65
49
|
- kevin.faustino@gmail.com
|
66
|
-
executables:
|
50
|
+
executables:
|
67
51
|
- templater
|
68
52
|
extensions: []
|
69
|
-
|
70
53
|
extra_rdoc_files: []
|
71
|
-
|
72
|
-
files:
|
54
|
+
files:
|
73
55
|
- .gitignore
|
74
56
|
- .rspec
|
75
57
|
- CHANGELOG
|
@@ -89,38 +71,44 @@ files:
|
|
89
71
|
- lib/rails_templater/testing_framework.rb
|
90
72
|
- lib/rails_templater/version.rb
|
91
73
|
- lib/template_framework/core_ext.rb
|
92
|
-
- lib/template_framework/generators/factory_girl.rb
|
93
|
-
- lib/template_framework/generators/factory_girl/model/model_generator.rb
|
94
|
-
- lib/template_framework/generators/factory_girl/model/templates/fixtures.rb
|
95
74
|
- lib/template_framework/recipes/active_record.rb
|
96
75
|
- lib/template_framework/recipes/code_coverage.rb
|
76
|
+
- lib/template_framework/recipes/compass.rb
|
97
77
|
- lib/template_framework/recipes/cover_me.rb
|
98
78
|
- lib/template_framework/recipes/cucumber.rb
|
99
79
|
- lib/template_framework/recipes/default.rb
|
80
|
+
- lib/template_framework/recipes/erb.rb
|
81
|
+
- lib/template_framework/recipes/fabrication.rb
|
100
82
|
- lib/template_framework/recipes/factory_girl.rb
|
83
|
+
- lib/template_framework/recipes/fixture_replacement.rb
|
101
84
|
- lib/template_framework/recipes/git.rb
|
102
85
|
- lib/template_framework/recipes/haml.rb
|
103
86
|
- lib/template_framework/recipes/javascript_framework.rb
|
104
|
-
- lib/template_framework/recipes/jquery.rb
|
105
87
|
- lib/template_framework/recipes/mongoid.rb
|
106
88
|
- lib/template_framework/recipes/orm.rb
|
89
|
+
- lib/template_framework/recipes/pry.rb
|
107
90
|
- lib/template_framework/recipes/rcov.rb
|
108
|
-
- lib/template_framework/recipes/remarkable.rb
|
109
91
|
- lib/template_framework/recipes/rspec.rb
|
110
|
-
- lib/template_framework/recipes/
|
92
|
+
- lib/template_framework/recipes/shoulda_matchers.rb
|
111
93
|
- lib/template_framework/recipes/slim.rb
|
112
94
|
- lib/template_framework/recipes/template_engine.rb
|
113
95
|
- lib/template_framework/recipes/test_unit.rb
|
114
96
|
- lib/template_framework/recipes/testing_framework.rb
|
115
97
|
- lib/template_framework/snippets/cucumber/factory_girl
|
116
|
-
- lib/template_framework/snippets/
|
98
|
+
- lib/template_framework/snippets/fabrication/generator_rspec
|
99
|
+
- lib/template_framework/snippets/fabrication/generator_test_unit
|
100
|
+
- lib/template_framework/snippets/factory_girl/generator_rspec
|
101
|
+
- lib/template_framework/snippets/factory_girl/generator_test_unit
|
117
102
|
- lib/template_framework/snippets/rspec/mongoid
|
118
103
|
- lib/template_framework/template_runner.rb
|
119
104
|
- lib/template_framework/templates/active_record/config/database.yml
|
105
|
+
- lib/template_framework/templates/erb/app/views/layouts/application.html.erb
|
120
106
|
- lib/template_framework/templates/git/gitignore
|
121
107
|
- lib/template_framework/templates/haml/app/views/layouts/application.html.haml
|
108
|
+
- lib/template_framework/templates/jquery/app/assets/javascripts/application.js
|
122
109
|
- lib/template_framework/templates/mongoid/features/step_definitions/mongoid_steps.rb
|
123
|
-
- lib/template_framework/templates/mongoid/
|
110
|
+
- lib/template_framework/templates/mongoid/lib/tasks/assets.rake
|
111
|
+
- lib/template_framework/templates/prototype/app/assets/javascripts/application.js
|
124
112
|
- lib/template_framework/templates/slim/app/views/layouts/application.html.slim
|
125
113
|
- rails_templater.gemspec
|
126
114
|
- spec/fixtures/sample_snippet
|
@@ -135,39 +123,31 @@ files:
|
|
135
123
|
- spec/spec_helper.rb
|
136
124
|
- spec/support/fixtures.rb
|
137
125
|
- spec/support/paths.rb
|
138
|
-
has_rdoc: true
|
139
126
|
homepage: http://rubygems.org/gems/rails_templater
|
140
127
|
licenses: []
|
141
|
-
|
142
128
|
post_install_message:
|
143
129
|
rdoc_options: []
|
144
|
-
|
145
|
-
require_paths:
|
130
|
+
require_paths:
|
146
131
|
- lib
|
147
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
148
133
|
none: false
|
149
|
-
requirements:
|
150
|
-
- -
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
segments:
|
153
139
|
- 0
|
154
|
-
|
155
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
|
+
hash: -4157809068450485296
|
141
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
142
|
none: false
|
157
|
-
requirements:
|
158
|
-
- -
|
159
|
-
- !ruby/object:Gem::Version
|
160
|
-
segments:
|
161
|
-
- 1
|
162
|
-
- 3
|
163
|
-
- 6
|
143
|
+
requirements:
|
144
|
+
- - ! '>='
|
145
|
+
- !ruby/object:Gem::Version
|
164
146
|
version: 1.3.6
|
165
147
|
requirements: []
|
166
|
-
|
167
148
|
rubyforge_project: rails_templater
|
168
|
-
rubygems_version: 1.
|
149
|
+
rubygems_version: 1.8.10
|
169
150
|
signing_key:
|
170
151
|
specification_version: 3
|
171
152
|
summary: Template generator for Ruby on Rails 3 applications
|
172
153
|
test_files: []
|
173
|
-
|
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'rails/generators/named_base'
|
2
|
-
|
3
|
-
module FactoryGirl
|
4
|
-
module Generators
|
5
|
-
class Base < Rails::Generators::NamedBase #:nodoc:
|
6
|
-
def self.source_root
|
7
|
-
@_factory_girl_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'factory_girl', generator_name, 'templates'))
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'generators/factory_girl'
|
2
|
-
|
3
|
-
module FactoryGirl
|
4
|
-
module Generators
|
5
|
-
class ModelGenerator < Base
|
6
|
-
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
7
|
-
class_option :dir, :type => :string, :default => "spec/factories", :desc => "The directory where the factories should go"
|
8
|
-
|
9
|
-
def create_fixture_file
|
10
|
-
template 'fixtures.rb', File.join(options[:dir], "#{table_name}.rb")
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
say("\nReplacing Prototype with JQuery as your JavaScript Framework\n", Thor::Shell::Color::YELLOW )
|
2
|
-
|
3
|
-
gem 'jquery-rails'
|
4
|
-
|
5
|
-
remove_file 'public/javascripts/rails.js'
|
6
|
-
gsub_file 'config/application.rb', /(config.action_view.javascript_expansions\[:defaults\] = %w\(\))/, '# \1'
|
7
|
-
|
8
|
-
templater.post_bundler do
|
9
|
-
generate 'jquery:install'
|
10
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
if templater.orm.mongoid?
|
2
|
-
gem 'remarkable_activemodel', '>=4.0.0.alpha4', :group => :test
|
3
|
-
gem 'remarkable_mongoid', :group => :test
|
4
|
-
require_remarkable = "\nrequire 'remarkable/active_model'\nrequire 'remarkable/mongoid'"
|
5
|
-
elsif templater.orm.active_record?
|
6
|
-
gem 'remarkable_activerecord', '>=4.0.0.alpha4', :group => :test
|
7
|
-
require_remarkable = "\nrequire 'remarkable/active_record'"
|
8
|
-
end
|
9
|
-
|
10
|
-
templater.post_bundler do
|
11
|
-
inject_into_file 'spec/spec_helper.rb', require_remarkable, :after => "require 'rspec/rails'"
|
12
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
if yes?("\n[Stylesheets] Would you like to use Sass for Syntactically Awesome Stylesheets? [y|n]: ", Thor::Shell::Color::BLUE)
|
2
|
-
|
3
|
-
# gem 'sass' # TODO: Wait until Sass 3.1 is released
|
4
|
-
gem 'haml'
|
5
|
-
|
6
|
-
if yes?("\nWould you like to use Compass? [y|n]: ", Thor::Shell::Color::BLUE)
|
7
|
-
design_options = {
|
8
|
-
'Option' => 'Design Framework',
|
9
|
-
'1' => 'Compass',
|
10
|
-
'2' => 'Compass with blueprint semantic',
|
11
|
-
'3' => 'Compass with blueprint basic',
|
12
|
-
'4' => 'Compass with 960.gs'
|
13
|
-
}
|
14
|
-
|
15
|
-
print_table design_options.to_a, :ident => 4
|
16
|
-
design_selection = ask("\nOption: ", Thor::Shell::Color::BLUE)
|
17
|
-
|
18
|
-
design_framework = case design_selection
|
19
|
-
when "1"
|
20
|
-
:compass
|
21
|
-
when "2"
|
22
|
-
:compass_blueprint_semantic
|
23
|
-
when "3"
|
24
|
-
:compass_blueprint
|
25
|
-
when "4"
|
26
|
-
:compass_960
|
27
|
-
else
|
28
|
-
:none
|
29
|
-
end
|
30
|
-
|
31
|
-
unless design_framework == :none
|
32
|
-
gem 'compass'
|
33
|
-
|
34
|
-
compass_sass_dir = "app/stylesheets"
|
35
|
-
compass_css_dir = "public/stylesheets/compiled"
|
36
|
-
framework_option = case design_framework
|
37
|
-
when :compass_blueprint
|
38
|
-
"--using blueprint/basic"
|
39
|
-
when :compass_blueprint_semantic
|
40
|
-
"--using blueprint/semantic"
|
41
|
-
when :compass_960
|
42
|
-
gem 'compass-960-plugin'
|
43
|
-
"-r ninesixty --using 960"
|
44
|
-
end
|
45
|
-
|
46
|
-
compass_command = "bundle exec compass init rails . #{framework_option} --css-dir=#{compass_css_dir} --sass-dir=#{compass_sass_dir} "
|
47
|
-
|
48
|
-
templater.post_bundler do
|
49
|
-
run compass_command
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|