Class: Morpher::Transform::Primitive

Inherits:
Morpher::Transform show all
Defined in:
lib/morpher/transform.rb

Overview

Transform guarding a specific primitive

Constant Summary collapse

MESSAGE =
'Expected: %<expected>s but got: %<actual>s'

Instance Method Summary collapse

Methods inherited from Morpher::Transform

#array, #maybe, #seq

Instance Method Details

#call(input) ⇒ Either<Error, Object>

Apply transformation to input

Parameters:

  • input (Object)

Returns:



207
208
209
210
211
212
213
214
215
216
217
218
# File 'lib/morpher/transform.rb', line 207

def call(input)
  if input.instance_of?(primitive)
    success(input)
  else
    failure(
      error(
        input:   input,
        message: MESSAGE % { actual: input.class, expected: primitive }
      )
    )
  end
end

#slugString

Rendering slug

Returns:

  • (String)


223
224
225
# File 'lib/morpher/transform.rb', line 223

def slug
  primitive.to_s
end