Class: TypedParams::Transforms::Wrapped

Inherits:
Transform
  • Object
show all
Defined in:
lib/typed_params/transforms/wrapped.rb

Instance Method Summary collapse

Methods inherited from Transform

wrap

Constructor Details

#initialize(fn) ⇒ Wrapped

Returns a new instance of Wrapped.



8
# File 'lib/typed_params/transforms/wrapped.rb', line 8

def initialize(fn) = @fn = fn

Instance Method Details

#call(param) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/typed_params/transforms/wrapped.rb', line 10

def call(param)
  key, value = fn.call(param.key, param.value)
  if key.nil?
    param.delete # delete if transformed into nil

    return
  end

  param.key   = key unless key == param.key
  param.value = value
end