Sha256: 99344312b2e94f5192e8c42fa5982db9e44bf28bbd4f47be3189dc1a3606e776
Contents?: true
Size: 979 Bytes
Versions: 4
Compression:
Stored size: 979 Bytes
Contents
module Yoda module Store module Objects class ValueObject < Base class Connected < Base::Connected delegate_to_object :value end # @return [String] attr_reader :value # @return [Array<Symbol>] def self.attr_names super + %i(value) end # @param path [String] # @param value [String] def initialize(value: nil, **kwargs) super(**kwargs) @value = value end # @return [String] def name @name ||= path.match(MODULE_TAIL_PATTERN) { |md| md[1] || md[2] } end def kind :value end def to_h super.merge(value: value) end private # @param another [self] # @return [Hash] def merge_attributes(another) super.merge( value: another.value || self.value, ) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems