Sha256: fb7555df298f65f4407a94e4ae4985b4f1fb65e88a0367b18092d67dee569390

Contents?: true

Size: 574 Bytes

Versions: 2

Compression:

Stored size: 574 Bytes

Contents

module Bourgeois
  class Presenter < ::SimpleDelegator
    def initialize(object, view)
      @view = view
      super(@object = object)
    end

    def inspect
      "#<#{self.class} object=#{@object.inspect}>"
    end

    def kind_of?(mod)
      @object.kind_of?(mod)
    end

    def self.model_name
      klass.model_name
    end

    def self.human_attribute_name(*args)
      klass.human_attribute_name(*args)
    end

  private

    def view
      @view
    end

    def self.klass
      @klass ||= self.name.split(/Presenter$/).first.constantize
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bourgeois-0.1 lib/bourgeois/presenter.rb
bourgeois-0.0.1 lib/bourgeois/presenter.rb