Sha256: d8fb66e1fca4adb9356a6c521469946c6fb9e5f2d295a4638d9c9f3ef1e74c84
Contents?: true
Size: 882 Bytes
Versions: 3
Compression:
Stored size: 882 Bytes
Contents
require 'active_support/inflector' module BasicPresenter module Concern def presenter if @presenter_class.nil? @old_presenter_class = self.presenter_class = presenter_class return @presenter = presenter_class.new(self) end return @presenter if presenter_class_not_changed? @presenter = presenter_class.new(self) @old_presenter_class = @presenter_class @presenter end def default_presenter "#{self.class}Presenter".constantize end def presenter_class @presenter_class || default_presenter end def presenter_class=(vd) @old_presenter_class = @presenter_class @presenter_class = vd end def presenter_class_changed? !(presenter_class_not_changed?) end def presenter_class_not_changed? (@old_presenter_class == @presenter_class) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
basic_presenter-0.0.4 | lib/basic_presenter/concern.rb |
basic_presenter-0.0.3 | lib/basic_presenter/concern.rb |
basic_presenter-0.0.2 | lib/basic_presenter/concern.rb |