Class: Decoding::Decoders::Succeed

Inherits:
Decoding::Decoder show all
Defined in:
lib/decoding/decoders/succeed.rb

Overview

A decoder that always succeeds with a predetermined value, ignoring any input. This is useful for providing default values or as a building block in decoder composition.

Examples:

Always return a fixed value

decode(Succeed.new(5), "anything") # => Decoding::Ok(5)

Use with field to provide defaults

decode(any(field("x", integer), Succeed.new(0)), {})
# => Decoding::Ok(0)

Instance Method Summary collapse

Methods inherited from Decoding::Decoder

#failure, #to_decoder

Constructor Details

#initialize(value) ⇒ Succeed

Returns a new instance of Succeed.

Parameters:

  • value (Object)

    the value to always return



19
20
21
22
# File 'lib/decoding/decoders/succeed.rb', line 19

def initialize(value)
  @value = value
  super()
end

Instance Method Details

#call(_value) ⇒ Decoding::Result<Object>

Parameters:

  • _value (Object)

    ignored input

Returns:



26
# File 'lib/decoding/decoders/succeed.rb', line 26

def call(_value) = ok(@value)