Class: RubyTransform::Transformers::Custom
- Inherits:
-
RubyTransform::Transformer
- Object
- RubyTransform::Transformer
- RubyTransform::Transformers::Custom
- Defined in:
- lib/ruby_transform/transformers/custom.rb
Overview
Custom Transformer
Allows for implementation of the transform to happen in-line through a block passed to the initializer.
Example:
# This contrived example reverses all string literals
RubyTransform::Transformers::Custom.new do |expression|
if sexp?(expression) && expression.kind == :str
s(:str, expression.body[0].reverse)
else
super
end
end
Instance Method Summary collapse
-
#initialize(&block) ⇒ Custom
constructor
A new instance of Custom.
Methods inherited from RubyTransform::Transformer
Methods included from RubyTransform::TransformerHelpers
Constructor Details
#initialize(&block) ⇒ Custom
Returns a new instance of Custom.
19 20 21 22 23 |
# File 'lib/ruby_transform/transformers/custom.rb', line 19 def initialize(&block) class_eval do define_method(:transform, &block) end end |