Module: Plover::Concern
- Defined in:
- lib/plover.rb
Class Method Summary collapse
Instance Method Summary collapse
- #apply_concern(base) ⇒ Object
- #class_methods(&block) ⇒ Object
- #included(base = nil, &block) ⇒ Object
Class Method Details
.extended(base) ⇒ Object
12 13 14 |
# File 'lib/plover.rb', line 12 def self.extended(base) base.instance_variable_set(:@_included_blocks, []) end |
Instance Method Details
#apply_concern(base) ⇒ Object
26 27 28 29 30 |
# File 'lib/plover.rb', line 26 def apply_concern(base) base.extend(const_get(:ClassMethods)) if const_defined?(:ClassMethods) @_included_blocks.each { |blk| base.class_eval(&blk) } base.include(self) end |
#class_methods(&block) ⇒ Object
22 23 24 |
# File 'lib/plover.rb', line 22 def class_methods(&block) const_set(:ClassMethods, Module.new(&block)) end |
#included(base = nil, &block) ⇒ Object
16 17 18 19 20 |
# File 'lib/plover.rb', line 16 def included(base = nil, &block) return unless base.nil? @_included_blocks << block if block_given? end |