Sha256: b291a577cd00e58255ff395bd200505bb5fe6fd9aaa4e1a02b2719b59823ff96

Contents?: true

Size: 830 Bytes

Versions: 10

Compression:

Stored size: 830 Bytes

Contents

require_relative 'base/delegate_all_to.rb'
require_relative 'base/delegate_to_controller.rb'

module MetaPresenter

  # Base presenter class. Inherit from this it in order 
  # to get a presenter you can use in your views
  # 
  # @example
  #
  #   # app/presenters/application_presenter.rb 
  #   class ApplicationPresenter < MetaPresenter::Base
  #     def message
  #       "Hello"
  #     end
  #   end
  class Base
    include DelegateToController
    # Comes last so `delegate_all_to` takes priority 
    # over default controller actions
    include DelegateAllTo

    # Displayed in errors involving the presenter
    # 
    # @return [String] Brief description of this presenter as its class name
    def inspect
      # Concise to not dump too much information on the dev
      "#<#{self.class.name}>"
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
meta_presenter-2.0.0 lib/meta_presenter/base.rb
meta_presenter-1.0.1 lib/meta_presenter/base.rb
meta_presenter-1.0.0 lib/meta_presenter/base.rb
meta_presenter-0.2.4 lib/meta_presenter/base.rb
meta_presenter-0.2.3 lib/meta_presenter/base.rb
meta_presenter-0.2.2 lib/meta_presenter/base.rb
meta_presenter-0.2.1 lib/meta_presenter/base.rb
meta_presenter-0.2.0 lib/meta_presenter/base.rb
meta_presenter-0.1.6 lib/meta_presenter/base.rb
meta_presenter-0.1.5 lib/meta_presenter/base.rb