class CloudSesame::Query::Node::Sort
Attributes
attributes[W]
Public Instance Methods
[](attribute)
click to toggle source
# File lib/cloud_sesame/query/node/sort.rb, line 12 def [](attribute) attributes[attribute.to_sym] end
[]=(attribute, order)
click to toggle source
# File lib/cloud_sesame/query/node/sort.rb, line 16 def []=(attribute, order) attributes[attribute.to_sym] = order end
attributes()
click to toggle source
# File lib/cloud_sesame/query/node/sort.rb, line 8 def attributes @attributes ||= {} end
compile()
click to toggle source
# File lib/cloud_sesame/query/node/sort.rb, line 20 def compile unless (compiled = serialize attributes).empty? compiled end end
Private Instance Methods
alias_field(key)
click to toggle source
# File lib/cloud_sesame/query/node/sort.rb, line 42 def alias_field(key) context[:fields] && context[:fields][key] && context[:fields][key][:as] end
field_name(key)
click to toggle source
# File lib/cloud_sesame/query/node/sort.rb, line 38 def field_name(key) (name = alias_field(key)) ? name : key end
serialize(hash)
click to toggle source
# File lib/cloud_sesame/query/node/sort.rb, line 28 def serialize(hash) hash.each_with_object("") do |(k, v), o| o << (o.empty? ? '' : ',') << serialize_field(k, v) end end
serialize_field(name, value)
click to toggle source
# File lib/cloud_sesame/query/node/sort.rb, line 34 def serialize_field(name, value) "#{ field_name(name) } #{ value }" end