rails_apps_composer 2.1.10 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.textile CHANGED
@@ -99,7 +99,6 @@ You can list recipes with short descriptions:
99
99
  <pre>
100
100
  $ rails_apps_composer list
101
101
 
102
- auth # Add authentication and authorization.
103
102
  controllers # Add controllers needed for starter apps.
104
103
  core # Select all core recipes.
105
104
  email # Configure email accounts.
@@ -173,7 +172,6 @@ Would you like to skip Test::Unit? (yes for RSpec) (y/n)
173
172
  Would you like to skip Active Record? (yes for MongoDB) (y/n)
174
173
 
175
174
  Available Recipes:
176
- auth: auth
177
175
  collections: core
178
176
  configuration: email, gems, git, railsapps, readme, setup
179
177
  example: example
@@ -235,7 +233,6 @@ Specify a filename for the template:
235
233
  $ rails_apps_composer template ~/Desktop/template.rb
236
234
 
237
235
  Available Recipes:
238
- auth: auth
239
236
  collections: core
240
237
  configuration: email, gems, git, railsapps, readme, setup
241
238
  example: example
@@ -15,11 +15,11 @@ module RailsWizard
15
15
  @@recipes << %w(gems git setup)
16
16
  @@recipes << %w(gems git readme setup)
17
17
  @@recipes << %w(extras gems git readme setup)
18
- @@recipes << %w(auth controllers email extras frontend gems git init models railsapps readme routes setup testing views)
19
- @@recipes << %w(all auth controllers email extras frontend gems git init models railsapps readme routes setup testing views)
20
- @@recipes << %w(auth controllers email example extras frontend gems git init models railsapps readme routes setup testing views)
21
- @@recipes << %w(auth controllers email example extras frontend gems git init models prelaunch railsapps readme routes setup testing views)
22
- @@recipes << %w(all auth controllers email example extras frontend gems git init models prelaunch railsapps readme routes setup testing views)
18
+ @@recipes << %w(controllers email extras frontend gems git init models railsapps readme routes setup testing views)
19
+ @@recipes << %w(all controllers email extras frontend gems git init models railsapps readme routes setup testing views)
20
+ @@recipes << %w(controllers email example extras frontend gems git init models railsapps readme routes setup testing views)
21
+ @@recipes << %w(controllers email example extras frontend gems git init models prelaunch railsapps readme routes setup testing views)
22
+ @@recipes << %w(all controllers email example extras frontend gems git init models prelaunch railsapps readme routes setup testing views)
23
23
 
24
24
  ### collections of preferences that are known to work together
25
25
  @@prefs = []
@@ -53,6 +53,6 @@ name: controllers
53
53
  description: "Add controllers needed for starter apps."
54
54
  author: RailsApps
55
55
 
56
- requires: [setup, gems, auth, models]
57
- run_after: [setup, gems, auth, models]
56
+ requires: [setup, gems, models]
57
+ run_after: [setup, gems, models]
58
58
  category: mvc
data/recipes/core.rb CHANGED
@@ -10,5 +10,5 @@ name: core
10
10
  description: "Select all core recipes."
11
11
  author: RailsApps
12
12
 
13
- requires: [git, railsapps, setup, readme, gems, testing, auth, email, models, controllers, views, routes, frontend, init, extras]
13
+ requires: [git, railsapps, setup, readme, gems, testing, email, models, controllers, views, routes, frontend, init, prelaunch, extras]
14
14
  category: collections
data/recipes/extras.rb CHANGED
@@ -1,25 +1,6 @@
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/extras.rb
3
3
 
