module Smelter::Extendable::ClassMethods
Public Instance Methods
define(extension_id, &block)
click to toggle source
# File lib/smelter/extendable.rb, line 46 def define(extension_id, &block) definition_proxy = DefinitionProxy.new(extension_id) definition_proxy.instance_eval(&block) end
register(extension_id, &block)
click to toggle source
# File lib/smelter/extendable.rb, line 41 def register(extension_id, &block) @registry ||= ThreadSafe::Cache.new @registry[extension_id.to_s] = block end
register_all()
click to toggle source
# File lib/smelter/extendable.rb, line 30 def register_all self.find_each do |extension| next if registry[extension.id] extension.register end end
registry()
click to toggle source
# File lib/smelter/extendable.rb, line 37 def registry @registry ||= ThreadSafe::Cache.new end