mirror of
https://github.com/heartcombo/devise.git
synced 2026-01-09 14:58:05 -05:00
Creating helpers module and link helpers.
This commit is contained in:
14
app/helpers/devise_helper.rb
Normal file
14
app/helpers/devise_helper.rb
Normal file
@@ -0,0 +1,14 @@
|
||||
module DeviseHelper
|
||||
|
||||
def link_to_sign_in
|
||||
link_to 'Sign in', new_session_path
|
||||
end
|
||||
|
||||
def link_to_new_password
|
||||
link_to 'Forgot password?', new_password_path
|
||||
end
|
||||
|
||||
def link_to_new_confirmation
|
||||
link_to 'Didn\'t receive confirmation instructions?', new_confirmation_path
|
||||
end
|
||||
end
|
||||
@@ -8,4 +8,4 @@
|
||||
<p class="submit"><%= f.submit "Resend confirmation instructions" %></p>
|
||||
<% end %>
|
||||
|
||||
<%= link_to 'Sign in', new_session_path %>
|
||||
<%= link_to_sign_in %> | <%= link_to_new_password %>
|
||||
|
||||
@@ -10,3 +10,5 @@
|
||||
<p><%= f.password_field :password_confirmation %></p>
|
||||
<p class="submit"><%= f.submit "Change my password" %></p>
|
||||
<% end %>
|
||||
|
||||
<%= link_to_sign_in %> | <%= link_to_new_confirmation %>
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
<p class="submit"><%= f.submit "Send me reset password instructions" %></p>
|
||||
<% end %>
|
||||
|
||||
<%= link_to 'Sign in', new_session_path %>
|
||||
<%= link_to_sign_in %> | <%= link_to_new_confirmation %>
|
||||
|
||||
@@ -10,5 +10,4 @@
|
||||
<p class='submit'><%= f.submit 'Sign In' %></p>
|
||||
<% end -%>
|
||||
|
||||
<%= link_to "Forgot password?", new_password_path %>
|
||||
<%= link_to "Didn't receive confirmation instructions?", new_confirmation_path %>
|
||||
<%= link_to_new_password %> | <%= link_to_new_confirmation %>
|
||||
|
||||
7
init.rb
7
init.rb
@@ -1,2 +1,9 @@
|
||||
require 'devise'
|
||||
|
||||
# Configures a preparation callback to include devise authenticable module and
|
||||
# view helpers (engines don't load helpers by default)
|
||||
#config.to_prepare do
|
||||
# ActionController::Base.send :include, Devise::Controllers::Authenticable
|
||||
# ActionView::Base.send :include, DeviseHelper
|
||||
## ApplicationController.helper(DeviseHelper)
|
||||
#end
|
||||
|
||||
@@ -19,6 +19,5 @@ require 'devise/models/confirmable'
|
||||
require 'devise/models/recoverable'
|
||||
require 'devise/models/validatable'
|
||||
|
||||
class ActionController::Base
|
||||
include Devise::Controllers::Authenticable
|
||||
end
|
||||
ActionController::Base.send :include, Devise::Controllers::Authenticable
|
||||
ActionView::Base.send :include, DeviseHelper
|
||||
|
||||
16
test/helpers/devise_helper_test.rb
Normal file
16
test/helpers/devise_helper_test.rb
Normal file
@@ -0,0 +1,16 @@
|
||||
require 'test_helper'
|
||||
|
||||
class DeviseHelperTest < ActionView::TestCase
|
||||
|
||||
test 'should generate a link to sign in' do
|
||||
assert_equal %[<a href="#{new_session_path}">Sign in</a>], link_to_sign_in
|
||||
end
|
||||
|
||||
test 'should generate a link to forgot password' do
|
||||
assert_equal %[<a href="#{new_password_path}">Forgot password?</a>], link_to_new_password
|
||||
end
|
||||
|
||||
test 'should generate a link to confirmation instructions' do
|
||||
assert_equal %[<a href="#{new_confirmation_path}">Didn't receive confirmation instructions?</a>], link_to_new_confirmation
|
||||
end
|
||||
end
|
||||
@@ -1,108 +0,0 @@
|
||||
# Shoulda model builder
|
||||
#
|
||||
class ActiveSupport::TestCase
|
||||
def create_table(table_name, &block)
|
||||
connection = ActiveRecord::Base.connection
|
||||
|
||||
begin
|
||||
connection.execute("DROP TABLE IF EXISTS #{table_name}")
|
||||
connection.create_table(table_name, &block)
|
||||
@created_tables ||= []
|
||||
@created_tables << table_name
|
||||
connection
|
||||
rescue Exception => e
|
||||
connection.execute("DROP TABLE IF EXISTS #{table_name}")
|
||||
raise e
|
||||
end
|
||||
end
|
||||
|
||||
def define_constant(class_name, base, &block)
|
||||
class_name = class_name.to_s.camelize
|
||||
|
||||
klass = Class.new(base)
|
||||
Object.const_set(class_name, klass)
|
||||
|
||||
klass.class_eval(&block) if block_given?
|
||||
|
||||
@defined_constants ||= []
|
||||
@defined_constants << class_name
|
||||
|
||||
klass
|
||||
end
|
||||
|
||||
def define_model_class(class_name, &block)
|
||||
define_constant(class_name, ActiveRecord::Base, &block)
|
||||
end
|
||||
|
||||
def define_model(name, columns = {}, &block)
|
||||
class_name = name.to_s.pluralize.classify
|
||||
table_name = class_name.tableize
|
||||
|
||||
create_table(table_name) do |table|
|
||||
columns.each do |name, type|
|
||||
table.column name, type
|
||||
end
|
||||
end
|
||||
|
||||
define_model_class(class_name, &block)
|
||||
end
|
||||
|
||||
def define_controller(class_name, &block)
|
||||
class_name = class_name.to_s
|
||||
class_name << 'Controller' unless class_name =~ /Controller$/
|
||||
define_constant(class_name, ActionController::Base, &block)
|
||||
end
|
||||
|
||||
def define_routes(&block)
|
||||
@replaced_routes = ActionController::Routing::Routes
|
||||
new_routes = ActionController::Routing::RouteSet.new
|
||||
silence_warnings do
|
||||
ActionController::Routing.const_set('Routes', new_routes)
|
||||
end
|
||||
new_routes.draw(&block)
|
||||
end
|
||||
|
||||
def build_response(&block)
|
||||
klass = define_controller('Examples')
|
||||
block ||= lambda { render :nothing => true }
|
||||
klass.class_eval { define_method(:example, &block) }
|
||||
define_routes do |map|
|
||||
map.connect 'examples', :controller => 'examples', :action => 'example'
|
||||
end
|
||||
|
||||
@controller = klass.new
|
||||
@request = ActionController::TestRequest.new
|
||||
@response = ActionController::TestResponse.new
|
||||
get :example
|
||||
|
||||
@controller
|
||||
end
|
||||
|
||||
def teardown_with_models
|
||||
if @defined_constants
|
||||
@defined_constants.each do |class_name|
|
||||
Object.send(:remove_const, class_name)
|
||||
end
|
||||
end
|
||||
|
||||
if @created_tables
|
||||
@created_tables.each do |table_name|
|
||||
ActiveRecord::Base.
|
||||
connection.
|
||||
execute("DROP TABLE IF EXISTS #{table_name}")
|
||||
end
|
||||
end
|
||||
|
||||
if @replaced_routes
|
||||
ActionController::Routing::Routes.clear!
|
||||
silence_warnings do
|
||||
ActionController::Routing.const_set('Routes', @replaced_routes)
|
||||
end
|
||||
@replaced_routes.reload!
|
||||
end
|
||||
|
||||
teardown_without_models
|
||||
end
|
||||
alias_method :teardown_without_models, :teardown
|
||||
alias_method :teardown, :teardown_with_models
|
||||
end
|
||||
@@ -8,10 +8,9 @@ require 'webrat'
|
||||
require 'assertions_helper'
|
||||
require 'models_helper'
|
||||
require 'integration_tests_helper'
|
||||
require 'model_builder'
|
||||
|
||||
ActiveSupport::Dependencies.load_paths << File.expand_path(File.dirname(__FILE__) + '/../lib')
|
||||
require_dependency 'devise'
|
||||
#ActiveSupport::Dependencies.load_paths << File.expand_path(File.dirname(__FILE__) + '/..')
|
||||
#require_dependency 'devise'
|
||||
|
||||
ActionMailer::Base.delivery_method = :test
|
||||
ActionMailer::Base.perform_deliveries = true
|
||||
|
||||
Reference in New Issue
Block a user