Module: FocusedController::Mixin::ClassMethods

Defined in:
lib/focused_controller/mixin.rb

Instance Method Summary collapse

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_nameObject



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_pathObject



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