Module: Origin::Extensions::Symbol::ClassMethods

Defined in:
lib/origin/extensions/symbol.rb

Instance Method Summary collapse

Instance Method Details

#add_key(name, strategy, operator, additional = nil, &block) ⇒ Object

Adds a method on symbol as a convenience for the MongoDB operator.

Examples:

Add the $in method.

Symbol.add_key(:in, "$in")

Parameters:

  • name (Symbol)

    The name of the method.

  • strategy (Symbol)

    The name of the merge strategy.

  • operator (String)

    The MongoDB operator.

  • additional (String) (defaults to: nil)

    The additional MongoDB operator.

Since:

  • 1.0.0



48
49
50
51
52
53
# File 'lib/origin/extensions/symbol.rb', line 48

def add_key(name, strategy, operator, additional = nil, &block)
  define_method(name) do
    method = "__#{strategy}__".to_sym
    Key.new(self, method, operator, additional, &block)
  end
end

#evolve(object) ⇒ Symbol

Evolves the symbol into a MongoDB friendly value - in this case a symbol.

Examples:

Evolve the symbol

Symbol.evolve("test")

Parameters:

  • object (Object)

    The object to convert.

Returns:

  • (Symbol)

    The value as a symbol.

Since:

  • 1.0.0



66
67
68
# File 'lib/origin/extensions/symbol.rb', line 66

def evolve(object)
  __evolve__(object) { |obj| obj.to_sym }
end