Sha256: c8789d6da181456fb3f83f1991b3e0c914d2d7fb422d898d8b0a1cd673841813
Contents?: true
Size: 898 Bytes
Versions: 1
Compression:
Stored size: 898 Bytes
Contents
require 'singleton' module Sym module Configurable def self.included(base) base.instance_eval do include Singleton class << self include Sym::Configurable::ClassMethods end end end module ClassMethods def config instance end def configure yield config if block_given? config end def defaults! [ self, *self.ancestors ].each do |klazz| next unless klazz.is_a?(Class) if klazz.const_defined?(:DEFAULTS) default_proc = self.const_get(:DEFAULTS) if default_proc.respond_to?(:call) configure(&default_proc) end end end end def property(prop_name) config.send(prop_name) end alias_method :prop, :property alias_method :[], :property end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sym-crypt-1.1.1 | lib/sym/configurable.rb |