Sha256: 8e6ed19cae3110d3b549d0fc029f2791e6847b907625c0b817df0c8f98392fe5
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
require "easy_presenter/version" require "easy_presenter/base" require "easy_presenter/railtie" module EasyPresenter extend ActiveSupport::Concern included do include_easy_presenter end module ClassMethods def inherited(subclass) include_easy_presenter(subclass) super end protected def include_easy_presenter(klass=self) presenter_class = "#{klass}Presenter".safe_constantize if presenter_class presenter_class.extend ActiveSupport::Concern klass.send :include, presenter_class klass.send :include, Base end presenter_class end end # for the Presenter module only class << self def controller RequestStore.store[:presenter_controller] end def controller=(presenter_controller) RequestStore.store[:presenter_controller] = presenter_controller end end end if defined?(ActiveRecord::Base) ActiveRecord::Base.send :include, EasyPresenter elsif defined?(Mongoid::Document) Mongoid::Document.send :include, EasyPresenter end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
easy_presenter-1.1.0 | lib/easy_presenter.rb |