4
- ## FORM BUILDER
5
- case config['form_builder']
6
- when 'simple_form'
7
- prefs[:form_builder] = 'simple_form'
8
- end
9
- case prefs[:form_builder]
10
- when 'simple_form'
11
- gem 'simple_form'
12
- after_bundler do
13
- if prefer :frontend, 'bootstrap'
14
- say_wizard "recipe installing simple_form for use with Twitter Bootstrap"
15
- generate 'simple_form:install --bootstrap'
16
- else
17
- say_wizard "recipe installing simple_form"
18
- generate 'simple_form:install'
19
- end
20
- end
21
- end
22
-
23
4
  ## BAN SPIDERS
24
5
  if config['ban_spiders']
25
6
  prefs[:ban_spiders] = true
@@ -107,7 +88,12 @@ if config['github']
107
88
  say_wizard "#{git_uri}"
108
89
  else
109
90
  run "hub create #{app_name}"
110
- run "hub push -u origin master"
91
+ unless prefer :railsapps, 'rails-prelaunch-signup'
92
+ run "hub push -u origin master"
93
+ else
94
+ run "hub push -u origin #{prefs[:prelaunch_branch]}"
95
+ run "hub push -u origin #{prefs[:main_branch]}" unless prefer :main_branch, 'none'
96
+ end
111
97
  end
112
98
  end
113
99
  end
@@ -119,14 +105,10 @@ description: "Various extras."
119
105
  author: RailsApps
120
106
 
121
107
  requires: [gems]
122
- run_after: [init, gems]
108
+ run_after: [gems, init, prelaunch]
123
109
  category: other
124
110
 
125
111
  config:
126
- - form_builder:
127
- type: multiple_choice
128
- prompt: Use a form builder gem?
129
- choices: [["None", "none"], ["SimpleForm", "simple_form"]]
130
112
  - ban_spiders:
131
113
  type: boolean
132
114
  prompt: Set a robots.txt file to ban spiders?
data/recipes/gems.rb CHANGED
@@ -98,8 +98,11 @@ if prefer :authorization, 'cancan'
98
98
  gem 'rolify', '>= 3.2.0'
99
99
  end
100
100
 
101
+ ## Form Builder
102
+ gem 'simple_form', '>= 2.0.2' if prefer :form_builder, 'simple_form'
103
+
101
104
  ## Signup App
102
- if prefer :prelaunch_app, 'signup_app'
105
+ if prefer :railsapps, 'rails-prelaunch-signup'
103
106
  gem 'google_visualr', '>= 2.1.2'
104
107
  gem 'jquery-datatables-rails', '>= 1.10.0'
105
108
  end
@@ -156,6 +159,16 @@ end # after_bundler
156
159
  after_bundler do
157
160
  ## Front-end Framework
158
161
  generate 'foundation:install' if prefer :frontend, 'foundation'
162
+ ## Form Builder
163
+ if prefer :form_builder, 'simple_form'
164
+ if prefer :frontend, 'bootstrap'
165
+ say_wizard "recipe installing simple_form for use with Twitter Bootstrap"
166
+ generate 'simple_form:install --bootstrap'
167
+ else
168
+ say_wizard "recipe installing simple_form"
169
+ generate 'simple_form:install'
170
+ end
171
+ end
159
172
  ## Git
160
173
  git :add => '.' if prefer :git, true
161
174
  git :commit => "-aqm 'rails_apps_composer: generators'" if prefer :git, true
data/recipes/models.rb CHANGED
@@ -5,25 +5,60 @@ after_bundler do
5
5
  say_wizard "recipe running after 'bundle install'"
6
6
  ### DEVISE ###
7
7
  if prefer :authentication, 'devise'
8
+ # prevent logging of password_confirmation
9
+ gsub_file 'config/application.rb', /:password/, ':password, :password_confirmation'
10
+ generate 'devise:install'
11
+ generate 'devise_invitable:install' if prefer :devise_modules, 'invitable'
12
+ generate 'devise user' # create the User model
8
13
  if prefer :orm, 'mongoid'
