Built-in transformation
dry-transformer
comes with a lot of built-in functions. They come in the form of modules with class methods, which you can import into a registry:
- Coercions
- Array transformations
- Hash transformations
- Class transformations
- Proc transformations
- Conditional
- Recursion
You can import everything with:
module T
extend Dry::Transformer::Registry
import Dry::Transformer::Coercions
import Dry::Transformer::ArrayTransformations
import Dry::Transformer::HashTransformations
import Dry::Transformer::ClassTransformations
import Dry::Transformer::ProcTransformations
import Dry::Transformer::Conditional
import Dry::Transformer::Recursion
end
T[:to_string].(:abc) # => 'abc'
Or import selectively with:
module T
extend Dry::Transformer::Registry
import :to_string, from: Dry::Transformer::Coercions, as: :stringify
end
T[:stringify].(:abc) # => 'abc'
T[:to_string].(:abc)
# => Dry::Transformer::FunctionNotFoundError: No registered function T[:to_string]