rails_apps_composer 2.2.42 → 2.3.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.
- 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
|