Sha256: c346bbf0e9659ccba0465927cb4292d846cac0d7f0e64f967647671b029f74da
Contents?: true
Size: 574 Bytes
Versions: 5
Compression:
Stored size: 574 Bytes
Contents
module SoberSwag module Nodes ## # Root node of the tree class Primitive < Base def initialize(value, metadata = {}) @value = value @metadata = metadata end attr_reader :value, :metadata def map(&block) self.class.new(block.call(value), metadata.dup) end def deconstruct [value, metadata] end def deconstruct_keys(_) { value: value, metadata: metadata } end def cata(&block) block.call(self.class.new(value, metadata)) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems