diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index 60df12c7006333f6e0a5161cd5bcba40c3e03e46..5fbe642df0ba7984ee0d19cf33cb967f0f2cdfbe 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -2,6 +2,8 @@ module Arel class SelectManager < Arel::TreeManager include Arel::Crud + STRING_OR_SYMBOL_CLASS = [Symbol, String] + def initialize engine, table = nil super(engine) @ast = Nodes::SelectStatement.new @@ -128,7 +130,7 @@ def project *projections # FIXME: converting these to SQLLiterals is probably not good, but # rails tests require it. @ctx.projections.concat projections.map { |x| - [Symbol, String].include?(x.class) ? SqlLiteral.new(x.to_s) : x + STRING_OR_SYMBOL_CLASS.include?(x.class) ? SqlLiteral.new(x.to_s) : x } self end @@ -152,7 +154,7 @@ def distinct(value = true) def order *expr # FIXME: We SHOULD NOT be converting these to SqlLiteral automatically @ast.orders.concat expr.map { |x| - String === x || Symbol === x ? Nodes::SqlLiteral.new(x.to_s) : x + STRING_OR_SYMBOL_CLASS.include?(x.class) ? Nodes::SqlLiteral.new(x.to_s) : x } self end