20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/ruby_transform/registry.rb', line 20
def register(name, transform = nil, &block)
if block
self[name.to_s] = RubyTransform::Transformers::Custom.new(&block)
elsif transform.is_a?(Array)
self[name.to_s] = RubyTransform::Transformers::Composite.new(transform.map {|t|
if t.is_a?(Symbol) or t.is_a?(String)
self[t] or raise ArgumentError, "#{t} is not a registered transform name."
else
t
end
})
elsif transform.is_a?(RubyTransform::Transformer)
self[name.to_s] = transform
else
raise ArgumentError, "Please provide a transform or custom block processor."
end
end
|