Sha256: 7c3b8a81499f7d200ea0094cfcca8b2d747ea7a19b3b665d4f3d8f643cedb16d
Contents?: true
Size: 730 Bytes
Versions: 8
Compression:
Stored size: 730 Bytes
Contents
# TODO: allow default: -> for hashes, etc. module Disposable::Twin::Default def setup_value_for(dfn, options) value = super return value unless value.nil? default_for(dfn, options) end def default_for(dfn, options) # TODO: introduce Null object in Declarative::Definition#[]. # dfn[:default].(self) # dfn#[] should return a Null object here if empty. return unless dfn[:default] dfn[:default].(self) end module ClassMethods private def build_definition(name, options={}, &block) options = options.merge(default: Uber::Options::Value.new(options[:default])) if options[:default] super end end def self.included(includer) includer.extend ClassMethods end end
Version data entries
8 entries across 8 versions & 1 rubygems