9
- copy_from_repo 'app/models/user.rb', :repo => 'https://raw.github.com/RailsApps/rails3-mongoid-devise/master/' if prefer :orm, 'mongoid'
14
+ ## DEVISE AND MONGOID
15
+ copy_from_repo 'app/models/user.rb', :repo => 'https://raw.github.com/RailsApps/rails3-mongoid-devise/master/'
16
+ if (prefer :devise_modules, 'confirmable') || (prefer :devise_modules, 'invitable')
17
+ gsub_file 'app/models/user.rb', /:registerable,/, ":registerable, :confirmable,"
18
+ gsub_file 'app/models/user.rb', /# field :confirmation_token/, "field :confirmation_token"
19
+ gsub_file 'app/models/user.rb', /# field :confirmed_at/, "field :confirmed_at"
20
+ gsub_file 'app/models/user.rb', /# field :confirmation_sent_at/, "field :confirmation_sent_at"
21
+ gsub_file 'app/models/user.rb', /# field :unconfirmed_email/, "field :unconfirmed_email"
22
+ end
23
+ if (prefer :devise_modules, 'invitable')
24
+ gsub_file 'app/models/user.rb', /\bend\s*\Z/ do
25
+ <<-RUBY
26
+ #invitable
27
+ field :invitation_token, :type => String
28
+ field :invitation_sent_at, :type => Time
29
+ field :invitation_accepted_at, :type => Time
30
+ field :invitation_limit, :type => Integer
31
+ field :invited_by_id, :type => String
32
+ field :invited_by_type, :type => String
33
+ end
34
+ RUBY
35
+ end
36
+ end
10
37
  else
38
+ ## DEVISE AND ACTIVE RECORD
11
39
  generate 'migration AddNameToUsers name:string'
12
40
  copy_from_repo 'app/models/user.rb', :repo => 'https://raw.github.com/RailsApps/rails3-devise-rspec-cucumber/master/'
13
41
  if (prefer :devise_modules, 'confirmable') || (prefer :devise_modules, 'invitable')
14
- generate 'migration AddConfirmableToUsers confirmation_token:string confirmed_at:datetime confirmation_sent_at:datetime unconfirmed_email:string'
15
42
  gsub_file 'app/models/user.rb', /:registerable,/, ":registerable, :confirmable,"
43
+ generate 'migration AddConfirmableToUsers confirmation_token:string confirmed_at:datetime confirmation_sent_at:datetime unconfirmed_email:string'
16
44
  end
17
45
  end
46
+ ## DEVISE AND CUCUMBER
47
+ if prefer :integration, 'cucumber'
48
+ # Cucumber wants to test GET requests not DELETE requests for destroy_user_session_path
49
+ # (see https://github.com/RailsApps/rails3-devise-rspec-cucumber/issues/3)
50
+ gsub_file 'config/initializers/devise.rb', 'config.sign_out_via = :delete', 'config.sign_out_via = Rails.env.test? ? :get : :delete'
51
+ end
18
52
  end
19
53
  ### OMNIAUTH ###
20
54
  if prefer :authentication, 'omniauth'
21
- if prefer :orm, 'mongoid'
22
- copy_from_repo 'app/models/user.rb', :repo => 'https://raw.github.com/RailsApps/rails3-mongoid-omniauth/master/'
23
- else
24
- generate 'model User name:string email:string provider:string uid:string'
25
- run 'bundle exec rake db:migrate'
26
- copy_from_repo 'app/models/user.rb', :repo => 'https://raw.github.com/RailsApps/rails3-mongoid-omniauth/master/'
55
+ repo = 'https://raw.github.com/RailsApps/rails3-mongoid-omniauth/master/'
56
+ copy_from_repo 'config/initializers/omniauth.rb', :repo => repo
57
+ generate 'model User name:string email:string provider:string uid:string' unless prefer :orm, 'mongoid'
58
+ run 'bundle exec rake db:migrate' unless prefer :orm, 'mongoid'
59
+ copy_from_repo 'app/models/user.rb', :repo => repo # copy the User model (Mongoid version)
60
+ unless prefer :orm, 'mongoid'
61
+ ## OMNIAUTH AND ACTIVE RECORD
27
62
  gsub_file 'app/models/user.rb', /class User/, 'class User < ActiveRecord::Base'
