Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Simplify railtie #342

Merged
merged 1 commit into from

2 participants

@haines
Collaborator

We can use the build_view_context method in the railtie to keep it DRY.

@steveklabnik steveklabnik merged commit dca010c into drapergem:master
@steveklabnik

Been meaning to do this, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Nov 15, 2012
  1. @haines

    Simplify railtie

    haines authored
This page is out of date. Refresh to see the latest.
Showing with 20 additions and 29 deletions.
  1. +14 −21 lib/draper/railtie.rb
  2. +6 −8 lib/draper/view_context.rb
View
35 lib/draper/railtie.rb
@@ -3,8 +3,8 @@
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
@@ -12,40 +12,33 @@ class Railtie < Rails::Railtie
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
View
14 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
@@ -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)
Something went wrong with that request. Please try again.