class Arel::Visitors::Sunstone
Private Instance Methods
visit_Arel_Nodes_Ascending(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 6 def visit_Arel_Nodes_Ascending o, collector hash = visit(o.expr, collector) value = case o.nulls when :nulls_first {asc: :nulls_first} when :nulls_last {asc: :nulls_last} else :asc end if hash.is_a?(Hash) add_to_bottom_of_hash_or_array(hash, value) else hash = { hash => value } end hash end
visit_Arel_Nodes_Contains(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 66 def visit_Arel_Nodes_Contains o, collector key = visit(o.left, collector) value = { contains: visit(o.right, collector) } if key.is_a?(Hash) add_to_bottom_of_hash(key, value) else { key => value } end end
visit_Arel_Nodes_Descending(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 27 def visit_Arel_Nodes_Descending o, collector hash = visit(o.expr, collector) value = case o.nulls when :nulls_first {desc: :nulls_first} when :nulls_last {desc: :nulls_last} else :desc end if hash.is_a?(Hash) add_to_bottom_of_hash_or_array(hash, value) else hash = { hash => value } end hash end
visit_Arel_Nodes_Excludes(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 92 def visit_Arel_Nodes_Excludes o, collector key = visit(o.left, collector) value = { excludes: visit(o.right, collector) } if key.is_a?(Hash) add_to_bottom_of_hash(key, value) else { key => value } end end
visit_Arel_Nodes_HasAnyKey(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 149 def visit_Arel_Nodes_HasAnyKey o, collector key = visit(o.left, collector) value = { has_any_key: visit(Array(o.right), collector) } if key.is_a?(Hash) add_to_bottom_of_hash(key, value) else { key => value } end end
visit_Arel_Nodes_HasKey(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 127 def visit_Arel_Nodes_HasKey o, collector key = visit(o.left, collector) value = {has_key: (o.right.nil? ? nil : o.right.to_s)} if key.is_a?(Hash) add_to_bottom_of_hash(key, value) else { key => value } end end
visit_Arel_Nodes_HasKeys(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 138 def visit_Arel_Nodes_HasKeys o, collector key = visit(o.left, collector) value = {has_keys: Array(o.right).map(&:to_s)} if key.is_a?(Hash) add_to_bottom_of_hash(key, value) else { key => value } end end
visit_Arel_Nodes_HexEncodedBinary(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 77 def visit_Arel_Nodes_HexEncodedBinary(o, collector) o.expr end
visit_Arel_Nodes_NotOverlaps(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 115 def visit_Arel_Nodes_NotOverlaps o, collector key = visit(o.left, collector) value = { not_overlaps: visit(o.right, collector) } if key.is_a?(Hash) add_to_bottom_of_hash_or_array(key, value) key else { key => value } end end
visit_Arel_Nodes_Overlaps(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 103 def visit_Arel_Nodes_Overlaps o, collector key = visit(o.left, collector) value = { overlaps: visit(o.right, collector) } if key.is_a?(Hash) add_to_bottom_of_hash_or_array(key, value) key else {key => value} end end
visit_Arel_Nodes_RandomOrdering(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 48 def visit_Arel_Nodes_RandomOrdering o, collector :random end
visit_Arel_Nodes_Within(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 81 def visit_Arel_Nodes_Within o, collector key = visit(o.left, collector) value = { within: visit(o.right, collector) } if key.is_a?(Hash) add_to_bottom_of_hash(key, value) else { key => value } end end
visit_Hash(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 52 def visit_Hash o, collector rvalue = {} o.each do |key, value| rvalue[visit(key, collector)] = visit(value, collector) end rvalue end
visit_Symbol(o, collector)
click to toggle source
# File lib/arel/visitors/sunstone_extensions.rb, line 62 def visit_Symbol o, collector o.to_s end