rails_apps_composer 2.2.42 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/recipes/extras.rb +7 -7
- data/recipes/gems.rb +70 -70
- data/templates/layout.erb +88 -7
- data/templates/recipe.erb +8 -5
- data/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea04cb9c439385e7475df415daa19c6ddf0d060d
|
4
|
+
data.tar.gz: ed33f03547dc0d34424ff792be29c629f7b36ff6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e77ee0bc45289f8aa6342321a1184d51c4f22faac8dba6793c74e808808efa3a75757ff4b8403c0fdc210815c5675c74bea83348a54bb2a19ad89b2edff34efc
|
7
|
+
data.tar.gz: 6fea0d84bb8e0df072bfe3bf8618e0463bf6fa9b177160ee996dbd9575dd953da5ee6272c0c098050b1fd439530dc4d8d672b08d5cb7d2a30cfa691e78181a55
|
data/recipes/extras.rb
CHANGED
@@ -72,7 +72,7 @@ if config['quiet_assets']
|
|
72
72
|
end
|
73
73
|
if prefs[:quiet_assets]
|
74
74
|
say_wizard "recipe setting quiet_assets for reduced asset pipeline logging"
|
75
|
-
|
75
|
+
add_gem 'quiet_assets', :group => :development
|
76
76
|
end
|
77
77
|
|
78
78
|
## LOCAL_ENV.YML FILE
|
@@ -81,7 +81,7 @@ if config['local_env_file']
|
|
81
81
|
end
|
82
82
|
if prefs[:local_env_file]
|
83
83
|
say_wizard "recipe creating application.yml file for environment variables"
|
84
|
-
|
84
|
+
add_gem 'figaro'
|
85
85
|
end
|
86
86
|
|
87
87
|
## BETTER ERRORS
|
@@ -90,8 +90,8 @@ if config['better_errors']
|
|
90
90
|
end
|
91
91
|
if prefs[:better_errors]
|
92
92
|
say_wizard "recipe adding better_errors gem"
|
93
|
-
|
94
|
-
|
93
|
+
add_gem 'better_errors', :group => :development
|
94
|
+
add_gem 'binding_of_caller', :group => :development, :platforms => [:mri_19, :rbx]
|
95
95
|
end
|
96
96
|
|
97
97
|
## BAN SPIDERS
|
@@ -114,8 +114,8 @@ case RbConfig::CONFIG['host_os']
|
|
114
114
|
# was it already added for bootstrap-less?
|
115
115
|
unless prefer :bootstrap, 'less'
|
116
116
|
say_wizard "recipe adding 'therubyracer' JavaScript runtime gem"
|
117
|
-
|
118
|
-
|
117
|
+
add_gem 'libv8'
|
118
|
+
add_gem 'therubyracer', :group => :assets, :platform => :ruby, :require => 'v8'
|
119
119
|
end
|
120
120
|
end
|
121
121
|
end
|
@@ -144,7 +144,7 @@ if config['github']
|
|
144
144
|
prefs[:github] = true
|
145
145
|
end
|
146
146
|
if prefs[:github]
|
147
|
-
|
147
|
+
add_gem 'hub', :require => nil, :group => [:development]
|
148
148
|
after_everything do
|
149
149
|
say_wizard "recipe creating GitHub repository"
|
150
150
|
git_uri = `git config remote.origin.url`.strip
|
data/recipes/gems.rb
CHANGED
@@ -8,128 +8,128 @@ insert_into_file('Gemfile', "ruby '#{RUBY_VERSION}'\n", :before => /^ *gem 'rail
|
|
8
8
|
|
9
9
|
## Web Server
|
10
10
|
if (prefs[:dev_webserver] == prefs[:prod_webserver])
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
add_gem 'thin' if prefer :dev_webserver, 'thin'
|
12
|
+
add_gem 'unicorn' if prefer :dev_webserver, 'unicorn'
|
13
|
+
add_gem 'puma' if prefer :dev_webserver, 'puma'
|
14
14
|
else
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
15
|
+
add_gem 'thin', :group => [:development, :test] if prefer :dev_webserver, 'thin'
|
16
|
+
add_gem 'unicorn', :group => [:development, :test] if prefer :dev_webserver, 'unicorn'
|
17
|
+
add_gem 'puma', :group => [:development, :test] if prefer :dev_webserver, 'puma'
|
18
|
+
add_gem 'thin', :group => :production if prefer :prod_webserver, 'thin'
|
19
|
+
add_gem 'unicorn', :group => :production if prefer :prod_webserver, 'unicorn'
|
20
|
+
add_gem 'puma', :group => :production if prefer :prod_webserver, 'puma'
|
21
21
|
end
|
22
22
|
|
23
23
|
## Database Adapter
|
24
24
|
gsub_file 'Gemfile', /gem 'sqlite3'\n/, '' unless prefer :database, 'sqlite'
|
25
|
-
|
25
|
+
add_gem 'mongoid' if prefer :orm, 'mongoid'
|
26
26
|
gsub_file 'Gemfile', /gem 'pg'.*/, ''
|
27
|
-
|
27
|
+
add_gem 'pg' if prefer :database, 'postgresql'
|
28
28
|
gsub_file 'Gemfile', /gem 'mysql2'.*/, ''
|
29
|
-
|
29
|
+
add_gem 'mysql2' if prefer :database, 'mysql'
|
30
30
|
|
31
31
|
## Template Engine
|
32
32
|
if prefer :templates, 'haml'
|
33
|
-
|
34
|
-
|
33
|
+
add_gem 'haml-rails'
|
34
|
+
add_gem 'html2haml', :group => :development
|
35
35
|
end
|
36
36
|
if prefer :templates, 'slim'
|
37
|
-
|
38
|
-
|
37
|
+
add_gem 'slim'
|
38
|
+
add_gem 'haml2slim', :group => :development
|
39
39
|
# Haml is needed for conversion of HTML to Slim
|
40
|
-
|
41
|
-
|
40
|
+
add_gem 'haml-rails', :group => :development
|
41
|
+
add_gem 'html2haml', :group => :development
|
42
42
|
end
|
43
43
|
|
44
44
|
## Testing Framework
|
45
45
|
if prefer :unit_test, 'rspec'
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
add_gem 'rspec-rails', :group => [:development, :test]
|
47
|
+
add_gem 'capybara', :group => :test if prefer :integration, 'rspec-capybara'
|
48
|
+
add_gem 'database_cleaner', :group => :test
|
49
49
|
if prefer :orm, 'mongoid'
|
50
|
-
|
50
|
+
add_gem 'mongoid-rspec', :group => :test
|
51
51
|
end
|
52
|
-
|
52
|
+
add_gem 'email_spec', :group => :test
|
53
53
|
end
|
54
54
|
if prefer :unit_test, 'minitest'
|
55
|
-
|
56
|
-
|
57
|
-
|
55
|
+
add_gem 'minitest-spec-rails', :group => :test
|
56
|
+
add_gem 'minitest-wscolor', :group => :test
|
57
|
+
add_gem 'capybara', :group => :test if prefer :integration, 'minitest-capybara'
|
58
58
|
end
|
59
59
|
if prefer :integration, 'cucumber'
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
60
|
+
add_gem 'cucumber-rails', :group => :test, :require => false
|
61
|
+
add_gem 'database_cleaner', :group => :test unless prefer :unit_test, 'rspec'
|
62
|
+
add_gem 'launchy', :group => :test
|
63
|
+
add_gem 'capybara', :group => :test
|
64
64
|
end
|
65
|
-
|
65
|
+
add_gem 'turnip', '>= 1.1.0', :group => :test if prefer :integration, 'turnip'
|
66
66
|
if prefer :continuous_testing, 'guard'
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
67
|
+
add_gem 'guard-bundler', :group => :development
|
68
|
+
add_gem 'guard-cucumber', :group => :development if prefer :integration, 'cucumber'
|
69
|
+
add_gem 'guard-rails', :group => :development
|
70
|
+
add_gem 'guard-rspec', :group => :development if prefer :unit_test, 'rspec'
|
71
|
+
add_gem 'rb-inotify', :group => :development, :require => false
|
72
|
+
add_gem 'rb-fsevent', :group => :development, :require => false
|
73
|
+
add_gem 'rb-fchange', :group => :development, :require => false
|
74
74
|
end
|
75
|
-
|
76
|
-
|
77
|
-
|
75
|
+
add_gem 'factory_girl_rails', :group => [:development, :test] if prefer :fixtures, 'factory_girl'
|
76
|
+
add_gem 'fabrication', :group => [:development, :test] if prefer :fixtures, 'fabrication'
|
77
|
+
add_gem 'machinist', :group => :test if prefer :fixtures, 'machinist'
|
78
78
|
|
79
79
|
## Front-end Framework
|
80
|
-
|
81
|
-
|
82
|
-
|
80
|
+
add_gem 'bootstrap-sass' if prefer :bootstrap, 'sass'
|
81
|
+
add_gem 'compass-rails', :group => :assets if prefer :frontend, 'foundation'
|
82
|
+
add_gem 'zurb-foundation', :group => :assets if prefer :frontend, 'foundation'
|
83
83
|
if prefer :bootstrap, 'less'
|
84
|
-
|
85
|
-
|
84
|
+
add_gem 'less-rails', :group => :assets
|
85
|
+
add_gem 'twitter-bootstrap-rails', :group => :assets
|
86
86
|
# install gem 'therubyracer' to use Less
|
87
|
-
|
88
|
-
|
87
|
+
add_gem 'libv8'
|
88
|
+
add_gem 'therubyracer', :group => :assets, :platform => :ruby, :require => 'v8'
|
89
89
|
end
|
90
90
|
|
91
91
|
## Email
|
92
|
-
|
92
|
+
add_gem 'sendgrid' if prefer :email, 'sendgrid'
|
93
93
|
|
94
94
|
## Authentication (Devise)
|
95
|
-
|
96
|
-
|
95
|
+
add_gem 'devise' if prefer :authentication, 'devise'
|
96
|
+
add_gem 'devise_invitable' if prefer :devise_modules, 'invitable'
|
97
97
|
|
98
98
|
## Authentication (OmniAuth)
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
99
|
+
add_gem 'omniauth' if prefer :authentication, 'omniauth'
|
100
|
+
add_gem 'omniauth-twitter' if prefer :omniauth_provider, 'twitter'
|
101
|
+
add_gem 'omniauth-facebook' if prefer :omniauth_provider, 'facebook'
|
102
|
+
add_gem 'omniauth-github' if prefer :omniauth_provider, 'github'
|
103
|
+
add_gem 'omniauth-linkedin' if prefer :omniauth_provider, 'linkedin'
|
104
|
+
add_gem 'omniauth-google-oauth2' if prefer :omniauth_provider, 'google_oauth2'
|
105
|
+
add_gem 'omniauth-tumblr' if prefer :omniauth_provider, 'tumblr'
|
106
106
|
|
107
107
|
## Authorization
|
108
108
|
if prefer :authorization, 'cancan'
|
109
|
-
|
110
|
-
|
109
|
+
add_gem 'cancan'
|
110
|
+
add_gem 'rolify'
|
111
111
|
end
|
112
112
|
|
113
113
|
## Form Builder
|
114
|
-
|
114
|
+
add_gem 'simple_form' if prefer :form_builder, 'simple_form'
|
115
115
|
|
116
116
|
## Membership App
|
117
117
|
if prefer :railsapps, 'rails-stripe-membership-saas'
|
118
|
-
|
119
|
-
|
118
|
+
add_gem 'stripe'
|
119
|
+
add_gem 'stripe_event'
|
120
120
|
end
|
121
121
|
if prefer :railsapps, 'rails-recurly-subscription-saas'
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
122
|
+
add_gem 'recurly'
|
123
|
+
add_gem 'nokogiri'
|
124
|
+
add_gem 'countries'
|
125
|
+
add_gem 'httpi'
|
126
|
+
add_gem 'httpclient'
|
127
127
|
end
|
128
128
|
|
129
129
|
## Signup App
|
130
130
|
if prefer :railsapps, 'rails-prelaunch-signup'
|
131
|
-
|
132
|
-
|
131
|
+
add_gem 'gibbon'
|
132
|
+
add_gem 'capybara-webkit', :group => :test
|
133
133
|
end
|
134
134
|
|
135
135
|
## Gems from a defaults file or added interactively
|
data/templates/layout.erb
CHANGED
@@ -18,6 +18,9 @@
|
|
18
18
|
#
|
19
19
|
# Thank you to Michael Bleigh for leading the way with the RailsWizard gem.
|
20
20
|
#
|
21
|
+
# Primarily generated by file:
|
22
|
+
# https://github.com/RailsApps/rails_apps_composer/templates/layout.erb
|
23
|
+
#
|
21
24
|
# >---------------------------------------------------------------------------<
|
22
25
|
|
23
26
|
# >----------------------------[ Initial Setup ]------------------------------<
|
@@ -27,6 +30,77 @@ Rails.application.config.generators do |g|
|
|
27
30
|
end
|
28
31
|
RUBY
|
29
32
|
|
33
|
+
module Gemfile
|
34
|
+
class GemInfo
|
35
|
+
def initialize(name) @name=name; @group=[]; @opts={}; end
|
36
|
+
attr_accessor :name, :version
|
37
|
+
attr_reader :group, :opts
|
38
|
+
|
39
|
+
def opts=(new_opts={})
|
40
|
+
new_group = new_opts.delete(:group)
|
41
|
+
if (new_group && self.group != new_group)
|
42
|
+
@group = ([self.group].flatten + [new_group].flatten).compact.uniq.sort
|
43
|
+
end
|
44
|
+
@opts = (self.opts || {}).merge(new_opts)
|
45
|
+
end
|
46
|
+
|
47
|
+
def group_key() @group end
|
48
|
+
|
49
|
+
def gem_args_string
|
50
|
+
args = ["'#{@name}'"]
|
51
|
+
args << "'#{@version}'" if @version
|
52
|
+
@opts.each do |name,value|
|
53
|
+
args << ":#{name}=>#{value.inspect}"
|
54
|
+
end
|
55
|
+
args.join(', ')
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
@geminfo = {}
|
60
|
+
|
61
|
+
class << self
|
62
|
+
# add(name, version, opts={})
|
63
|
+
def add(name, *args)
|
64
|
+
name = name.to_s
|
65
|
+
version = args.first && !args.first.is_a?(Hash) ? args.shift : nil
|
66
|
+
opts = args.first && args.first.is_a?(Hash) ? args.shift : {}
|
67
|
+
@geminfo[name] = (@geminfo[name] || GemInfo.new(name)).tap do |info|
|
68
|
+
info.version = version if version
|
69
|
+
info.opts = opts
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def write
|
74
|
+
File.open('Gemfile', 'a') do |file|
|
75
|
+
file.puts
|
76
|
+
grouped_gem_names.sort.each do |group, gem_names|
|
77
|
+
indent = ""
|
78
|
+
unless group.empty?
|
79
|
+
file.puts "group :#{group.join(', :')} do" unless group.empty?
|
80
|
+
indent=" "
|
81
|
+
end
|
82
|
+
gem_names.sort.each do |gem_name|
|
83
|
+
file.puts "#{indent}gem #{@geminfo[gem_name].gem_args_string}"
|
84
|
+
end
|
85
|
+
file.puts "end" unless group.empty?
|
86
|
+
file.puts
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
private
|
92
|
+
#returns {group=>[...gem names...]}, ie {[:development, :test]=>['rspec-rails', 'mocha'], :assets=>[], ...}
|
93
|
+
def grouped_gem_names
|
94
|
+
{}.tap do |_groups|
|
95
|
+
@geminfo.each do |gem_name, geminfo|
|
96
|
+
(_groups[geminfo.group_key] ||= []).push(gem_name)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
def add_gem(*all) Gemfile.add(*all); end
|
103
|
+
|
30
104
|
@recipes = <%= resolve_recipes.map(&:key).inspect %>
|
31
105
|
@prefs = <%= resolve_preferences %>
|
32
106
|
@gems = <%= resolve_gems %>
|
@@ -34,7 +108,9 @@ RUBY
|
|
34
108
|
@diagnostics_prefs = <%= resolve_diagnostics_prefs %>
|
35
109
|
diagnostics = {}
|
36
110
|
|
37
|
-
|
111
|
+
# ><%= ' templates/helpers.erb '.center(75,'-').chomp %>start<
|
112
|
+
<%= render('helpers').chomp %>
|
113
|
+
# ><%= ' templates/helpers.erb '.center(75,'-').chomp %>end<
|
38
114
|
|
39
115
|
if diagnostics_recipes.sort.include? recipes.sort
|
40
116
|
diagnostics[:recipes] = 'success'
|
@@ -56,6 +132,8 @@ when "3"
|
|
56
132
|
say_wizard "You are using Rails version #{Rails::VERSION::STRING} which is not supported. Try 3.1 or newer."
|
57
133
|
raise StandardError.new "Rails #{Rails::VERSION::STRING} is not supported. Try 3.1 or newer."
|
58
134
|
end
|
135
|
+
when "4"
|
136
|
+
say_wizard "\033[1m\033[36m" + "WARNING! See GitHub for issues with Rails #{Rails::VERSION::STRING}." + "\033[0m"
|
59
137
|
else
|
60
138
|
say_wizard "You are using Rails version #{Rails::VERSION::STRING} which is not supported. Try 3.1 or newer."
|
61
139
|
raise StandardError.new "Rails #{Rails::VERSION::STRING} is not supported. Try 3.1 or newer."
|
@@ -72,10 +150,13 @@ RUBY
|
|
72
150
|
end
|
73
151
|
|
74
152
|
# >---------------------------------[ Recipes ]----------------------------------<
|
75
|
-
|
76
153
|
<% resolve_recipes.each do |recipe| %>
|
77
|
-
<%= render
|
78
|
-
<% end
|
154
|
+
<%= render('recipe', recipe.get_binding).chomp %>
|
155
|
+
<% end
|
156
|
+
%>
|
157
|
+
|
158
|
+
# >-----------------------------[ Final Gemfile Write ]------------------------------<
|
159
|
+
Gemfile.write
|
79
160
|
|
80
161
|
# >---------------------------------[ Diagnostics ]----------------------------------<
|
81
162
|
|
@@ -103,9 +184,9 @@ end
|
|
103
184
|
|
104
185
|
<% if custom_code? %># >-----------------------------[ Custom Code ]-------------------------------<
|
105
186
|
|
106
|
-
<%= custom_code
|
107
|
-
|
108
|
-
|
187
|
+
<%= custom_code
|
188
|
+
%><% end
|
189
|
+
%>@current_recipe = nil
|
109
190
|
|
110
191
|
# >-----------------------------[ Run 'Bundle Install' ]-------------------------------<
|
111
192
|
|
data/templates/recipe.erb
CHANGED
@@ -1,10 +1,13 @@
|
|
1
|
-
# ><%=
|
2
|
-
|
1
|
+
# ><%= ' templates/recipe.erb '.center(75,'-').chomp %>start<
|
2
|
+
# ><%= "[ #{name} ]".center(75,'-').chomp %><
|
3
3
|
@current_recipe = "<%= key %>"
|
4
4
|
@before_configs["<%= key %>"].call if @before_configs["<%= key %>"]
|
5
5
|
say_recipe '<%= name %>'
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
<%=
|
7
|
+
config.compile + "\n" if config
|
8
|
+
%>@configs[@current_recipe] = config
|
9
|
+
# ><%= " recipes/#{name}.rb ".center(75,'-').chomp %>start<
|
9
10
|
|
10
11
|
<%= template %>
|
12
|
+
# ><%= " recipes/#{name}.rb ".center(75,'-').chomp %>end<
|
13
|
+
# ><%= ' templates/recipe.erb '.center(75,'-').chomp %>end<
|
data/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_apps_composer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Kehoe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|