1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Modify Visitors::Dot's API to use collectors

This commit is contained in:
Jiri Pospisil 2014-06-14 23:33:05 +02:00
parent 0a7e0ef210
commit fcd11dcb99
3 changed files with 9 additions and 7 deletions

View file

@ -15,7 +15,9 @@ module Arel
end end
def to_dot def to_dot
Visitors::Dot.new.accept @ast collector = Arel::Collectors::PlainString.new
collector = Visitors::Dot.new.accept @ast, collector
collector.value
end end
def visitor def visitor

View file

@ -22,9 +22,9 @@ module Arel
@seen = {} @seen = {}
end end
def accept object def accept object, collector
visit object visit object
to_dot collector << to_dot
end end
private private

View file

@ -17,13 +17,13 @@ module Arel
].each do |klass| ].each do |klass|
define_method("test_#{klass.name.gsub('::', '_')}") do define_method("test_#{klass.name.gsub('::', '_')}") do
op = klass.new(:a, "z") op = klass.new(:a, "z")
@visitor.accept op @visitor.accept op, Collectors::PlainString.new
end end
end end
def test_named_function def test_named_function
func = Nodes::NamedFunction.new 'omg', 'omg' func = Nodes::NamedFunction.new 'omg', 'omg'
@visitor.accept func @visitor.accept func, Collectors::PlainString.new
end end
# unary ops # unary ops
@ -41,7 +41,7 @@ module Arel
].each do |klass| ].each do |klass|
define_method("test_#{klass.name.gsub('::', '_')}") do define_method("test_#{klass.name.gsub('::', '_')}") do
op = klass.new(:a) op = klass.new(:a)
@visitor.accept op @visitor.accept op, Collectors::PlainString.new
end end
end end
@ -68,7 +68,7 @@ module Arel
].each do |klass| ].each do |klass|
define_method("test_#{klass.name.gsub('::', '_')}") do define_method("test_#{klass.name.gsub('::', '_')}") do
binary = klass.new(:a, :b) binary = klass.new(:a, :b)
@visitor.accept binary @visitor.accept binary, Collectors::PlainString.new
end end
end end
end end