Module: FocusedController::Mixin::ClassMethods
- Defined in:
- lib/focused_controller/mixin.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
- #controller_name ⇒ Object
- #expose(name, &block) ⇒ Object
- #focused_controller_path ⇒ Object
Instance Method Details
#call(env) ⇒ Object
20 21 22 |
# File 'lib/focused_controller/mixin.rb', line 20 def call(env) action(FocusedController.action_name).call(env) end |
#controller_name ⇒ Object
42 43 44 |
# File 'lib/focused_controller/mixin.rb', line 42 def controller_name name.split('::')[-2].sub(/Controller$/, '').underscore end |
#expose(name, &block) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/focused_controller/mixin.rb', line 24 def expose(name, &block) if block_given? define_method(name) do |*args| ivar = "@#{name}" if instance_variable_defined?(ivar) instance_variable_get(ivar) else instance_variable_set(ivar, instance_exec(block, *args, &block)) end end else attr_reader name end helper_method name end |
#focused_controller_path ⇒ Object
16 17 18 |
# File 'lib/focused_controller/mixin.rb', line 16 def focused_controller_path @focused_controller_path ||= name && name.sub(/\:\:[^\:]+$/, '').sub(/Controller$/, '').underscore end |