28
63
  gsub_file 'app/models/user.rb', /^\s*include Mongoid::Document\n/, ''
29
64
  gsub_file 'app/models/user.rb', /^\s*field.*\n/, ''
@@ -33,8 +68,12 @@ after_bundler do
33
68
  end
34
69
  ### SUBDOMAINS ###
35
70
  copy_from_repo 'app/models/user.rb', :repo => 'https://raw.github.com/RailsApps/rails3-subdomains/master/' if prefer :starter_app, 'subdomains_app'
36
- ### AUTHORIZATION (insert 'rolify' after User model is created) ###
71
+ ### AUTHORIZATION ###
37
72
  if prefer :authorization, 'cancan'
73
+ generate 'cancan:ability'
74
+ if prefer :starter_app, 'admin_app' # Limit access to the users#index page
75
+ copy_from_repo 'app/models/ability.rb', :repo => 'https://raw.github.com/RailsApps/rails3-bootstrap-devise-cancan/master/'
76
+ end
38
77
  unless prefer :orm, 'mongoid'
39
78
  generate 'rolify:role Role User'
40
79
  else
@@ -59,6 +98,6 @@ name: models
59
98
  description: "Add models needed for starter apps."
60
99
  author: RailsApps
61
100
 
62
- requires: [setup, gems, auth]
63
- run_after: [setup, gems, auth]
101
+ requires: [setup, gems]
102
+ run_after: [setup, gems]
64
103
  category: mvc
data/recipes/prelaunch.rb CHANGED
@@ -1,13 +1,29 @@
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/prelaunch.rb
3
3
 
4
- if prefer :prelaunch_app, 'signup_app'
5
- raise StandardError.new "Sorry. The prelaunch recipe is not implemented."
4
+ if prefer :railsapps, 'rails-prelaunch-signup'
6
5
 
7
- after_bundler do
6
+ after_everything do
8
7
  say_wizard "recipe running after 'bundle install'"
9
8
  repo = 'https://raw.github.com/RailsApps/rails-prelaunch-signup/master/'
10
9
 
10
+ # >-------------------------------[ Clean up starter app ]--------------------------------<
11
+
12
+ %w{
13
+ public/index.html
14
+ app/assets/images/rails.png
15
+ }.each { |file| remove_file file }
16
+ # remove commented lines and multiple blank lines from Gemfile
17
+ # thanks to https://github.com/perfectline/template-bucket/blob/master/cleanup.rb
18
+ gsub_file 'Gemfile', /#.*\n/, "\n"
19
+ gsub_file 'Gemfile', /\n^\s*\n/, "\n"
20
+ # remove commented lines and multiple blank lines from config/routes.rb
21
+ gsub_file 'config/routes.rb', / #.*\n/, "\n"
22
+ gsub_file 'config/routes.rb', /\n^\s*\n/, "\n"
23
+ # GIT
24
+ git :add => '.' if prefer :git, true
25
+ git :commit => "-aqm 'rails_apps_composer: clean up starter app'" if prefer :git, true
26
+
11
27
  # >-------------------------------[ Create a git branch ]--------------------------------<
12
28
  if prefer :git, true
13
29
  if prefer :prelaunch_branch, 'master'
@@ -24,22 +40,78 @@ if prefer :prelaunch_app, 'signup_app'
24
40
  end
25
41
  end
26
42
 
