rails_apps_composer 1.1.4 → 1.1.5
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/action_mailer.rb +39 -5
- data/recipes/add_user.rb +12 -2
- data/recipes/cucumber.rb +16 -1
- data/recipes/devise.rb +25 -10
- data/recipes/extras.rb +1 -1
- data/recipes/guard.rb +19 -7
- data/recipes/seed_database.rb +14 -3
- data/recipes/slim.rb +46 -0
- data/version.rb +1 -1
- metadata +21 -21
- data/recipes/add_user_name.rb +0 -77
data/recipes/action_mailer.rb
CHANGED
@@ -2,24 +2,34 @@
|
|
2
2
|
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/action_mailer.rb
|
3
3
|
|
4
4
|
after_bundler do
|
5
|
+
### modifying environment configuration files for ActionMailer
|
5
6
|
say_wizard "ActionMailer recipe running 'after bundler'"
|
6
|
-
|
7
|
+
### development environment
|
7
8
|
gsub_file 'config/environments/development.rb', /# Don't care if the mailer can't send/, '# ActionMailer Config'
|
8
9
|
gsub_file 'config/environments/development.rb', /config.action_mailer.raise_delivery_errors = false/ do
|
9
10
|
<<-RUBY
|
10
11
|
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
|
11
|
-
# A dummy setup for development - no deliveries, but logged
|
12
12
|
config.action_mailer.delivery_method = :smtp
|
13
|
-
|
13
|
+
# change to false to prevent email from being sent during development
|
14
|
+
config.action_mailer.perform_deliveries = true
|
14
15
|
config.action_mailer.raise_delivery_errors = true
|
15
16
|
config.action_mailer.default :charset => "utf-8"
|
16
17
|
RUBY
|
17
18
|
end
|
19
|
+
### test environment
|
20
|
+
inject_into_file 'config/environments/test.rb', :before => "\nend" do
|
21
|
+
<<-RUBY
|
22
|
+
\n
|
23
|
+
# ActionMailer Config
|
24
|
+
config.action_mailer.default_url_options = { :host => 'example.com' }
|
25
|
+
RUBY
|
26
|
+
end
|
27
|
+
### production environment
|
18
28
|
gsub_file 'config/environments/production.rb', /config.active_support.deprecation = :notify/ do
|
19
29
|
<<-RUBY
|
20
30
|
config.active_support.deprecation = :notify
|
21
31
|
|
22
|
-
config.action_mailer.default_url_options = { :host => '
|
32
|
+
config.action_mailer.default_url_options = { :host => 'example.com' }
|
23
33
|
# ActionMailer Config
|
24
34
|
# Setup for production - deliveries, no errors raised
|
25
35
|
config.action_mailer.delivery_method = :smtp
|
@@ -28,6 +38,25 @@ config.active_support.deprecation = :notify
|
|
28
38
|
config.action_mailer.default :charset => "utf-8"
|
29
39
|
RUBY
|
30
40
|
end
|
41
|
+
|
42
|
+
### modifying environment configuration files to send email using a GMail account
|
43
|
+
if config['gmail']
|
44
|
+
gmail_configuration_text = <<-TEXT
|
45
|
+
\n
|
46
|
+
config.action_mailer.smtp_settings = {
|
47
|
+
address: "smtp.gmail.com",
|
48
|
+
port: 587,
|
49
|
+
domain: "example.com",
|
50
|
+
authentication: "plain",
|
51
|
+
enable_starttls_auto: true,
|
52
|
+
user_name: ENV["GMAIL_USERNAME"],
|
53
|
+
password: ENV["GMAIL_PASSWORD"]
|
54
|
+
}
|
55
|
+
TEXT
|
56
|
+
say_wizard gmail_configuration_text
|
57
|
+
inject_into_file 'config/environments/development.rb', gmail_configuration_text, :after => 'config.action_mailer.default :charset => "utf-8"'
|
58
|
+
inject_into_file 'config/environments/production.rb', gmail_configuration_text, :after => 'config.action_mailer.default :charset => "utf-8"'
|
59
|
+
end
|
31
60
|
|
32
61
|
end
|
33
62
|
|
@@ -38,4 +67,9 @@ description: "Configure ActionMailer to show errors during development and suppr
|
|
38
67
|
author: RailsApps
|
39
68
|
|
40
69
|
category: other
|
41
|
-
tags: [utilities, configuration]
|
70
|
+
tags: [utilities, configuration]
|
71
|
+
|
72
|
+
config:
|
73
|
+
- gmail:
|
74
|
+
type: boolean
|
75
|
+
prompt: Would you like the app to use a GMail account to send email?
|
data/recipes/add_user.rb
CHANGED
@@ -16,12 +16,13 @@ RUBY
|
|
16
16
|
end
|
17
17
|
|
18
18
|
if recipes.include? 'devise'
|
19
|
-
|
19
|
+
|
20
20
|
# Generate models and routes for a User
|
21
21
|
generate 'devise user'
|
22
22
|
|
23
23
|
# Add a 'name' attribute to the User model
|
24
24
|
if recipes.include? 'mongoid'
|
25
|
+
# for mongoid
|
25
26
|
gsub_file 'app/models/user.rb', /end/ do
|
26
27
|
<<-RUBY
|
27
28
|
field :name
|
@@ -35,6 +36,9 @@ RUBY
|
|
35
36
|
# for ActiveRecord
|
36
37
|
# Devise created a Users database, we'll modify it
|
37
38
|
generate 'migration AddNameToUsers name:string'
|
39
|
+
if recipes.include? 'devise-confirmable'
|
40
|
+
generate 'migration AddConfirmableToUsers confirmation_token:string confirmed_at:datetime confirmation_sent_at:datetime unconfirmed_email:string'
|
41
|
+
end
|
38
42
|
# Devise created a Users model, we'll modify it
|
39
43
|
gsub_file 'app/models/user.rb', /attr_accessible :email/, 'attr_accessible :name, :email'
|
40
44
|
inject_into_file 'app/models/user.rb', :before => 'validates_uniqueness_of' do
|
@@ -43,8 +47,14 @@ RUBY
|
|
43
47
|
gsub_file 'app/models/user.rb', /validates_uniqueness_of :email/, 'validates_uniqueness_of :name, :email'
|
44
48
|
end
|
45
49
|
|
50
|
+
# needed for both mongoid and ActiveRecord
|
51
|
+
if recipes.include? 'devise-confirmable'
|
52
|
+
gsub_file 'app/models/user.rb', /:registerable,/, ":registerable, :confirmable,"
|
53
|
+
gsub_file 'app/models/user.rb', /:remember_me/, ':remember_me, :confirmed_at'
|
54
|
+
end
|
55
|
+
|
46
56
|
unless recipes.include? 'haml'
|
47
|
-
|
57
|
+
|
48
58
|
# Generate Devise views (unless you are using Haml)
|
49
59
|
run 'rails generate devise:views'
|
50
60
|
|
data/recipes/cucumber.rb
CHANGED
@@ -14,6 +14,8 @@ if config['cucumber']
|
|
14
14
|
after_bundler do
|
15
15
|
say_wizard "Cucumber recipe running 'after bundler'"
|
16
16
|
generate "cucumber:install --capybara#{' --rspec' if recipes.include?('rspec')}#{' -D' if recipes.include?('mongoid')}"
|
17
|
+
# make it easy to run Cucumber for single features without adding "--require features" to the command line
|
18
|
+
gsub_file 'config/cucumber.yml', /std_opts = "/, 'std_opts = "-r features/support/ -r features/step_definitions '
|
17
19
|
if recipes.include? 'mongoid'
|
18
20
|
gsub_file 'features/support/env.rb', /transaction/, "truncation"
|
19
21
|
inject_into_file 'features/support/env.rb', :after => 'begin' do
|
@@ -37,10 +39,23 @@ if config['cucumber']
|
|
37
39
|
get 'https://raw.github.com/RailsApps/rails3-devise-rspec-cucumber/master/features/step_definitions/user_steps.rb', 'features/step_definitions/user_steps.rb'
|
38
40
|
remove_file 'features/support/paths.rb'
|
39
41
|
get 'https://raw.github.com/RailsApps/rails3-devise-rspec-cucumber/master/features/support/paths.rb', 'features/support/paths.rb'
|
42
|
+
if recipes.include? 'devise-confirmable'
|
43
|
+
gsub_file 'features/step_definitions/user_steps.rb', /Welcome! You have signed up successfully./, "A message with a confirmation link has been sent to your email address."
|
44
|
+
inject_into_file 'features/users/sign_in.feature', :before => ' Scenario: User signs in successfully' do
|
45
|
+
<<-RUBY
|
46
|
+
Scenario: User has not confirmed account
|
47
|
+
Given I exist as an unconfirmed user
|
48
|
+
And I am not logged in
|
49
|
+
When I sign in with valid credentials
|
50
|
+
Then I see an unconfirmed account message
|
51
|
+
And I should be signed out
|
52
|
+
RUBY
|
53
|
+
end
|
54
|
+
end
|
40
55
|
rescue OpenURI::HTTPError
|
41
56
|
say_wizard "Unable to obtain Cucumber example files from the repo"
|
42
57
|
end
|
43
|
-
end
|
58
|
+
end
|
44
59
|
end
|
45
60
|
end
|
46
61
|
|
data/recipes/devise.rb
CHANGED
@@ -1,19 +1,33 @@
|
|
1
1
|
# Application template recipe for the rails_apps_composer. Check for a newer version here:
|
2
2
|
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/devise.rb
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
case config['devise']
|
5
|
+
when 'no'
|
6
|
+
recipes.delete('devise')
|
7
|
+
say_wizard "Devise recipe skipped."
|
8
|
+
when 'standard'
|
9
|
+
gem 'devise', '>= 2.0.4'
|
10
|
+
when 'confirmable'
|
11
|
+
gem 'devise', '>= 2.0.4'
|
12
|
+
recipes << 'devise-confirmable'
|
13
|
+
when 'invitable'
|
14
|
+
gem 'devise', '>= 2.0.4'
|
15
|
+
gem 'devise_invitable', '>= 1.0.0'
|
16
|
+
recipes << 'devise-confirmable'
|
17
|
+
recipes << 'devise-invitable'
|
18
|
+
else
|
19
|
+
recipes.delete('devise')
|
20
|
+
say_wizard "Devise recipe skipped."
|
8
21
|
end
|
9
22
|
|
10
|
-
if
|
23
|
+
if recipes.include? 'devise'
|
11
24
|
after_bundler do
|
12
|
-
|
25
|
+
|
13
26
|
say_wizard "Devise recipe running 'after bundler'"
|
14
|
-
|
27
|
+
|
15
28
|
# Run the Devise generator
|
16
29
|
generate 'devise:install'
|
30
|
+
generate 'devise_invitable:install' if recipes.include? 'devise-invitable'
|
17
31
|
|
18
32
|
if recipes.include? 'mongo_mapper'
|
19
33
|
gem 'mm-devise'
|
@@ -32,7 +46,7 @@ if config['devise']
|
|
32
46
|
# (see https://github.com/RailsApps/rails3-devise-rspec-cucumber/issues/3)
|
33
47
|
gsub_file 'config/initializers/devise.rb', 'config.sign_out_via = :delete', 'config.sign_out_via = Rails.env.test? ? :get : :delete'
|
34
48
|
end
|
35
|
-
|
49
|
+
|
36
50
|
end
|
37
51
|
|
38
52
|
after_everything do
|
@@ -75,5 +89,6 @@ exclusive: authentication
|
|
75
89
|
|
76
90
|
config:
|
77
91
|
- devise:
|
78
|
-
type:
|
79
|
-
prompt: Would you like to use Devise for authentication?
|
92
|
+
type: multiple_choice
|
93
|
+
prompt: Would you like to use Devise for authentication?
|
94
|
+
choices: [["No", no], ["Devise with default modules", standard], ["Devise with Confirmable module", confirmable], ["Devise with Confirmable and Invitable modules", invitable]]
|
data/recipes/extras.rb
CHANGED
@@ -31,7 +31,7 @@ tags: [utilities, configuration]
|
|
31
31
|
config:
|
32
32
|
- footnotes:
|
33
33
|
type: boolean
|
34
|
-
prompt: Would you like to use 'rails-footnotes' (it's SLOW!
|
34
|
+
prompt: Would you like to use 'rails-footnotes' (it's SLOW!)?
|
35
35
|
- ban_spiders:
|
36
36
|
type: boolean
|
37
37
|
prompt: Would you like to set a robots.txt file to ban spiders?
|
data/recipes/guard.rb
CHANGED
@@ -1,4 +1,18 @@
|
|
1
|
-
|
1
|
+
case config['guard']
|
2
|
+
when 'no'
|
3
|
+
recipes.delete('guard')
|
4
|
+
say_wizard "Guard recipe skipped."
|
5
|
+
when 'standard'
|
6
|
+
# do nothing
|
7
|
+
when 'LiveReload'
|
8
|
+
recipes << 'guard-LiveReload'
|
9
|
+
else
|
10
|
+
recipes.delete('guard')
|
11
|
+
say_wizard "Guard recipe skipped."
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
if recipes.include? 'guard'
|
2
16
|
gem 'guard', '>= 0.6.2', :group => :development
|
3
17
|
|
4
18
|
prepend_file 'Gemfile' do <<-RUBY
|
@@ -44,8 +58,8 @@ end
|
|
44
58
|
unless recipes.include? 'pow'
|
45
59
|
guard 'rails', '>= 0.0.3'
|
46
60
|
end
|
47
|
-
|
48
|
-
if
|
61
|
+
|
62
|
+
if recipes.include? 'guard-LiveReload'
|
49
63
|
guard 'livereload', '>= 0.3.0'
|
50
64
|
end
|
51
65
|
|
@@ -80,8 +94,6 @@ tags: [dev]
|
|
80
94
|
|
81
95
|
config:
|
82
96
|
- guard:
|
83
|
-
type:
|
97
|
+
type: multiple_choice
|
84
98
|
prompt: Would you like to use Guard to automate your workflow?
|
85
|
-
|
86
|
-
type: boolean
|
87
|
-
prompt: Would you like to enable the LiveReload guard?
|
99
|
+
choices: [["No", no], ["Guard default configuration", standard], ["Guard with LiveReload", LiveReload]]
|
data/recipes/seed_database.rb
CHANGED
@@ -6,10 +6,18 @@ after_bundler do
|
|
6
6
|
|
7
7
|
say_wizard "SeedDatabase recipe running 'after bundler'"
|
8
8
|
|
9
|
-
unless recipes.include? 'mongoid'
|
10
|
-
run 'bundle exec rake db:migrate'
|
11
|
-
end
|
9
|
+
run 'bundle exec rake db:migrate' unless recipes.include? 'mongoid'
|
12
10
|
|
11
|
+
if recipes.include? 'devise-invitable'
|
12
|
+
generate 'devise_invitable user'
|
13
|
+
unless recipes.include? 'mongoid'
|
14
|
+
run 'bundle exec rake db:migrate'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# clone the schema changes to the test database
|
19
|
+
run 'bundle exec rake db:test:prepare' unless recipes.include? 'mongoid'
|
20
|
+
|
13
21
|
if recipes.include? 'mongoid'
|
14
22
|
append_file 'db/seeds.rb' do <<-FILE
|
15
23
|
puts 'EMPTY THE MONGODB DATABASE'
|
@@ -26,6 +34,9 @@ user = User.create! :name => 'First User', :email => 'user@example.com', :passwo
|
|
26
34
|
puts 'New user created: ' << user.name
|
27
35
|
FILE
|
28
36
|
end
|
37
|
+
if recipes.include? 'devise-confirmable'
|
38
|
+
gsub_file 'db/seeds.rb', /:password_confirmation => 'please'/, ":password_confirmation => 'please', :confirmed_at => DateTime.now"
|
39
|
+
end
|
29
40
|
end
|
30
41
|
|
31
42
|
run 'bundle exec rake db:seed'
|
data/recipes/slim.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Check for a newer version here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/slim.rb
|
3
|
+
|
4
|
+
if config['slim']
|
5
|
+
gem 'slim', '~> 1.0'
|
6
|
+
gem 'slim-rails', '~> 1.0.3', :group => :development
|
7
|
+
else
|
8
|
+
recipes.delete('slim')
|
9
|
+
end
|
10
|
+
|
11
|
+
after_bundler do
|
12
|
+
|
13
|
+
say_wizard "Slim recipe running 'after bundler'"
|
14
|
+
|
15
|
+
remove_file 'app/views/layouts/application.html.erb'
|
16
|
+
# There is Slim code in this script. Changing the indentation is perilous between SLIMs.
|
17
|
+
# We have to use single-quote-style-heredoc to avoid interpolation.
|
18
|
+
create_file 'app/views/layouts/application.html.slim' do
|
19
|
+
<<-'SLIM'
|
20
|
+
doctype html
|
21
|
+
html
|
22
|
+
head
|
23
|
+
title App_Name
|
24
|
+
= stylesheet_link_tag "application", :media => "all"
|
25
|
+
= javascript_include_tag "application"
|
26
|
+
= csrf_meta_tags
|
27
|
+
body
|
28
|
+
= yield
|
29
|
+
SLIM
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
__END__
|
35
|
+
|
36
|
+
name: SLIM
|
37
|
+
description: "Utilize Slim instead of ERB."
|
38
|
+
author: claudiob
|
39
|
+
|
40
|
+
category: templating
|
41
|
+
exclusive: templating
|
42
|
+
|
43
|
+
config:
|
44
|
+
- slim:
|
45
|
+
type: boolean
|
46
|
+
prompt: Would you like to use Slim instead of ERB?
|
data/version.rb
CHANGED
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: 1.1.
|
4
|
+
version: 1.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02-
|
12
|
+
date: 2012-02-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|
16
|
-
requirement: &
|
16
|
+
requirement: &2153449780 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2153449780
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &2153449280 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.0.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2153449280
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: thor
|
38
|
-
requirement: &
|
38
|
+
requirement: &2153448840 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2153448840
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rake
|
49
|
-
requirement: &
|
49
|
+
requirement: &2153442660 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2153442660
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rspec
|
60
|
-
requirement: &
|
60
|
+
requirement: &2153441660 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 2.5.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2153441660
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mg
|
71
|
-
requirement: &
|
71
|
+
requirement: &2153441100 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2153441100
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: activesupport
|
82
|
-
requirement: &
|
82
|
+
requirement: &2153440480 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 3.0.0
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *2153440480
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: i18n
|
93
|
-
requirement: &
|
93
|
+
requirement: &2153440000 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *2153440000
|
102
102
|
description: A gem with recipes to create Rails application templates you can use
|
103
103
|
to generate Rails starter apps.
|
104
104
|
email:
|
@@ -117,7 +117,6 @@ files:
|
|
117
117
|
- recipes/action_mailer.rb
|
118
118
|
- recipes/activerecord.rb
|
119
119
|
- recipes/add_user.rb
|
120
|
-
- recipes/add_user_name.rb
|
121
120
|
- recipes/backbone.rb
|
122
121
|
- recipes/capybara.rb
|
123
122
|
- recipes/cleanup.rb
|
@@ -146,6 +145,7 @@ files:
|
|
146
145
|
- recipes/sass.rb
|
147
146
|
- recipes/seed_database.rb
|
148
147
|
- recipes/settingslogic.rb
|
148
|
+
- recipes/slim.rb
|
149
149
|
- recipes/static_page.rb
|
150
150
|
- recipes/subdomains.rb
|
151
151
|
- recipes/users_page.rb
|
@@ -177,7 +177,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
177
|
version: '0'
|
178
178
|
segments:
|
179
179
|
- 0
|
180
|
-
hash:
|
180
|
+
hash: 4313263859797521047
|
181
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
182
|
none: false
|
183
183
|
requirements:
|
@@ -186,7 +186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
186
186
|
version: '0'
|
187
187
|
segments:
|
188
188
|
- 0
|
189
|
-
hash:
|
189
|
+
hash: 4313263859797521047
|
190
190
|
requirements: []
|
191
191
|
rubyforge_project: rails_apps_composer
|
192
192
|
rubygems_version: 1.8.16
|
data/recipes/add_user_name.rb
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
# Application template recipe for the rails_apps_composer. Check for a newer version here:
|
2
|
-
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/add_user_name.rb
|
3
|
-
|
4
|
-
after_bundler do
|
5
|
-
|
6
|
-
say_wizard "AddUserName recipe running 'after bundler'"
|
7
|
-
|
8
|
-
# Add a 'name' attribute to the User model
|
9
|
-
if recipes.include? 'mongoid'
|
10
|
-
gsub_file 'app/models/user.rb', /end/ do
|
11
|
-
<<-RUBY
|
12
|
-
field :name
|
13
|
-
validates_presence_of :name
|
14
|
-
validates_uniqueness_of :name, :email, :case_sensitive => false
|
15
|
-
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
|
16
|
-
end
|
17
|
-
RUBY
|
18
|
-
end
|
19
|
-
else
|
20
|
-
# for ActiveRecord
|
21
|
-
# Devise created a Users database, we'll modify it
|
22
|
-
generate 'migration AddNameToUsers name:string'
|
23
|
-
# Devise created a Users model, we'll modify it
|
24
|
-
gsub_file 'app/models/user.rb', /attr_accessible :email/, 'attr_accessible :name, :email'
|
25
|
-
inject_into_file 'app/models/user.rb', :before => 'validates_uniqueness_of' do
|
26
|
-
"validates_presence_of :name\n"
|
27
|
-
end
|
28
|
-
gsub_file 'app/models/user.rb', /validates_uniqueness_of :email/, 'validates_uniqueness_of :name, :email'
|
29
|
-
end
|
30
|
-
|
31
|
-
if recipes.include? 'devise'
|
32
|
-
unless recipes.include? 'haml'
|
33
|
-
|
34
|
-
# Generate Devise views (unless you are using Haml)
|
35
|
-
run 'rails generate devise:views'
|
36
|
-
|
37
|
-
# Modify Devise views to add 'name'
|
38
|
-
inject_into_file "app/views/devise/registrations/edit.html.erb", :after => "<%= devise_error_messages! %>\n" do
|
39
|
-
<<-ERB
|
40
|
-
<p><%= f.label :name %><br />
|
41
|
-
<%= f.text_field :name %></p>
|
42
|
-
ERB
|
43
|
-
end
|
44
|
-
|
45
|
-
inject_into_file "app/views/devise/registrations/new.html.erb", :after => "<%= devise_error_messages! %>\n" do
|
46
|
-
<<-ERB
|
47
|
-
<p><%= f.label :name %><br />
|
48
|
-
<%= f.text_field :name %></p>
|
49
|
-
ERB
|
50
|
-
end
|
51
|
-
|
52
|
-
else
|
53
|
-
|
54
|
-
# copy Haml versions of modified Devise views
|
55
|
-
inside 'app/views/devise' do
|
56
|
-
get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/rails3-mongoid-devise/app/views/devise/_links.erb', '_links.erb'
|
57
|
-
end
|
58
|
-
inside 'app/views/devise/registrations' do
|
59
|
-
get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/rails3-mongoid-devise/app/views/devise/registrations/edit.html.haml', 'edit.html.haml'
|
60
|
-
get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/rails3-mongoid-devise/app/views/devise/registrations/new.html.haml', 'new.html.haml'
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
|
69
|
-
__END__
|
70
|
-
|
71
|
-
name: AddUserName
|
72
|
-
description: "Modify the default Devise configuration to add a 'name' attribute for all users."
|
73
|
-
author: RailsApps
|
74
|
-
|
75
|
-
requires: [devise]
|
76
|
-
category: other
|
77
|
-
tags: [utilities, configuration]
|