Module: Dry::Types::Meta
- Included in:
- Composition, Nominal
- Defined in:
- lib/dry/types/meta.rb
Overview
Storage for meta-data
Instance Method Summary collapse
- #initialize(*args, meta: EMPTY_HASH, **options) ⇒ Object
- #meta(data = Undefined) ⇒ Object
-
#pristine ⇒ Dry::Types::Type
Resets meta.
- #with(**options) ⇒ Type
Instance Method Details
#initialize(*args, meta: EMPTY_HASH, **options) ⇒ Object
9 10 11 12 |
# File 'lib/dry/types/meta.rb', line 9 def initialize(*args, meta: EMPTY_HASH, **) super(*args, **) = .freeze end |
#meta ⇒ Hash #meta(data) ⇒ Type
35 36 37 38 39 40 41 42 43 |
# File 'lib/dry/types/meta.rb', line 35 def (data = Undefined) if Undefined.equal?(data) elsif data.empty? self else with(meta: .merge(data)) end end |
#pristine ⇒ Dry::Types::Type
Resets meta
50 |
# File 'lib/dry/types/meta.rb', line 50 def pristine = with(meta: EMPTY_HASH) |
#with(**options) ⇒ Type
19 20 21 22 23 24 25 |
# File 'lib/dry/types/meta.rb', line 19 def with(**) if .empty? self else super(meta: , **) end end |