27
- # >-------------------------------[ Create an initializer file ]--------------------------------<
28
- copy_from_repo 'config/initializers/prelaunch-signup.rb', :repo => repo
29
- say_wizard "PRELAUNCH_SIGNUP NOT IMPLEMENTED"
43
+ # >-------------------------------[ Cucumber ]--------------------------------<
44
+ say_wizard "copying Cucumber scenarios from the rails-prelaunch-signup examples"
45
+ copy_from_repo 'features/admin/send_invitations.feature', :repo => repo
46
+ copy_from_repo 'features/admin/view_progress.feature', :repo => repo
47
+ copy_from_repo 'features/visitors/request_invitation.feature', :repo => repo
48
+ copy_from_repo 'features/users/sign_up.feature', :repo => repo
49
+ copy_from_repo 'features/users/user_show.feature', :repo => repo
50
+ copy_from_repo 'features/step_definitions/admin_steps.rb', :repo => repo
51
+ copy_from_repo 'features/step_definitions/user_steps.rb', :repo => repo
52
+ copy_from_repo 'features/step_definitions/visitor_steps.rb', :repo => repo
53
+ copy_from_repo 'config/locales/devise.en.yml', :repo => repo
54
+
55
+ # >-------------------------------[ Migrations ]--------------------------------<
56
+
57
+ generate 'migration AddOptinToUsers opt_in:boolean'
58
+ run 'bundle exec rake db:drop'
59
+ run 'bundle exec rake db:migrate'
60
+ run 'bundle exec rake db:test:prepare'
61
+ run 'bundle exec rake db:seed'
62
+
63
+ # >-------------------------------[ Models ]--------------------------------<
64
+
65
+ copy_from_repo 'app/models/user.rb', :repo => repo
66
+
67
+ # >-------------------------------[ Controllers ]--------------------------------<
68
+
69
+ copy_from_repo 'app/controllers/confirmations_controller.rb', :repo => repo
70
+ copy_from_repo 'app/controllers/home_controller.rb', :repo => repo
71
+ copy_from_repo 'app/controllers/registrations_controller.rb', :repo => repo
72
+ copy_from_repo 'app/controllers/users_controller.rb', :repo => repo
73
+
74
+ # >-------------------------------[ Mailers ]--------------------------------<
75
+
76
+ generate 'mailer UserMailer'
77
+ copy_from_repo 'spec/mailers/user_mailer_spec.rb', :repo => repo
78
+ copy_from_repo 'app/mailers/user_mailer.rb', :repo => repo
79
+
80
+ # >-------------------------------[ Views ]--------------------------------<
81
+
82
+ copy_from_repo 'app/views/devise/confirmations/show.html.erb', :repo => repo
83
+ copy_from_repo 'app/views/devise/mailer/confirmation_instructions.html.erb', :repo => repo
84
+ copy_from_repo 'app/views/devise/registrations/_thankyou.html.erb', :repo => repo
85
+ copy_from_repo 'app/views/devise/registrations/new.html.erb', :repo => repo
86
+ copy_from_repo 'app/views/devise/shared/_links.html.erb', :repo => repo
87
+ copy_from_repo 'app/views/home/index.html.erb', :repo => repo
88
+ copy_from_repo 'app/views/user_mailer/welcome_email.html.erb', :repo => repo
89
+ copy_from_repo 'app/views/user_mailer/welcome_email.text.erb', :repo => repo
90
+ copy_from_repo 'app/views/users/index.html.erb', :repo => repo
91
+ copy_from_repo 'public/thankyou.html', :repo => repo
30
92
 
93
+ # >-------------------------------[ Routes ]--------------------------------<
94
+
95
+ copy_from_repo 'config/routes.rb', :repo => repo
96
+
97
+ # >-------------------------------[ Assets ]--------------------------------<
98
+
99
+ copy_from_repo 'app/assets/javascripts/application.js', :repo => repo
100
+ copy_from_repo 'app/assets/javascripts/users.js.coffee', :repo => repo
101
+ copy_from_repo 'app/assets/stylesheets/application.css.scss', :repo => repo
102
+
31
103
  ### GIT ###
