Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
started working on the bootstrapping generator
- Loading branch information
Graeme Nelson
committed
Aug 16, 2010
1 parent
51ab94e
commit b207998
Showing
15 changed files
with
205 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
.DS_Store | ||
testrun.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
require 'rails/generators/named_base' | ||
|
||
module Bootstrap | ||
module Generators | ||
class Base < Rails::Generators::NamedBase #:nodoc: | ||
def self.source_root | ||
@_bootstrap_girl_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'bootstrap', generator_name, 'templates')) | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
require 'generators/bootstrap' | ||
|
||
module Bootstrap | ||
module Generators | ||
class SetupGenerator < Base | ||
desc "Description:\n Sets up the initial application with devise as the underlying authentication system." | ||
class_option :email, :type => :string, :default => "admin@site.com", :desc => "The initial admin account email" | ||
class_option :password, :type => :string, :default => "password", :desc => "The initial admin account password" | ||
|
||
def setup_devise | ||
# install other packages we need | ||
generate "devise:install", "installing devise" | ||
generate "devise #{name}" | ||
generate "formtastic:install" | ||
|
||
resource = name.tableize | ||
|
||
# TODO: need to add a root path, for admin it should go to dashboard??? | ||
route = <<-ROUTE | ||
devise_for :#{resource}, :path_names => { :sign_in => 'signin', :sign_out => 'signout' } | ||
as :#{resource.singularize} do | ||
get "/signin" => "devise/sessions#new" | ||
get "/signout" => "devise/sessions#destroy" | ||
end | ||
ROUTE | ||
|
||
gsub_file "config/routes.rb", "devise_for :#{resource}", route | ||
|
||
# devise forms with formtastic support. | ||
run "cp -r #{self.class.source_root}/devise #{Rails.root}/app/views/" | ||
|
||
rake "db:migrate" | ||
|
||
# create initial admin account | ||
# TODO: need to add super_user/admin role, after we add CanCan | ||
email = options[:email] | ||
password = options[:password] | ||
admin = "Account.create!(:email => '#{email}', :password => '#{password}', :password_confirmation => '#{password}')" | ||
run "rails runner \"#{admin}\"" | ||
|
||
|
||
# TODO: update other devise templates to use Formtastic | ||
# TODO: setup i18n file for Formtastic | ||
|
||
|
||
|
||
#rake "test" | ||
end | ||
|
||
def self.banner | ||
"rails generate bootstrap:#{generator_name} <account_class_name> [options]" | ||
end | ||
|
||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
%h2 Resend confirmation instructions | ||
= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| | ||
= devise_error_messages! | ||
%p | ||
= f.label :email | ||
%br/ | ||
= f.text_field :email | ||
%p= f.submit "Resend confirmation instructions" | ||
= render :partial => "devise/shared/links" |
4 changes: 4 additions & 0 deletions
4
bootstrap/setup/templates/devise/mailer/confirmation_instructions.html.haml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
%p | ||
Welcome #{@resource.email}! | ||
%p You can confirm your account through the link below: | ||
%p= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) |
6 changes: 6 additions & 0 deletions
6
bootstrap/setup/templates/devise/mailer/reset_password_instructions.html.haml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
%p | ||
Hello #{@resource.email}! | ||
%p Someone has requested a link to change your password, and you can do this through the link below. | ||
%p= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) | ||
%p If you didn't request this, please ignore this email. | ||
%p Your password won't change until you access the link above and create a new one. |
5 changes: 5 additions & 0 deletions
5
bootstrap/setup/templates/devise/mailer/unlock_instructions.html.haml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
%p | ||
Hello #{@resource.email}! | ||
%p Your account has been locked due to an excessive amount of unsuccessful sign in attempts. | ||
%p Click the link below to unlock your account: | ||
%p= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
%h2 Change your password | ||
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| | ||
= devise_error_messages! | ||
= f.hidden_field :reset_password_token | ||
%p | ||
= f.label :password | ||
%br/ | ||
= f.password_field :password | ||
%p | ||
= f.label :password_confirmation | ||
%br/ | ||
= f.password_field :password_confirmation | ||
%p= f.submit "Change my password" | ||
= render :partial => "devise/shared/links" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
%h2 Forgot your password? | ||
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| | ||
= devise_error_messages! | ||
%p | ||
= f.label :email | ||
%br/ | ||
= f.text_field :email | ||
%p= f.submit "Send me reset password instructions" | ||
= render :partial => "devise/shared/links" |
27 changes: 27 additions & 0 deletions
27
bootstrap/setup/templates/devise/registrations/edit.html.haml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
%h2 | ||
Edit #{resource_name.to_s.humanize} | ||
= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| | ||
= devise_error_messages! | ||
%p | ||
= f.label :email | ||
%br/ | ||
= f.text_field :email | ||
%p | ||
= f.label :password | ||
%i (leave blank if you don't want to change it) | ||
%br/ | ||
= f.password_field :password | ||
%p | ||
= f.label :password_confirmation | ||
%br/ | ||
= f.password_field :password_confirmation | ||
%p | ||
= f.label :current_password | ||
%i (we need your current password to confirm your changes) | ||
%br/ | ||
= f.password_field :current_password | ||
%p= f.submit "Update" | ||
%h3 Cancel my account | ||
%p | ||
Unhappy? #{link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete}. | ||
= link_to "Back", :back |
17 changes: 17 additions & 0 deletions
17
bootstrap/setup/templates/devise/registrations/new.html.haml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
%h2 Sign up | ||
= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| | ||
= devise_error_messages! | ||
%p | ||
= f.label :email | ||
%br/ | ||
= f.text_field :email | ||
%p | ||
= f.label :password | ||
%br/ | ||
= f.password_field :password | ||
%p | ||
= f.label :password_confirmation | ||
%br/ | ||
= f.password_field :password_confirmation | ||
%p= f.submit "Sign up" | ||
= render :partial => "devise/shared/links" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
%h2 Sign in | ||
= semantic_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |form| | ||
-form.inputs do | ||
=form.input :email | ||
=form.input :password | ||
- if devise_mapping.rememberable? | ||
=form.input :remember_me | ||
-form.buttons do | ||
=form.commit_button | ||
|
||
= render :partial => "devise/shared/links" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
- if controller_name != 'sessions' | ||
= link_to "Sign in", new_session_path(resource_name) | ||
%br/ | ||
- if devise_mapping.registerable? && controller_name != 'registrations' | ||
= link_to "Sign up", new_registration_path(resource_name) | ||
%br/ | ||
- if devise_mapping.recoverable? && controller_name != 'passwords' | ||
= link_to "Forgot your password?", new_password_path(resource_name) | ||
%br/ | ||
- if devise_mapping.confirmable? && controller_name != 'confirmations' | ||
= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) | ||
%br/ | ||
- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' | ||
= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) | ||
%br/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
%h2 Resend unlock instructions | ||
= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| | ||
= devise_error_messages! | ||
%p | ||
= f.label :email | ||
%br/ | ||
= f.text_field :email | ||
%p= f.submit "Resend unlock instructions" | ||
= render :partial => "devise/shared/links" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters