class Markababy::RailsTemplateContext

Public Class Methods

new(controller) click to toggle source
# File lib/markababy/rails_template_context.rb, line 3
def initialize(controller)
  @controller = controller

  @ivars = @controller.instance_variables.map(&:to_sym)
end

Public Instance Methods

method_missing(sym, *args, &block) click to toggle source
Calls superclass method
# File lib/markababy/rails_template_context.rb, line 13
def method_missing(sym, *args, &block)
  if args.empty? && block.nil? && @ivars.include?(ivar = :"@#{sym}")
    @controller.instance_variable_get(ivar)
  elsif @controller.respond_to?(sym)
    @controller.send(sym, *args, &block)
  else
    super sym, *args, &block
  end
end
respond_to_missing?(sym, include_private = false) click to toggle source
# File lib/markababy/rails_template_context.rb, line 9
def respond_to_missing?(sym, include_private = false)
  @ivars.include?(:"@#{sym}") || @controller.respond_to?(sym)
end