32
104
  git :add => '.' if prefer :git, true
33
105
  git :commit => "-aqm 'rails_apps_composer: prelaunch app'" if prefer :git, true
34
106
  end # after_bundler
35
- end # signup_app
107
+ end # rails-prelaunch-signup
36
108
 
37
109
  __END__
38
110
 
39
111
  name: prelaunch
40
- description: "Not implemented."
112
+ description: "Install a prelaunch-signup example application."
41
113
  author: RailsApps
42
114
 
43
- requires: [setup, gems, auth, models, controllers, views, frontend, init]
44
- run_after: [setup, gems, auth, models, controllers, views, frontend, init]
115
+ requires: [core]
116
+ run_after: [setup, gems, models, controllers, views, frontend, init]
45
117
  category: apps
data/recipes/railsapps.rb CHANGED
@@ -10,6 +10,28 @@ prefs[:railsapps] = multiple_choice "Install an example application?",
10
10
  ["rails3-subdomains", "rails3-subdomains"]] unless prefs.has_key? :railsapps
11
11
 
12
12
  case prefs[:railsapps]
13
+ when 'rails-prelaunch-signup'
14
+ prefs[:git] = true
15
+ prefs[:database] = 'sqlite'
16
+ prefs[:unit_test] = 'rspec'
17
+ prefs[:integration] = 'cucumber'
18
+ prefs[:fixtures] = 'factory_girl'
19
+ prefs[:frontend] = 'bootstrap'
20
+ prefs[:bootstrap] = 'sass'
21
+ prefs[:email] = 'mandrill'
22
+ prefs[:authentication] = 'devise'
23
+ prefs[:devise_modules] = 'confirmable'
24
+ prefs[:authorization] = 'cancan'
25
+ prefs[:starter_app] = 'admin_app'
26
+ prefs[:form_builder] = 'simple_form'
27
+ if prefer :git, true
28
+ prefs[:prelaunch_branch] = multiple_choice "Git branch for the prelaunch app?", [["wip (work-in-progress)", "wip"], ["master", "master"], ["prelaunch", "prelaunch"], ["staging", "staging"]]
29
+ if prefs[:prelaunch_branch] == 'master'
30
+ prefs[:main_branch] = multiple_choice "Git branch for the main app?", [["None", "none"], ["wip (work-in-progress)", "wip"], ["edge", "edge"]]
31
+ else
32
+ prefs[:main_branch] = 'master'
33
+ end
34
+ end
13
35
  when 'rails3-bootstrap-devise-cancan'
14
36
  prefs[:git] = true
15
37
  prefs[:database] = 'sqlite'
@@ -87,6 +109,6 @@ name: railsapps
87
109
  description: "Install RailsApps example applications."
88
110
  author: RailsApps
89
111
 
90
- requires: [auth, controllers, email, extras, frontend, gems, git, init, models, readme, routes, setup, testing, views]
112
+ requires: [core]
91
113
  run_after: [git]
92
114
  category: configuration
data/recipes/routes.rb CHANGED
@@ -31,6 +31,6 @@ name: routes
31
31
  description: "Add routes needed for starter apps."
32
32
  author: RailsApps
33
33
 
34
- requires: [setup, gems, auth, models, controllers, views]
35
- run_after: [setup, gems, auth, models, controllers, views]
34
+ requires: [setup, gems, models, controllers, views]
35
+ run_after: [setup, gems, models, controllers, views]
36
36
  category: mvc
data/recipes/setup.rb CHANGED
@@ -76,7 +76,7 @@ else
76
76
  end
77
77
 
78
78
  ## Authentication and Authorization
79
- if recipes.include? 'auth'
79
+ if recipes.include? 'models'
80
80
  prefs[:authentication] = multiple_choice "Authentication?", [["None", "none"], ["Devise", "devise"], ["OmniAuth", "omniauth"]] unless prefs.has_key? :authentication
