Sha256: 739eead6dc9b5490174cb575639628be3242b3564e14373ac0c80864f0908a63
Contents?: true
Size: 1.03 KB
Versions: 3
Compression:
Stored size: 1.03 KB
Contents
module Tap module Generator module Helpers attr_reader :helper_registry def helpers return @helpers if @helpers helpers = [] ancestors.each do |ancestor| next unless ancestor.kind_of?(Helpers) helpers.concat ancestor.helper_registry end helpers end def cache_helpers(on=true) @helpers = nil @helpers = self.helpers if on end protected def helper(const_name='helper', &block) helper = Module.new(&block) const_set(const_name.to_s.camelize, helper) if const_name helper_registry << helper helper end private def self.initialize(base) base.instance_variable_set(:@helper_registry, []) base.instance_variable_set(:@helpers, nil) end def self.extended(base) Helpers.initialize(base) end def inherited(base) super Helpers.initialize(base) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tap-gen-0.8.0 | lib/tap/generator/helpers.rb |
tap-gen-0.7.1 | lib/tap/generator/helpers.rb |
tap-gen-0.7.0 | lib/tap/generator/helpers.rb |