Sha256: c0b89060221b41ef3421031a87f961cf0f7b6a36c191f4244d01c82633e700b6
Contents?: true
Size: 664 Bytes
Versions: 1
Compression:
Stored size: 664 Bytes
Contents
# frozen_string_literal: true module Solid::Value module ClassMethods UNDEFINED = ::Object.new def new(value = UNDEFINED) return value if value.is_a?(self) UNDEFINED.equal?(value) ? super() : super(value: value) end def attribute(...) super(:value, ...) end def validates(...) super(:value, ...) end end def self.included(subclass) subclass.include Solid::Model subclass.extend ClassMethods subclass.attribute end def ==(other) other.is_a?(self.class) && other.value == value end def hash value.hash end def to_s value.to_s end alias_method :eql?, :== end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solid-process-0.4.0 | lib/solid/value.rb |