lib/focused_controller/mixin.rb in focused_controller-0.1.0 vs lib/focused_controller/mixin.rb in focused_controller-0.2.0

- old
+ new

@@ -18,10 +18,32 @@ end def call(env) action(FocusedController.action_name).call(env) end + + 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 + + def controller_name + name.split('::')[-2].sub(/Controller$/, '').underscore + end end def action_name self.class.name.demodulize.underscore end @@ -36,9 +58,9 @@ else {} end end - def run + def call end end end