Module: Scorpion::Rails::Controller
- Defined in:
- lib/scorpion/rails/controller.rb
Overview
Adds a scorpion nest to support injection into rails controllers.
Constant Summary collapse
- ENV_KEY =
"scorpion.instance".freeze
Class Method Summary collapse
Class Method Details
.scorpion ⇒ Scorpion .scorpion(scope) ⇒ ActiveRecord::Relation
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/scorpion/rails/controller.rb', line 27 def self.included( base ) # Setup dependency injection base.send :include, Scorpion::Object base.send :include, Scorpion::Rails::Nest base.around_action :with_scorpion base.class_eval do if respond_to?( :helper_method ) helper_method :scorpion end # Defined here to override the #scorpion method provided by Scorpion::Object. def scorpion( scope = nil ) if scope super else ensure_scorpion( request.env[ENV_KEY] ) end end end super end |