Class Origin::Key
In: lib/origin/key.rb
Parent: Object

The key is a representation of a field in a queryable, that can be expanded to special MongoDB selectors.

Methods

==   __expr_part__   __sort_option__   __sort_pair__   eql?   hash   new   to_s  

Attributes

block  [R]  @attribute [r] name The name of the field. @attribute [r] block The optional block to transform values. @attribute [r] operator The MongoDB query operator. @attribute [r] expanded The MongoDB expanded query operator. @attribute [r] strategy The name of the merge strategy.
expanded  [R]  @attribute [r] name The name of the field. @attribute [r] block The optional block to transform values. @attribute [r] operator The MongoDB query operator. @attribute [r] expanded The MongoDB expanded query operator. @attribute [r] strategy The name of the merge strategy.
name  [R]  @attribute [r] name The name of the field. @attribute [r] block The optional block to transform values. @attribute [r] operator The MongoDB query operator. @attribute [r] expanded The MongoDB expanded query operator. @attribute [r] strategy The name of the merge strategy.
operator  [R]  @attribute [r] name The name of the field. @attribute [r] block The optional block to transform values. @attribute [r] operator The MongoDB query operator. @attribute [r] expanded The MongoDB expanded query operator. @attribute [r] strategy The name of the merge strategy.
strategy  [R]  @attribute [r] name The name of the field. @attribute [r] block The optional block to transform values. @attribute [r] operator The MongoDB query operator. @attribute [r] expanded The MongoDB expanded query operator. @attribute [r] strategy The name of the merge strategy.

Public Class methods

Instantiate the new key.

@example Instantiate the key.

  Key.new("age", "$gt")

@param [ String, Symbol ] name The field name. @param [ Symbol ] strategy The name of the merge strategy. @param [ String ] operator The Mongo operator. @param [ String ] expanded The Mongo expanded operator.

@since 1.0.0

Public Instance methods

Does the key equal another object?

@example Is the key equal to another?

  key == other
  key.eql? other

@param [ Object ] other The object to compare to.

@return [ true, false ] If the objects are equal.

@since 1.0.0

Gets the raw selector that would be passed to Mongo from this key.

@example Specify the raw selector.

  key.__expr_part__(50)

@param [ Object ] object The value to be included. @param [ true, false ] negating If the selection should be negated.

@return [ Hash ] The raw MongoDB selector.

@since 1.0.0

Get the key as raw Mongo sorting options.

@example Get the key as a sort.

  key.__sort_option__

@return [ Hash ] The field/direction pair.

@since 1.0.0

__sort_pair__()

Alias for #sort_option

eql?(other)

Alias for #==

Calculate the hash code for a key.

@return [ Fixnum ] The hash code for the key.

@since 1.1.0

Convert the key to a string.

@example Convert the key to a string.

  key.to_s

@return [ String ] The key as a string.

@since 1.1.0

[Validate]