Sha256: f550610a41d3ad8695c4712128583c6d871e7dc45724480d39d500e7b6114939
Contents?: true
Size: 513 Bytes
Versions: 24
Compression:
Stored size: 513 Bytes
Contents
class Micon::Core def register_extension name, &block name.must_be.a Symbol block.must_be.defined raise "extension :#{name} already registered!" if extensions.include? name extensions[name] = block end def extension name, target = nil, *args, &default_extension name.must_be.a Symbol if block = extensions[name] || default_extension target ? target.instance_exec(*args, &block) : block.call(*args) end end def extensions; @extensions ||= {} end end
Version data entries
24 entries across 24 versions & 1 rubygems