Module: Dry::Transformer::ProcTransformations

Extended by:
Registry
Defined in:
lib/dry/transformer/proc_transformations.rb

Overview

Transformation functions for Procs

Examples:

require 'ostruct'
require 'dry/transformer/proc'

include Dry::Transformer::Helper

fn = t(
  :map_value,
  'foo_bar',
  t(:bind, OpenStruct.new(prefix: 'foo'), -> s { [prefix, s].join('_') })
)

fn["foo_bar" => "bar"]
# => {"foo_bar" => "foo_bar"}

Class Method Summary collapse

Methods included from Registry

[], contain?, fetch, import, register, store

Class Method Details

.bind(value, binding, fn) ⇒ Proc

Change the binding for the given function

Examples:

Dry::Transformer(
  :bind,
  OpenStruct.new(prefix: 'foo'),
  -> s { [prefix, s].join('_') }
)['bar']
# => "foo_bar"

Parameters:

  • (Proc)

Returns:

  • (Proc)


41
42
43
# File 'lib/dry/transformer/proc_transformations.rb', line 41

def self.bind(value, binding, fn)
  binding.instance_exec(value, &fn)
end