Sha256: 7e0de12529dcae6036198d0be67a6a6a70c04791e8b8a7007b65be043c235d97
Contents?: true
Size: 910 Bytes
Versions: 2
Compression:
Stored size: 910 Bytes
Contents
motion_require 'from_callable' module Virtus class Attribute class DefaultValue # Represents default value evaluated via a symbol # # @api private class FromSymbol < DefaultValue # Return if the class can handle the value # # @param [Object] value # # @return [Boolean] # # @api private def self.handle?(value) value.is_a?(::Symbol) end # Evaluates the value via instance#public_send(value) # # Symbol value is returned if the instance doesn't respond to value # # @return [Object] evaluated value # # @api private def call(instance, *) instance.respond_to?(@value, true) ? instance.send(@value) : @value end end # class FromSymbol end # class DefaultValue end # class Attribute end # module Virtus
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
motion_virtus-1.0.0.beta0.1 | lib/project/attribute/default_value/from_symbol.rb |
motion_virtus-1.0.0.beta0 | lib/project/attribute/default_value/from_symbol.rb |