rails_apps_composer 2.6.13 → 3.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/recipes/gems.rb CHANGED
@@ -11,8 +11,6 @@ insert_into_file('Gemfile', "ruby '#{RUBY_VERSION}'\n", :before => /^ *gem 'rail
11
11
  gsub_file 'Gemfile', /group :doc do/, ''
12
12
  gsub_file 'Gemfile', /\s*gem 'sdoc', require: false\nend/, ''
13
13
 
14
- assets_group = rails_4? ? nil : :assets
15
-
16
14
  ## Web Server
17
15
  if (prefs[:dev_webserver] == prefs[:prod_webserver])
18
16
  add_gem 'thin' if prefer :dev_webserver, 'thin'
@@ -32,20 +30,10 @@ else
32
30
  add_gem 'passenger', :group => :production if prefer :prod_webserver, 'passenger_standalone'
33
31
  end
34
32
 
35
- ## Rails 4.0 attr_accessible Compatibility
36
- # if prefer :apps4, false
37
- # add_gem 'protected_attributes' if rails_4?
38
- # end
39
-
40
33
  ## Database Adapter
41
34
  unless prefer :database, 'default'
42
35
  gsub_file 'Gemfile', /gem 'sqlite3'\n/, '' unless prefer :database, 'sqlite'
43
36
  end
44
- if rails_4?
45
- add_gem 'mongoid', github: 'mongoid/mongoid' if prefer :orm, 'mongoid'
46
- else
47
- add_gem 'mongoid' if prefer :orm, 'mongoid'
48
- end
49
37
  gsub_file 'Gemfile', /gem 'pg'.*/, ''
50
38
  add_gem 'pg' if prefer :database, 'postgresql'
51
39
  gsub_file 'Gemfile', /gem 'mysql2'.*/, ''
@@ -66,63 +54,23 @@ if prefer :templates, 'slim'
66
54
  end
67
55
 
68
56
  ## Testing Framework
69
- if rails_4_1?
70
- if prefer :tests, 'rspec'
71
- add_gem 'rails_apps_testing', :group => :development
72
- add_gem 'rspec-rails', :group => [:development, :test]
73
- add_gem 'factory_girl_rails', :group => [:development, :test]
74
- add_gem 'faker', :group => :test
75
- add_gem 'capybara', :group => :test
76
- add_gem 'database_cleaner', :group => :test
77
- add_gem 'launchy', :group => :test
78
- add_gem 'selenium-webdriver', :group => :test
79
- if prefer :continuous_testing, 'guard'
80
- add_gem 'guard-bundler', :group => :development
81
- add_gem 'guard-rails', :group => :development
82
- add_gem 'guard-rspec', :group => :development
83
- add_gem 'rb-inotify', :group => :development, :require => false
84
- add_gem 'rb-fsevent', :group => :development, :require => false
85
- add_gem 'rb-fchange', :group => :development, :require => false
86
- end
87
- end
88
- else
89
- if prefer :unit_test, 'rspec'
90
- add_gem 'rspec-rails', :group => [:development, :test]
91
- add_gem 'capybara', :group => :test if prefer :integration, 'rspec-capybara'
92
- add_gem 'database_cleaner', '1.0.1', :group => :test
93
- if prefer :orm, 'mongoid'
94
- if rails_4?
95
- add_gem 'mongoid-rspec', '>= 1.10.0', :group => :test
96
- else
97
- add_gem 'mongoid-rspec', :group => :test
98
- end
99
- end
100
- add_gem 'email_spec', :group => :test
101
- end
102
- if prefer :unit_test, 'minitest'
103
- add_gem 'minitest-spec-rails', :group => :test
104
- add_gem 'minitest-wscolor', :group => :test
105
- add_gem 'capybara', :group => :test if prefer :integration, 'minitest-capybara'
106
- end
107
- if prefer :integration, 'cucumber'
108
- add_gem 'cucumber-rails', :group => :test, :require => false
109
- add_gem 'database_cleaner', '1.0.1', :group => :test unless prefer :unit_test, 'rspec'
110
- add_gem 'launchy', :group => :test
111
- add_gem 'capybara', :group => :test
112
- end
113
- add_gem 'turnip', '>= 1.1.0', :group => :test if prefer :integration, 'turnip'
57
+ if prefer :tests, 'rspec'
58
+ add_gem 'rails_apps_testing', :group => :development
59
+ add_gem 'rspec-rails', :group => [:development, :test]
60
+ add_gem 'factory_girl_rails', :group => [:development, :test]
61
+ add_gem 'faker', :group => :test
62
+ add_gem 'capybara', :group => :test
63
+ add_gem 'database_cleaner', :group => :test
64
+ add_gem 'launchy', :group => :test
65
+ add_gem 'selenium-webdriver', :group => :test
114
66
  if prefer :continuous_testing, 'guard'
115
67
  add_gem 'guard-bundler', :group => :development
116
- add_gem 'guard-cucumber', :group => :development if prefer :integration, 'cucumber'
117
68
  add_gem 'guard-rails', :group => :development
118
- add_gem 'guard-rspec', :group => :development if prefer :unit_test, 'rspec'
69
+ add_gem 'guard-rspec', :group => :development
119
70
  add_gem 'rb-inotify', :group => :development, :require => false
120
71
  add_gem 'rb-fsevent', :group => :development, :require => false
121
72
  add_gem 'rb-fchange', :group => :development, :require => false
122
73
  end
123
- add_gem 'factory_girl_rails', :group => [:development, :test] if prefer :fixtures, 'factory_girl'
124
- add_gem 'fabrication', :group => [:development, :test] if prefer :fixtures, 'fabrication'
125
- add_gem 'machinist', :group => :test if prefer :fixtures, 'machinist'
126
74
  end
127
75
 
128
76
  ## Front-end Framework
@@ -133,17 +81,20 @@ case prefs[:frontend]
133
81
  when 'bootstrap3'
134
82
  add_gem 'bootstrap-sass'
135
83
  when 'foundation4'
136
- if rails_4?
137
- add_gem 'zurb-foundation', '~> 4.3.2'
138
- add_gem 'compass-rails', '~> 1.1.2'
139
- else
140
- add_gem 'zurb-foundation', '~> 4.3.2', :group => assets_group
141
- add_gem 'compass-rails', '~> 1.0.3', :group => assets_group
142
- end
84
+ add_gem 'zurb-foundation', '~> 4.3.2'
85
+ add_gem 'compass-rails', '~> 1.1.2'
143
86
  when 'foundation5'
144
87
  add_gem 'foundation-rails'
145
88
  end
146
89
 
90
+ ## Pages
91
+ case prefs[:pages]
92
+ when 'about'
93
+ add_gem 'high_voltage'
94
+ when 'about+users'
95
+ add_gem 'high_voltage'
96
+ end
97
+
147
98
  ## Email
148
99
  add_gem 'sendgrid' if prefer :email, 'sendgrid'
149
100
 
@@ -161,34 +112,11 @@ add_gem 'omniauth-google-oauth2' if prefer :omniauth_provider, 'google_oauth2'
161
112
  add_gem 'omniauth-tumblr' if prefer :omniauth_provider, 'tumblr'
162
113
 
163
114
  ## Authorization
164
- if prefer :authorization, 'cancan'
165
- add_gem 'cancan'
166
- add_gem 'rolify'
167
- end
168
115
  add_gem 'pundit' if prefer :authorization, 'pundit'
169
116
 
170
117
  ## Form Builder
171
118
  add_gem 'simple_form' if prefer :form_builder, 'simple_form'
172
119
 
173
- ## Membership App
174
- if prefer :railsapps, 'rails-stripe-membership-saas'
175
- add_gem 'stripe'
176
- add_gem 'stripe_event'
177
- end
178
- if prefer :railsapps, 'rails-recurly-subscription-saas'
179
- add_gem 'recurly'
180
- add_gem 'nokogiri'
181
- add_gem 'countries'
182
- add_gem 'httpi'
183
- add_gem 'httpclient'
184
- end
185
-
186
- ## Signup App
187
- if prefer :railsapps, 'rails-prelaunch-signup'
188
- add_gem 'gibbon'
189
- add_gem 'capybara-webkit', :group => :test
190
- end
191
-
192
120
  ## Gems from a defaults file or added interactively
193
121
  gems.each do |g|
194
122
  gem(*g)
@@ -199,12 +127,12 @@ git :add => '-A' if prefer :git, true
199
127
  git :commit => '-qm "rails_apps_composer: Gemfile"' if prefer :git, true
200
128
 
201
129
  ### CREATE DATABASE ###
202
- after_bundler do
130
+ stage_two do
131
+ say_wizard "recipe stage two"
132
+ say_wizard "configuring database"
203
133
  unless prefer :database, 'default'
204
134
  copy_from_repo 'config/database-postgresql.yml', :prefs => 'postgresql'
205
135
  copy_from_repo 'config/database-mysql.yml', :prefs => 'mysql'
206
- generate 'mongoid:config' if prefer :orm, 'mongoid'
207
- remove_file 'config/database.yml' if prefer :orm, 'mongoid'
208
136
  if prefer :database, 'postgresql'
209
137
  begin
210
138
  pg_username = prefs[:pg_username] || ask_wizard("Username for PostgreSQL?(leave blank to use the app name)")
@@ -252,16 +180,17 @@ after_bundler do
252
180
  raise "aborted at user's request"
253
181
  end
254
182
  end
255
- run 'bundle exec rake db:create:all' unless prefer :orm, 'mongoid'
256
- run 'bundle exec rake db:create' if prefer :orm, 'mongoid'
183
+ run 'bundle exec rake db:create:all'
257
184
  ## Git
258
185
  git :add => '-A' if prefer :git, true
259
186
  git :commit => '-qm "rails_apps_composer: create database"' if prefer :git, true
260
187
  end
261
- end # after_bundler
188
+ end
262
189
 
263
190
  ### GENERATORS ###
264
- after_bundler do
191
+ stage_two do
192
+ say_wizard "recipe stage two"
193
+ say_wizard "running generators"
265
194
  ## Form Builder
266
195
  if prefer :form_builder, 'simple_form'
267
196
  case prefs[:frontend]
@@ -325,7 +254,7 @@ FILE
325
254
  ## Git
326
255
  git :add => '-A' if prefer :git, true
327
256
  git :commit => '-qm "rails_apps_composer: generators"' if prefer :git, true
328
- end # after_bundler
257
+ end
329
258
 
330
259
  __END__
331
260
 
data/recipes/git.rb CHANGED
@@ -10,7 +10,8 @@ if prefer :git, true
10
10
  git :add => '-A'
11
11
  git :commit => '-qm "rails_apps_composer: initial commit"'
12
12
  else
13
- after_everything do
13
+ stage_three do
14
+ say_wizard "recipe stage three"
14
15
  say_wizard "removing .gitignore and .gitkeep files"
15
16
  git_files = Dir[File.join('**','.gitkeep')] + Dir[File.join('**','.gitignore')]
16
17
  File.unlink git_files
data/recipes/init.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  # Application template recipe for the rails_apps_composer. Change the recipe here:
2
2
  # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/init.rb
3
3
 
4
- after_everything do
5
- say_wizard "recipe running after everything"
6
- if (!prefs[:secrets].nil?) and rails_4_1?
4
+ stage_three do
5
+ say_wizard "recipe stage three"
6
+ if (!prefs[:secrets].nil?)
7
7
  prefs[:secrets].each do |secret|
8
8
  env_var = " #{secret}: <%= ENV[\"#{secret.upcase}\"] %>"
9
9
  inject_into_file 'config/secrets.yml', "\n" + env_var, :after => "development:"
@@ -34,46 +34,33 @@ after_everything do
34
34
  secrets_omniauth = " omniauth_provider_key: <%= ENV[\"OMNIAUTH_PROVIDER_KEY\"] %>\n omniauth_provider_secret: <%= ENV[\"OMNIAUTH_PROVIDER_SECRET\"] %>"
35
35
  foreman_omniauth = "OMNIAUTH_PROVIDER_KEY: Your_Provider_Key\nOMNIAUTH_PROVIDER_SECRET: Your_Provider_Secret\n"
36
36
  figaro_omniauth = foreman_omniauth.gsub('=', ': ')
37
- secrets_cancan = " roles: <%= ENV[\"ROLES\"] %>" # unnecessary? CanCan will not be used with Rails 4.1?
38
- foreman_cancan = "ROLES=[admin, user, VIP]\n\n"
39
- figaro_cancan = foreman_cancan.gsub('=', ': ')
40
37
  ## EMAIL
41
- inject_into_file 'config/secrets.yml', "\n" + " domain_name: example.com", :after => "development:" if rails_4_1?
42
- inject_into_file 'config/secrets.yml', "\n" + " domain_name: <%= ENV[\"DOMAIN_NAME\"] %>", :after => "production:" if rails_4_1?
43
- inject_into_file 'config/secrets.yml', "\n" + secrets_email, :after => "development:" if rails_4_1?
38
+ inject_into_file 'config/secrets.yml', "\n" + " domain_name: example.com", :after => "development:"
39
+ inject_into_file 'config/secrets.yml', "\n" + " domain_name: <%= ENV[\"DOMAIN_NAME\"] %>", :after => "production:"
40
+ inject_into_file 'config/secrets.yml', "\n" + secrets_email, :after => "development:"
44
41
  unless prefer :email, 'none'
45
42
  ### 'inject_into_file' doesn't let us inject the same text twice unless we append the extra space, why?
46
- inject_into_file 'config/secrets.yml', "\n" + secrets_email + " ", :after => "production:" if rails_4_1?
43
+ inject_into_file 'config/secrets.yml', "\n" + secrets_email + " ", :after => "production:"
47
44
  append_file '.env', foreman_email if prefer :local_env_file, 'foreman'
48
45
  append_file 'config/application.yml', figaro_email if prefer :local_env_file, 'figaro'
49
46
  end
50
47
  ## DEVISE
51
48
  if prefer :authentication, 'devise'
52
- inject_into_file 'config/secrets.yml', "\n" + ' domain_name: example.com' + " ", :after => "test:" if rails_4_1?
53
- inject_into_file 'config/secrets.yml', "\n" + secrets_d_devise, :after => "development:" if rails_4_1?
54
- inject_into_file 'config/secrets.yml', "\n" + secrets_p_devise, :after => "production:" if rails_4_1?
49
+ inject_into_file 'config/secrets.yml', "\n" + ' domain_name: example.com' + " ", :after => "test:"
50
+ inject_into_file 'config/secrets.yml', "\n" + secrets_d_devise, :after => "development:"
51
+ inject_into_file 'config/secrets.yml', "\n" + secrets_p_devise, :after => "production:"
55
52
  append_file '.env', foreman_devise if prefer :local_env_file, 'foreman'
56
53
  append_file 'config/application.yml', figaro_devise if prefer :local_env_file, 'figaro'
57
54
  gsub_file 'config/initializers/devise.rb', /'please-change-me-at-config-initializers-devise@example.com'/, "'no-reply@' + Rails.application.secrets.domain_name"
58
55
  end
59
56
  ## OMNIAUTH
60
57
  if prefer :authentication, 'omniauth'
61
- inject_into_file 'config/secrets.yml', "\n" + secrets_omniauth, :after => "development:" if rails_4_1?
58
+ inject_into_file 'config/secrets.yml', "\n" + secrets_omniauth, :after => "development:"
62
59
  ### 'inject_into_file' doesn't let us inject the same text twice unless we append the extra space, why?
63
- inject_into_file 'config/secrets.yml', "\n" + secrets_omniauth + " ", :after => "production:" if rails_4_1?
60
+ inject_into_file 'config/secrets.yml', "\n" + secrets_omniauth + " ", :after => "production:"
64
61
  append_file '.env', foreman_omniauth if prefer :local_env_file, 'foreman'
65
62
  append_file 'config/application.yml', figaro_omniauth if prefer :local_env_file, 'figaro'
66
63
  end
67
- ## CANCAN
68
- if (prefer :authorization, 'cancan')
69
- inject_into_file 'config/secrets.yml', "\n" + secrets_cancan, :after => "development:" if rails_4_1?
70
- ### 'inject_into_file' doesn't let us inject the same text twice unless we append the extra space, why?
71
- inject_into_file 'config/secrets.yml', "\n" + secrets_cancan + " ", :after => "production:" if rails_4_1?
72
- append_file '.env', foreman_cancan if prefer :local_env_file, 'foreman'
73
- append_file 'config/application.yml', figaro_cancan if prefer :local_env_file, 'figaro'
74
- end
75
- ### SUBDOMAINS (FIGARO ONLY) ###
76
- copy_from_repo 'config/application.yml', :repo => 'https://raw.github.com/RailsApps/rails3-subdomains/master/' if prefer :starter_app, 'subdomains_app'
77
64
  ### EXAMPLE FILE FOR FOREMAN AND FIGARO ###
78
65
  if prefer :local_env_file, 'figaro'
79
66
  copy_file destination_root + '/config/application.yml', destination_root + '/config/application.example.yml'
@@ -81,15 +68,14 @@ after_everything do
81
68
  copy_file destination_root + '/.env', destination_root + '/.env.example'
82
69
  end
83
70
  ### DATABASE SEED ###
84
- if (prefer :authentication, 'devise') and (rails_4_1?)
71
+ if prefer :authentication, 'devise'
85
72
  copy_from_repo 'db/seeds.rb', :repo => 'https://raw.github.com/RailsApps/rails-devise/master/'
86
- unless prefer :authorization, 'pundit'
73
+ if prefer :authorization, 'pundit'
74
+ copy_from_repo 'app/services/create_admin_service.rb', :repo => 'https://raw.github.com/RailsApps/rails-devise-pundit/master/'
75
+ else
87
76
  copy_from_repo 'app/services/create_admin_service.rb', :repo => 'https://raw.github.com/RailsApps/rails-devise/master/'
88
77
  end
89
78
  end
90
- if prefer :authorization, 'pundit'
91
- copy_from_repo 'app/services/create_admin_service.rb', :repo => 'https://raw.github.com/RailsApps/rails-devise-pundit/master/'
92
- end
93
79
  if prefer :local_env_file, 'figaro'
94
80
  append_file 'db/seeds.rb' do <<-FILE
95
81
  # Environment variables (ENV['...']) can be set in the file config/application.yml.
@@ -102,50 +88,9 @@ FILE
102
88
  FILE
103
89
  end
104
90
  end
105
- if (prefer :authorization, 'cancan')
106
- unless prefer :orm, 'mongoid'
107
- append_file 'db/seeds.rb' do <<-FILE
108
- puts 'ROLES'
109
- YAML.load(ENV['ROLES']).each do |role|
110
- Role.find_or_create_by_name({ :name => role }, :without_protection => true)
111
- puts 'role: ' << role
112
- end
113
- FILE
114
- end
115
- ## Fix db seed for Rails 4.0
116
- gsub_file 'db/seeds.rb', /{ :name => role }, :without_protection => true/, 'role' if rails_4?
117
- else
118
- append_file 'db/seeds.rb' do <<-FILE
119
- puts 'ROLES'
120
- YAML.load(ENV['ROLES']).each do |role|
121
- Role.mongo_session['roles'].insert({ :name => role })
122
- puts 'role: ' << role
123
- end
124
- FILE
125
- end
126
- end
127
- end
128
- ## DEVISE-DEFAULT
129
- if (prefer :authentication, 'devise') and (not prefer :apps4, 'rails-devise') and (not rails_4_1?)
130
- append_file 'db/seeds.rb' do <<-FILE
131
- puts 'DEFAULT USERS'
132
- user = User.find_or_create_by_email :name => ENV['ADMIN_NAME'].dup, :email => ENV['ADMIN_EMAIL'].dup, :password => ENV['ADMIN_PASSWORD'].dup, :password_confirmation => ENV['ADMIN_PASSWORD'].dup
133
- puts 'user: ' << user.name
134
- FILE
135
- end
136
- # Mongoid doesn't have a 'find_or_create_by' method
137
- gsub_file 'db/seeds.rb', /find_or_create_by_email/, 'create!' if prefer :orm, 'mongoid'
138
- end
139
91
  ## DEVISE-CONFIRMABLE
140
92
  if (prefer :devise_modules, 'confirmable') || (prefer :devise_modules, 'invitable')
141
- if rails_4_1?
142
- inject_into_file 'app/services/create_admin_service.rb', " user.confirm!\n", :after => "user.password_confirmation = Rails.application.secrets.admin_password\n"
143
- else
144
- append_file 'db/seeds.rb', "user.confirm!\n"
145
- end
146
- end
147
- if (prefer :authorization, 'cancan') && !(prefer :authentication, 'omniauth')
148
- append_file 'db/seeds.rb', 'user.add_role :admin'
93
+ inject_into_file 'app/services/create_admin_service.rb', " user.confirm!\n", :after => "user.password_confirmation = Rails.application.secrets.admin_password\n"
149
94
  end
150
95
  ## DEVISE-INVITABLE
151
96
  if prefer :devise_modules, 'invitable'
@@ -157,34 +102,20 @@ FILE
157
102
  generate 'devise_invitable user'
158
103
  end
159
104
  ### APPLY DATABASE SEED ###
160
- unless prefer :orm, 'mongoid'
161
- unless prefer :database, 'default'
162
- ## ACTIVE_RECORD
163
- say_wizard "applying migrations and seeding the database"
164
- if prefer :local_env_file, 'foreman'
165
- run 'foreman run bundle exec rake db:migrate'
166
- else
167
- run 'bundle exec rake db:migrate'
168
- end
169
- end
170
- else
171
- ## MONGOID
172
- say_wizard "dropping database, creating indexes and seeding the database"
105
+ unless prefer :database, 'default'
106
+ ## ACTIVE_RECORD
107
+ say_wizard "applying migrations and seeding the database"
173
108
  if prefer :local_env_file, 'foreman'
174
- run 'foreman run bundle exec rake db:drop'
175
- run 'foreman run bundle exec rake db:mongoid:create_indexes'
109
+ run 'foreman run bundle exec rake db:migrate'
176
110
  else
177
- run 'bundle exec rake db:drop'
178
- run 'bundle exec rake db:mongoid:create_indexes'
111
+ run 'bundle exec rake db:migrate'
179
112
  end
180
113
  end
181
114
  unless prefs[:skip_seeds]
182
- unless prefer :railsapps, 'rails-recurly-subscription-saas'
183
- if prefer :local_env_file, 'foreman'
184
- run 'foreman run bundle exec rake db:seed'
185
- else
186
- run 'bundle exec rake db:seed'
187
- end
115
+ if prefer :local_env_file, 'foreman'
116
+ run 'foreman run bundle exec rake db:seed'
117
+ else
118
+ run 'bundle exec rake db:seed'
188
119
  end
189
120
  end
190
121
  ### GIT ###
@@ -202,12 +133,10 @@ FILE
202
133
  end
203
134
  # create navigation links using the rails_layout gem
204
135
  generate 'layout:navigation -f'
205
- # replace with specialized navigation partials
206
- copy_from_repo 'app/views/layouts/_navigation-subdomains_app.html.erb', :prefs => 'subdomains_app'
207
136
  ### GIT ###
208
137
  git :add => '-A' if prefer :git, true
209
138
  git :commit => '-qm "rails_apps_composer: navigation links"' if prefer :git, true
210
- end # after_everything
139
+ end
211
140
 
212
141
  __END__
213
142
 
@@ -215,6 +144,6 @@ name: init
215
144
  description: "Set up and initialize database."
216
145
  author: RailsApps
217
146
 
218
- requires: [setup, gems, models]
219
- run_after: [setup, gems, models]
147
+ requires: [setup, gems, devise, omniauth]
148
+ run_after: [setup, gems, pages]
220
149
  category: initialize
@@ -22,9 +22,9 @@ if prefer :apps4, 'learn-rails'
22
22
  prefs[:pry] = false
23
23
  prefs[:quiet_assets] = true
24
24
  prefs[:secrets] = ['owner_email', 'mailchimp_list_id', 'mailchimp_api_key']
25
- prefs[:starter_app] = false
26
25
  prefs[:templates] = 'erb'
27
26
  prefs[:tests] = false
27
+ prefs[:pages] = 'none'
28
28
 
29
29
  # gems
30
30
  add_gem 'activerecord-tableless'
@@ -37,8 +37,8 @@ if prefer :apps4, 'learn-rails'
37
37
  add_gem 'thin', :group => :production
38
38
  add_gem 'rails_12factor', :group => :production
39
39
 
40
- after_everything do
41
-
40
+ stage_three do
41
+ say_wizard "recipe stage three"
42
42
  repo = 'https://raw.github.com/RailsApps/learn-rails/master/'
43
43
 
44
44
  # >-------------------------------[ Models ]--------------------------------<
@@ -0,0 +1,32 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/omniauth.rb
3
+
4
+ stage_two do
5
+ say_wizard "recipe stage two"
6
+ if prefer :authentication, 'omniauth'
7
+ repo = 'https://raw.github.com/RailsApps/rails-omniauth/master/'
8
+ copy_from_repo 'config/initializers/omniauth.rb', :repo => repo
9
+ gsub_file 'config/initializers/omniauth.rb', /twitter/, prefs[:omniauth_provider] unless prefer :omniauth_provider, 'twitter'
10
+ generate 'model User name:string email:string provider:string uid:string'
11
+ run 'bundle exec rake db:migrate'
12
+ copy_from_repo 'app/models/user.rb', :repo => 'https://raw.github.com/RailsApps/rails-omniauth/master/'
13
+ copy_from_repo 'app/controllers/application_controller.rb', :repo => repo
14
+ filename = 'app/controllers/sessions_controller.rb'
15
+ copy_from_repo filename, :repo => repo
16
+ gsub_file filename, /twitter/, prefs[:omniauth_provider] unless prefer :omniauth_provider, 'twitter'
17
+ copy_from_repo 'config/routes.rb', :repo => repo
18
+ end
19
+ ### GIT ###
20
+ git :add => '-A' if prefer :git, true
21
+ git :commit => '-qm "rails_apps_composer: omniauth"' if prefer :git, true
22
+ end
23
+
24
+ __END__
25
+
26
+ name: omniauth
27
+ description: "Add OmniAuth for authentication"
28
+ author: RailsApps
29
+
30
+ requires: [setup, gems]
31
+ run_after: [setup, gems]
32
+ category: mvc