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