Sha256: 83bcf6c3995d64f5ae3ebb4f564af66c35dac9517c311fa2f8cd015cb585e176

Contents?: true

Size: 501 Bytes

Versions: 2

Compression:

Stored size: 501 Bytes

Contents

module Plotline
  class BasePresenter
    def initialize(object, template)
      @object = object
      @template = template
    end

    private

    def self.presents(name)
      define_method(name) do
        @object
      end
    end

    def h
      @template
    end

    def method_missing(*args, &block)
      # this is probably too hacky
      if @object.respond_to?(args.first)
        @object.send(*args, &block)
      else
        @template.send(*args, &block)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
plotline-0.1.1 app/presenters/plotline/base_presenter.rb
plotline-0.1.0 app/presenters/plotline/base_presenter.rb