Skip to content

Commit

Permalink
Simplify railtie
Browse files Browse the repository at this point in the history
  • Loading branch information
haines committed Nov 15, 2012
1 parent c94479a commit 606cfeb
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 29 deletions.
35 changes: 14 additions & 21 deletions lib/draper/railtie.rb
Expand Up @@ -3,49 +3,42 @@
module ActiveModel
class Railtie < Rails::Railtie
generators do |app|
Rails::Generators.configure!(app.config.generators)
require "generators/resource_override"
Rails::Generators.configure! app.config.generators
require 'generators/resource_override'
end
end
end

module Draper
class Railtie < Rails::Railtie

##
# The `app/decorators` path is eager loaded
#
# This is the standard "Rails Way" to add paths from which constants
# can be loaded.
#
config.after_initialize do |app|
app.config.paths.add 'app/decorators', :eager_load => true
app.config.paths.add 'app/decorators', eager_load: true
end

initializer "draper.extend_action_controller_base" do |app|
ActiveSupport.on_load(:action_controller) do
Draper.setup_action_controller(self)
initializer "draper.setup_action_controller" do |app|
ActiveSupport.on_load :action_controller do
Draper.setup_action_controller self
end
end

initializer "draper.extend_action_mailer_base" do |app|
ActiveSupport.on_load(:action_mailer) do
Draper.setup_action_mailer(self)
initializer "draper.setup_action_mailer" do |app|
ActiveSupport.on_load :action_mailer do
Draper.setup_action_mailer self
end
end

initializer "draper.extend_active_record_base" do |app|
ActiveSupport.on_load(:active_record) do
Draper.setup_active_record(self)
initializer "draper.setup_active_record" do |app|
ActiveSupport.on_load :active_record do
Draper.setup_active_record self
end
end

console do
require 'action_controller/test_case'
ApplicationController.new.view_context
Draper::ViewContext.current.controller.request ||= ActionController::TestRequest.new
Draper::ViewContext.current.request ||= Draper::ViewContext.current.controller.request
Draper::ViewContext.current.params ||= {}
Draper::ViewContext.build_view_context
end

end
end
14 changes: 6 additions & 8 deletions lib/draper/view_context.rb
@@ -1,5 +1,11 @@
module Draper
module ViewContext
def view_context
super.tap do |context|
Draper::ViewContext.current = context
end
end

def self.current_controller
Thread.current[:current_controller] || ApplicationController.new
end
Expand All @@ -16,14 +22,6 @@ def self.current=(context)
Thread.current[:current_view_context] = context
end

def view_context
super.tap do |context|
Draper::ViewContext.current = context
end
end

private

def self.build_view_context
current_controller.view_context.tap do |context|
if defined?(ActionController::TestRequest)
Expand Down

0 comments on commit 606cfeb

Please sign in to comment.