Sha256: 3feb084fe80789a0e9ace4c77041694ee3ecf621f9b64371b81d97d7501d9398

Contents?: true

Size: 556 Bytes

Versions: 3

Compression:

Stored size: 556 Bytes

Contents

module WIP::Runner::Renderer
  class Helper
    def self.for(context, mod)
      self.new(context, mod)
    end

    def initialize(context, mod)
      self.instance_eval { extend mod }
      @context = context
    end

    protected

    def method_missing(method_name, *args, &block)
      if @context.respond_to?(method_name)
        @context.send(method_name, *args, &block)
      else
        super
      end
    end

    def respond_to_missing?(method_name, include_private = false)
      @context.respond_to?(method_name) || super
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
wip-runner-0.4.1 lib/wip/runner/renderer/helper.rb
wip-runner-0.4.0 lib/wip/runner/renderer/helper.rb
wip-runner-0.3.4 lib/wip/runner/renderer/helper.rb