rails_apps_composer 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.textile +313 -0
- data/bin/rails_apps_composer +7 -0
- data/lib/rails_wizard.rb +10 -0
- data/lib/rails_wizard/command.rb +79 -0
- data/lib/rails_wizard/config.rb +86 -0
- data/lib/rails_wizard/recipe.rb +106 -0
- data/lib/rails_wizard/recipes.rb +38 -0
- data/lib/rails_wizard/template.rb +58 -0
- data/recipes/action_mailer.rb +41 -0
- data/recipes/activerecord.rb +37 -0
- data/recipes/add_user.rb +87 -0
- data/recipes/add_user_name.rb +74 -0
- data/recipes/application_layout.rb +45 -0
- data/recipes/ban_spiders.rb +27 -0
- data/recipes/capybara.rb +34 -0
- data/recipes/cleanup.rb +36 -0
- data/recipes/css_setup.rb +42 -0
- data/recipes/cucumber.rb +62 -0
- data/recipes/devise.rb +76 -0
- data/recipes/devise_navigation.rb +93 -0
- data/recipes/env_yaml.rb +54 -0
- data/recipes/git.rb +38 -0
- data/recipes/haml.rb +23 -0
- data/recipes/heroku.rb +58 -0
- data/recipes/home_page.rb +45 -0
- data/recipes/home_page_users.rb +47 -0
- data/recipes/hoptoad.rb +34 -0
- data/recipes/jammit.rb +43 -0
- data/recipes/jquery.rb +70 -0
- data/recipes/less.rb +12 -0
- data/recipes/mongo_mapper.rb +18 -0
- data/recipes/mongohq.rb +59 -0
- data/recipes/mongoid.rb +39 -0
- data/recipes/mootools.rb +23 -0
- data/recipes/navigation.rb +68 -0
- data/recipes/omniauth.rb +152 -0
- data/recipes/omniauth_email.rb +82 -0
- data/recipes/pow.rb +12 -0
- data/recipes/prototype.rb +11 -0
- data/recipes/rails_admin.rb +21 -0
- data/recipes/redis.rb +17 -0
- data/recipes/redistogo.rb +40 -0
- data/recipes/rightjs.rb +17 -0
- data/recipes/rspec.rb +112 -0
- data/recipes/sass.rb +13 -0
- data/recipes/seed_database.rb +42 -0
- data/recipes/sequel.rb +13 -0
- data/recipes/settingslogic.rb +43 -0
- data/recipes/slim.rb +11 -0
- data/recipes/test_unit.rb +11 -0
- data/recipes/users_page.rb +103 -0
- data/spec/rails_wizard/config_spec.rb +99 -0
- data/spec/rails_wizard/recipe_spec.rb +103 -0
- data/spec/rails_wizard/recipes/sanity_spec.rb +30 -0
- data/spec/rails_wizard/recipes_spec.rb +24 -0
- data/spec/rails_wizard/template_spec.rb +48 -0
- data/spec/spec_helper.rb +11 -0
- data/spec/support/rails_directory.rb +17 -0
- data/spec/support/template_runner.rb +28 -0
- data/templates/helpers.erb +45 -0
- data/templates/layout.erb +69 -0
- data/templates/recipe.erb +10 -0
- data/version.rb +3 -0
- metadata +206 -0
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RailsWizard::Recipe do
|
4
|
+
context "with a generated recipe" do
|
5
|
+
subject{ RailsWizard::Recipe.generate('recipe_example', "# this is a test", :category => 'example', :name => "RailsWizard Example") }
|
6
|
+
|
7
|
+
context 'string setter methods' do
|
8
|
+
(RailsWizard::Recipe::ATTRIBUTES - ['config']).each do |setter|
|
9
|
+
it "should be able to set #{setter} with an argument" do
|
10
|
+
subject.send(setter + '=', "test")
|
11
|
+
subject.send(setter).should == 'test'
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should be able to get the value from the instance' do
|
15
|
+
subject.send(setter + '=', 'test')
|
16
|
+
subject.new.send(setter).should == subject.send(setter)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '.attributes' do
|
22
|
+
it 'should be accessible from the instance' do
|
23
|
+
subject.new.attributes.should == subject.attributes
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '.generate' do
|
28
|
+
it 'should work with a string and hash as arguments' do
|
29
|
+
recipe = RailsWizard::Recipe.generate('some_key', '# some code', :name => "Example")
|
30
|
+
recipe.superclass.should == RailsWizard::Recipe
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'should work with an IO object' do
|
34
|
+
file = StringIO.new <<-RUBY
|
35
|
+
# this is an example
|
36
|
+
|
37
|
+
__END__
|
38
|
+
|
39
|
+
category: example
|
40
|
+
name: This is an Example
|
41
|
+
description: You know it's an exmaple.
|
42
|
+
RUBY
|
43
|
+
recipe = RailsWizard::Recipe.generate('just_a_test', file)
|
44
|
+
recipe.template.should == '# this is an example'
|
45
|
+
recipe.category.should == 'example'
|
46
|
+
recipe.name.should == 'This is an Example'
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should raise an exception if the file is incorrectly formatted' do
|
50
|
+
file = StringIO.new <<-RUBY
|
51
|
+
# just ruby, no YAML
|
52
|
+
RUBY
|
53
|
+
lambda{RailsWizard::Recipe.generate('testing',file)}.should raise_error(ArgumentError)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe '#compile' do
|
58
|
+
it 'should say the name' do
|
59
|
+
subject.name = "Awesome Sauce"
|
60
|
+
subject.new.compile.should be_include("say_recipe 'Awesome Sauce'")
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should include the template' do
|
64
|
+
subject.template = "This is only a test."
|
65
|
+
subject.new.compile.should be_include(subject.template)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'should set default attributes' do
|
71
|
+
recipe = RailsWizard::Recipe.generate('abc','# test')
|
72
|
+
|
73
|
+
RailsWizard::Recipe::DEFAULT_ATTRIBUTES.each_pair do |k,v|
|
74
|
+
recipe.send(k).should == v
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
context 'Comparable' do
|
79
|
+
subject{ RailsWizard::Recipe }
|
80
|
+
it 'a < b.run_after(a)' do
|
81
|
+
A = subject.generate('a', '#')
|
82
|
+
B = subject.generate('b', '#', :run_after => ['a'])
|
83
|
+
|
84
|
+
(A < B).should be_true
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'a > b.run_before(a)' do
|
88
|
+
A = subject.generate('a', '#')
|
89
|
+
B = subject.generate('b', '#', :run_before => ['a'])
|
90
|
+
|
91
|
+
(A > B).should be_true
|
92
|
+
end
|
93
|
+
|
94
|
+
after do
|
95
|
+
Object.send :remove_const, :A if defined?(A)
|
96
|
+
Object.send :remove_const, :B if defined?(B)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
__END__
|
102
|
+
|
103
|
+
this is a test
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
# This is a simple set of tests to make sure that
|
4
|
+
# all of the recipes conform to the base requirements.
|
5
|
+
|
6
|
+
RailsWizard::Recipes.list_classes.each do |recipe|
|
7
|
+
describe recipe do
|
8
|
+
it("should have a name"){ recipe.name.should be_kind_of(String) }
|
9
|
+
it("should have a description"){ recipe.description.should be_kind_of(String) }
|
10
|
+
it("should have a template"){ recipe.template.should be_kind_of(String) }
|
11
|
+
it("should be able to compile"){ recipe.new.compile.should be_kind_of(String) }
|
12
|
+
|
13
|
+
it "should have a string or nil category" do
|
14
|
+
if recipe.category
|
15
|
+
recipe.category.should be_kind_of(String)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should have a Config or nil config" do
|
20
|
+
if recipe.config
|
21
|
+
recipe.config.should be_kind_of(RailsWizard::Config)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should be in the list" do
|
26
|
+
RailsWizard::Recipes.list_classes.should be_include(recipe)
|
27
|
+
RailsWizard::Recipes.list.should be_include(recipe.key)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RailsWizard::Recipes do
|
4
|
+
subject{ RailsWizard::Recipes }
|
5
|
+
let(:recipe){ RailsWizard::Recipe.generate("recipe_test", "# Testing", :name => "Test Recipe", :category => "test", :description => "Just a test.")}
|
6
|
+
|
7
|
+
before(:all) do
|
8
|
+
RailsWizard::Recipes.add(recipe)
|
9
|
+
end
|
10
|
+
|
11
|
+
it '.list_classes should include recipe classes' do
|
12
|
+
subject.list_classes.should be_include(recipe)
|
13
|
+
end
|
14
|
+
|
15
|
+
it '.list should include recipe keys' do
|
16
|
+
subject.list.should be_include('recipe_test')
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '.for' do
|
20
|
+
it 'should find for a given category' do
|
21
|
+
RailsWizard::Recipes.for('test').should be_include('recipe_test')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RailsWizard::Template do
|
4
|
+
subject{ RailsWizard::Template }
|
5
|
+
let(:recipe){ RailsWizard::Recipe.generate('name','# test') }
|
6
|
+
|
7
|
+
describe '#initialize' do
|
8
|
+
it 'should work with classes' do
|
9
|
+
subject.new([recipe]).recipes.should == [recipe]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe '#recipes_with_dependencies' do
|
14
|
+
def r(*deps)
|
15
|
+
mock(:Class, :requires => deps, :superclass => RailsWizard::Recipe)
|
16
|
+
end
|
17
|
+
|
18
|
+
subject do
|
19
|
+
@template = RailsWizard::Template.new([])
|
20
|
+
@template.stub!(:recipes).and_return(@recipes)
|
21
|
+
@template.stub!(:recipe_classes).and_return(@recipes)
|
22
|
+
@template
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should return the same number recipes if none have dependencies' do
|
26
|
+
@recipes = [r, r]
|
27
|
+
subject.recipes_with_dependencies.size.should == 2
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should handle simple dependencies' do
|
31
|
+
@recipes = [r(r, r), r(r)]
|
32
|
+
subject.recipes_with_dependencies.size.should == 5
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should handle multi-level dependencies' do
|
36
|
+
@recipes = [r(r(r))]
|
37
|
+
subject.recipes_with_dependencies.size.should == 3
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should uniqify' do
|
41
|
+
a = r
|
42
|
+
b = r(a)
|
43
|
+
c = r(r, a, b)
|
44
|
+
@recipes = [a,b,c]
|
45
|
+
subject.recipes_with_dependencies.size.should == 4
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
class RailsDirectory
|
2
|
+
def initialize(path)
|
3
|
+
@path = path
|
4
|
+
end
|
5
|
+
|
6
|
+
def file_path(path)
|
7
|
+
File.join(@path, path)
|
8
|
+
end
|
9
|
+
|
10
|
+
def has_file?(path)
|
11
|
+
File.exist?(file_path(path))
|
12
|
+
end
|
13
|
+
|
14
|
+
def [](path)
|
15
|
+
File.open(file_path(path)).read
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class TemplateRunner
|
2
|
+
attr_reader :template, :config, :app_name, :dir, :rails_dir, :output
|
3
|
+
def initialize(template, config)
|
4
|
+
@template = template
|
5
|
+
@config = config
|
6
|
+
end
|
7
|
+
|
8
|
+
def run(app_name = 'rails_app')
|
9
|
+
@app_name = app_name
|
10
|
+
@dir = Dir.mktmpdir
|
11
|
+
@rails_dir = File.join(@dir, @app_name)
|
12
|
+
Dir.chrdir(@dir) do
|
13
|
+
template_file = File.open 'template.rb', 'w'
|
14
|
+
template_file.write
|
15
|
+
template_file.close
|
16
|
+
@output = `rails new #{@app_name} -m template.rb`
|
17
|
+
end
|
18
|
+
@output
|
19
|
+
end
|
20
|
+
|
21
|
+
def rails
|
22
|
+
RailsDirectory.new(@rails_dir)
|
23
|
+
end
|
24
|
+
|
25
|
+
def clean
|
26
|
+
FileUtils.remove_entry_secure @dir
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
def recipes; @recipes end
|
2
|
+
def recipe?(name); @recipes.include?(name) end
|
3
|
+
|
4
|
+
def say_custom(tag, text); say "\033[1m\033[36m" + tag.to_s.rjust(10) + "\033[0m" + " #{text}" end
|
5
|
+
def say_recipe(name); say "\033[1m\033[36m" + "recipe".rjust(10) + "\033[0m" + " Running #{name} recipe..." end
|
6
|
+
def say_wizard(text); say_custom(@current_recipe || 'wizard', text) end
|
7
|
+
|
8
|
+
def ask_wizard(question)
|
9
|
+
ask "\033[1m\033[30m\033[46m" + (@current_recipe || "prompt").rjust(10) + "\033[0m\033[36m" + " #{question}\033[0m"
|
10
|
+
end
|
11
|
+
|
12
|
+
def yes_wizard?(question)
|
13
|
+
answer = ask_wizard(question + " \033[33m(y/n)\033[0m")
|
14
|
+
case answer.downcase
|
15
|
+
when "yes", "y"
|
16
|
+
true
|
17
|
+
when "no", "n"
|
18
|
+
false
|
19
|
+
else
|
20
|
+
yes_wizard?(question)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def no_wizard?(question); !yes_wizard?(question) end
|
25
|
+
|
26
|
+
def multiple_choice(question, choices)
|
27
|
+
say_custom('question', question)
|
28
|
+
values = {}
|
29
|
+
choices.each_with_index do |choice,i|
|
30
|
+
values[(i + 1).to_s] = choice[1]
|
31
|
+
say_custom (i + 1).to_s + ')', choice[0]
|
32
|
+
end
|
33
|
+
answer = ask_wizard("Enter your selection:") while !values.keys.include?(answer)
|
34
|
+
values[answer]
|
35
|
+
end
|
36
|
+
|
37
|
+
@current_recipe = nil
|
38
|
+
@configs = {}
|
39
|
+
|
40
|
+
@after_blocks = []
|
41
|
+
def after_bundler(&block); @after_blocks << [@current_recipe, block]; end
|
42
|
+
@after_everything_blocks = []
|
43
|
+
def after_everything(&block); @after_everything_blocks << [@current_recipe, block]; end
|
44
|
+
@before_configs = {}
|
45
|
+
def before_config(&block); @before_configs[@current_recipe] = block; end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# >---------------------------------------------------------------------------<
|
2
|
+
#
|
3
|
+
# _____ _ _ __ ___ _
|
4
|
+
# | __ \ (_) | \ \ / (_) | |
|
5
|
+
# | |__) |__ _ _| |___\ \ /\ / / _ ______ _ _ __ __| |
|
6
|
+
# | _ // _` | | / __|\ \/ \/ / | |_ / _` | '__/ _` |
|
7
|
+
# | | \ \ (_| | | \__ \ \ /\ / | |/ / (_| | | | (_| |
|
8
|
+
# |_| \_\__,_|_|_|___/ \/ \/ |_/___\__,_|_| \__,_|
|
9
|
+
#
|
10
|
+
# This template was generated by rails_apps_composer, a custom version of
|
11
|
+
# RailsWizard, the application template builder. For more information, see:
|
12
|
+
# https://github.com/fortuity/rails_apps_composer/
|
13
|
+
#
|
14
|
+
# >---------------------------------------------------------------------------<
|
15
|
+
|
16
|
+
# >----------------------------[ Initial Setup ]------------------------------<
|
17
|
+
|
18
|
+
initializer 'generators.rb', <<-RUBY
|
19
|
+
Rails.application.config.generators do |g|
|
20
|
+
end
|
21
|
+
RUBY
|
22
|
+
|
23
|
+
@recipes = <%= resolve_recipes.map(&:key).inspect %>
|
24
|
+
|
25
|
+
<%= render "helpers" %>
|
26
|
+
|
27
|
+
case Rails::VERSION::MAJOR.to_s
|
28
|
+
when "3"
|
29
|
+
case Rails::VERSION::MINOR.to_s
|
30
|
+
when "1"
|
31
|
+
say_wizard "You are using Rails version #{Rails::VERSION::STRING}."
|
32
|
+
@recipes << 'rails 3.1'
|
33
|
+
when "0"
|
34
|
+
say_wizard "You are using Rails version #{Rails::VERSION::STRING}."
|
35
|
+
@recipes << 'rails 3.0'
|
36
|
+
else
|
37
|
+
say_wizard "You are using Rails version #{Rails::VERSION::STRING} which is not supported."
|
38
|
+
end
|
39
|
+
else
|
40
|
+
say_wizard "You are using Rails version #{Rails::VERSION::STRING} which is not supported."
|
41
|
+
end
|
42
|
+
|
43
|
+
say_wizard "Checking configuration. Please confirm your preferences."
|
44
|
+
|
45
|
+
<% resolve_recipes.each do |recipe| %>
|
46
|
+
<%= render 'recipe', recipe.get_binding %>
|
47
|
+
<% end %>
|
48
|
+
|
49
|
+
<% if custom_code? %># >-----------------------------[ Custom Code ]-------------------------------<
|
50
|
+
|
51
|
+
<%= custom_code %><% end %>
|
52
|
+
|
53
|
+
@current_recipe = nil
|
54
|
+
|
55
|
+
# >-----------------------------[ Run Bundler ]-------------------------------<
|
56
|
+
|
57
|
+
say_wizard "Running 'bundle install'. This will take a while."
|
58
|
+
run 'bundle install'
|
59
|
+
say_wizard "Running 'after bundler' callbacks."
|
60
|
+
@after_blocks.each{|b| config = @configs[b[0]] || {}; @current_recipe = b[0]; b[1].call}
|
61
|
+
|
62
|
+
@current_recipe = nil
|
63
|
+
say_wizard "Running 'after everything' callbacks."
|
64
|
+
@after_everything_blocks.each{|b| config = @configs[b[0]] || {}; @current_recipe = b[0]; b[1].call}
|
65
|
+
|
66
|
+
@current_recipe = nil
|
67
|
+
say_wizard "Finished running the rails_apps_composer app template."
|
68
|
+
say_wizard "Your new Rails app is ready. Any problems?"
|
69
|
+
say_wizard "See http://github.com/fortuity/rails_apps_composer/issues"
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# ><%= "[ #{name} ]".center(75,'-') %><
|
2
|
+
|
3
|
+
@current_recipe = "<%= key %>"
|
4
|
+
@before_configs["<%= key %>"].call if @before_configs["<%= key %>"]
|
5
|
+
say_recipe '<%= name %>'
|
6
|
+
|
7
|
+
<%= config.compile if config %>
|
8
|
+
@configs[@current_recipe] = config
|
9
|
+
|
10
|
+
<%= template %>
|
data/version.rb
ADDED
metadata
ADDED
@@ -0,0 +1,206 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rails_apps_composer
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 1.0.0
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Daniel Kehoe
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-05-17 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: i18n
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: "0"
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: activesupport
|
28
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.0.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: thor
|
39
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: "0"
|
45
|
+
type: :runtime
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *id003
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rspec
|
50
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 2.5.0
|
56
|
+
type: :development
|
57
|
+
prerelease: false
|
58
|
+
version_requirements: *id004
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: mg
|
61
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: "0"
|
67
|
+
type: :development
|
68
|
+
prerelease: false
|
69
|
+
version_requirements: *id005
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: activesupport
|
72
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 3.0.0
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: *id006
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: i18n
|
83
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: "0"
|
89
|
+
type: :development
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: *id007
|
92
|
+
description: A gem with recipes to create Rails application templates you can use to generate Rails starter apps.
|
93
|
+
email:
|
94
|
+
- daniel@danielkehoe.com
|
95
|
+
executables:
|
96
|
+
- rails_apps_composer
|
97
|
+
extensions: []
|
98
|
+
|
99
|
+
extra_rdoc_files: []
|
100
|
+
|
101
|
+
files:
|
102
|
+
- lib/rails_wizard/command.rb
|
103
|
+
- lib/rails_wizard/config.rb
|
104
|
+
- lib/rails_wizard/recipe.rb
|
105
|
+
- lib/rails_wizard/recipes.rb
|
106
|
+
- lib/rails_wizard/template.rb
|
107
|
+
- lib/rails_wizard.rb
|
108
|
+
- recipes/action_mailer.rb
|
109
|
+
- recipes/activerecord.rb
|
110
|
+
- recipes/add_user.rb
|
111
|
+
- recipes/add_user_name.rb
|
112
|
+
- recipes/application_layout.rb
|
113
|
+
- recipes/ban_spiders.rb
|
114
|
+
- recipes/capybara.rb
|
115
|
+
- recipes/cleanup.rb
|
116
|
+
- recipes/css_setup.rb
|
117
|
+
- recipes/cucumber.rb
|
118
|
+
- recipes/devise.rb
|
119
|
+
- recipes/devise_navigation.rb
|
120
|
+
- recipes/env_yaml.rb
|
121
|
+
- recipes/git.rb
|
122
|
+
- recipes/haml.rb
|
123
|
+
- recipes/heroku.rb
|
124
|
+
- recipes/home_page.rb
|
125
|
+
- recipes/home_page_users.rb
|
126
|
+
- recipes/hoptoad.rb
|
127
|
+
- recipes/jammit.rb
|
128
|
+
- recipes/jquery.rb
|
129
|
+
- recipes/less.rb
|
130
|
+
- recipes/mongo_mapper.rb
|
131
|
+
- recipes/mongohq.rb
|
132
|
+
- recipes/mongoid.rb
|
133
|
+
- recipes/mootools.rb
|
134
|
+
- recipes/navigation.rb
|
135
|
+
- recipes/omniauth.rb
|
136
|
+
- recipes/omniauth_email.rb
|
137
|
+
- recipes/pow.rb
|
138
|
+
- recipes/prototype.rb
|
139
|
+
- recipes/rails_admin.rb
|
140
|
+
- recipes/redis.rb
|
141
|
+
- recipes/redistogo.rb
|
142
|
+
- recipes/rightjs.rb
|
143
|
+
- recipes/rspec.rb
|
144
|
+
- recipes/sass.rb
|
145
|
+
- recipes/seed_database.rb
|
146
|
+
- recipes/sequel.rb
|
147
|
+
- recipes/settingslogic.rb
|
148
|
+
- recipes/slim.rb
|
149
|
+
- recipes/test_unit.rb
|
150
|
+
- recipes/users_page.rb
|
151
|
+
- README.textile
|
152
|
+
- version.rb
|
153
|
+
- templates/helpers.erb
|
154
|
+
- templates/layout.erb
|
155
|
+
- templates/recipe.erb
|
156
|
+
- spec/rails_wizard/config_spec.rb
|
157
|
+
- spec/rails_wizard/recipe_spec.rb
|
158
|
+
- spec/rails_wizard/recipes/sanity_spec.rb
|
159
|
+
- spec/rails_wizard/recipes_spec.rb
|
160
|
+
- spec/rails_wizard/template_spec.rb
|
161
|
+
- spec/spec_helper.rb
|
162
|
+
- spec/support/rails_directory.rb
|
163
|
+
- spec/support/template_runner.rb
|
164
|
+
- bin/rails_apps_composer
|
165
|
+
homepage: http://github.com/RailsApps/rails_apps_composer
|
166
|
+
licenses: []
|
167
|
+
|
168
|
+
post_install_message:
|
169
|
+
rdoc_options: []
|
170
|
+
|
171
|
+
require_paths:
|
172
|
+
- lib
|
173
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
174
|
+
none: false
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
hash: 4261140538500670327
|
179
|
+
segments:
|
180
|
+
- 0
|
181
|
+
version: "0"
|
182
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
none: false
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
hash: 4261140538500670327
|
188
|
+
segments:
|
189
|
+
- 0
|
190
|
+
version: "0"
|
191
|
+
requirements: []
|
192
|
+
|
193
|
+
rubyforge_project: rails_apps_composer
|
194
|
+
rubygems_version: 1.7.2
|
195
|
+
signing_key:
|
196
|
+
specification_version: 3
|
197
|
+
summary: A version of the RailsWizard gem with custom recipes for Rails starter apps.
|
198
|
+
test_files:
|
199
|
+
- spec/rails_wizard/config_spec.rb
|
200
|
+
- spec/rails_wizard/recipe_spec.rb
|
201
|
+
- spec/rails_wizard/recipes/sanity_spec.rb
|
202
|
+
- spec/rails_wizard/recipes_spec.rb
|
203
|
+
- spec/rails_wizard/template_spec.rb
|
204
|
+
- spec/spec_helper.rb
|
205
|
+
- spec/support/rails_directory.rb
|
206
|
+
- spec/support/template_runner.rb
|