Sha256: 20d5b883fa9a6c824c9805160dd6724fd6cdb3b2f9aca91d4f57a61d239a4f8d
Contents?: true
Size: 546 Bytes
Versions: 18
Compression:
Stored size: 546 Bytes
Contents
module PushType module Presentable extend ActiveSupport::Concern def presenter_class self.class.presenter_class end def present!(context = nil) presenter_class.new(self, context) end module ClassMethods def presenter_class_name "#{ self.name.demodulize }Presenter" end def presenter_class self.parent.const_get presenter_class_name rescue NameError self.parent.const_set presenter_class_name, Class.new(PushType::Presenter) end end end end
Version data entries
18 entries across 18 versions & 1 rubygems