81
81
  case prefs[:authentication]
82
82
  when 'devise'
@@ -95,6 +95,9 @@ if recipes.include? 'auth'
95
95
  end
96
96
  end
97
97
 
98
+ ## Form Builder
99
+ prefs[:form_builder] = multiple_choice "Use a form builder gem?", [["None", "none"], ["SimpleForm", "simple_form"]] unless prefs.has_key? :form_builder
100
+
98
101
  ## MVC
99
102
  if (recipes.include? 'models') && (recipes.include? 'controllers') && (recipes.include? 'views') && (recipes.include? 'routes')
100
103
  if prefer :authorization, 'cancan'
@@ -114,19 +117,6 @@ if (recipes.include? 'models') && (recipes.include? 'controllers') && (recipes.i
114
117
  else
115
118
  prefs[:starter_app] = multiple_choice "Install a starter app?", [["None", "none"], ["Home Page", "home_app"]] unless prefs.has_key? :starter_app
116
119
  end
117
- if (recipes.include? 'prelaunch') && (prefer :authentication, 'devise') && (prefer :authorization, 'cancan')
118
- prefs[:prelaunch_app] = multiple_choice "Install a prelaunch app?", [["None", "none"], ["Prelaunch Signup App", "signup_app"]]
119
- if prefs[:prelaunch_app] == 'signup_app'
120
- prefs[:devise_modules] = 'confirmable'
121
- prefs[:bulkmail] = multiple_choice "Send news and announcements with a mail service?", [["None", "none"], ["MailChimp","mailchimp"]]
122
- if prefer :git, true
123
- prefs[:prelaunch_branch] = multiple_choice "Git branch for the prelaunch app?", [["wip (work-in-progress)", "wip"], ["master", "master"], ["prelaunch", "prelaunch"], ["staging", "staging"]]
124
- if prefs[:prelaunch_branch] == 'master'
125
- prefs[:main_branch] = multiple_choice "Git branch for the main app?", [["None (delete)", "none"], ["wip (work-in-progress)", "wip"], ["edge", "edge"]]
126
- end
127
- end
128
- end
129
- end
130
120
  end
131
121
 
132
122
  __END__
data/recipes/views.rb CHANGED
@@ -34,6 +34,6 @@ name: views
34
34
  description: "Add views needed for starter apps."
35
35
  author: RailsApps
36
36
 
37
- requires: [setup, gems, auth, models, controllers]
38
- run_after: [setup, gems, auth, models, controllers]
37
+ requires: [setup, gems, models, controllers]
38
+ run_after: [setup, gems, models, controllers]
39
39
  category: mvc
data/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RailsWizard
2
- VERSION = "2.1.10"
2
+ VERSION = "2.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_apps_composer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.10
4
+ version: 2.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-25 00:00:00.000000000 Z
12
+ date: 2012-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
@@ -155,7 +155,6 @@ files:
155
155
  - lib/rails_wizard/recipes.rb
156
156
  - lib/rails_wizard/template.rb
157
157
  - lib/rails_wizard.rb
158
- - recipes/auth.rb
159
158
  - recipes/controllers.rb
160
159
  - recipes/core.rb
161
160
  - recipes/email.rb
@@ -202,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
202
201
  version: '0'
203
202
  segments:
204
203
  - 0
205
- hash: -4342401758096405890
204
+ hash: -3896447774562980249
206
205
  required_rubygems_version: !ruby/object:Gem::Requirement
207
206
  none: false
208
207
  requirements:
@@ -211,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
210
  version: '0'
212
211
  segments:
213
212
  - 0
214
- hash: -4342401758096405890
213
+ hash: -3896447774562980249
215
214
  requirements: []
216
215
  rubyforge_project: rails_apps_composer
217
216
  rubygems_version: 1.8.24
data/recipes/auth.rb DELETED
@@ -1,83 +0,0 @@
1
- # Application template recipe for the rails_apps_composer. Change the recipe here:
2
- # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/auth.rb
3
-
4
- after_bundler do
5
- say_wizard "recipe running after 'bundle install'"
6
- ### DEVISE ###
7
- if prefer :authentication, 'devise'
8
- # Prevent logging of password_confirmation
9
- gsub_file 'config/application.rb', /:password/, ':password, :password_confirmation'
10
- generate 'devise:install'
11
- generate 'devise_invitable:install' if prefer :devise_modules, 'invitable'
12
- generate 'devise user'
13
- ## DEVISE AND CUCUMBER
14
- if prefer :integration, 'cucumber'
15
- # Cucumber wants to test GET requests not DELETE requests for destroy_user_session_path
16
- # (see https://github.com/RailsApps/rails3-devise-rspec-cucumber/issues/3)
17
- gsub_file 'config/initializers/devise.rb', 'config.sign_out_via = :delete', 'config.sign_out_via = Rails.env.test? ? :get : :delete'
18
- end
19
- ## DEVISE MODULES
20
- if (prefer :devise_modules, 'confirmable') || (prefer :devise_modules, 'invitable')
21
- gsub_file 'app/models/user.rb', /:registerable,/, ":registerable, :confirmable,"
22
- if prefer :orm, 'mongoid'
23
- gsub_file 'app/models/user.rb', /# field :confirmation_token/, "field :confirmation_token"
24
- gsub_file 'app/models/user.rb', /# field :confirmed_at/, "field :confirmed_at"
25
- gsub_file 'app/models/user.rb', /# field :confirmation_sent_at/, "field :confirmation_sent_at"
26
- gsub_file 'app/models/user.rb', /# field :unconfirmed_email/, "field :unconfirmed_email"
27
- end
28
- end
29
- if prefer :devise_modules, 'invitable'
30
- if prefer :orm, 'mongoid'
31
- gsub_file 'app/models/user.rb', /\bend\s*\Z/ do
32
- <<-RUBY
33
- #invitable
34
- field :invitation_token, :type => String
35
- field :invitation_sent_at, :type => Time
36
- field :invitation_accepted_at, :type => Time
37
- field :invitation_limit, :type => Integer
38
- field :invited_by_id, :type => String
39
- field :invited_by_type, :type => String
40
- end
41
- RUBY
42
- end
43
- end
44
- end
45
- end
46
- ### OMNIAUTH ###
47
- if prefer :authentication, 'omniauth'
48
- # Don't use single-quote-style-heredoc: we want interpolation.
49
- create_file 'config/initializers/omniauth.rb' do <<-RUBY
50
- Rails.application.config.middleware.use OmniAuth::Builder do
51
- provider :#{prefs[:omniauth_provider]}, ENV['OMNIAUTH_PROVIDER_KEY'], ENV['OMNIAUTH_PROVIDER_SECRET']
52
- end
53
- RUBY
54
- end
55
- end
56
- ### CANCAN ###
57
- if prefer :authorization, 'cancan'
58
- generate 'cancan:ability'
59
- if prefer :starter_app, 'admin_app'
60
- # Limit access to the users#index page
61
- inject_into_file 'app/models/ability.rb', :after => "def initialize(user)\n" do <<-RUBY
62
- user ||= User.new # guest user (not logged in)
63
- if user.has_role? :admin
64
- can :manage, :all
65
- end
66
- RUBY
67
- end
68
- end
69
- end
70
- ### GIT ###
71
- git :add => '.' if prefer :git, true
72
- git :commit => "-aqm 'rails_apps_composer: authentication and authorization'" if prefer :git, true
73
- end # after_bundler
74
-
75
- __END__
76
-
77
- name: auth
78
- description: "Add authentication and authorization."
79
- author: RailsApps
80
-
81
- requires: [setup, gems]
82
- run_after: [setup, gems]
83
- category: auth