Module: Mongoid::Criteria::Queryable::Extensions::String

Defined in:
build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/string.rb

Overview

This module contains additional object behavior.

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#__evolve_date__Time

Evolve the string into a mongodb friendly date.

Examples:

Evolve the string.

"2012-1-1".__evolve_date__

Returns:

  • (Time)

    The time at UTC midnight.

Since:

  • 1.0.0



20
21
22
23
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/string.rb', line 20

def __evolve_date__
  time = ::Time.parse(self)
  ::Time.utc(time.year, time.month, time.day, 0, 0, 0, 0)
end

#__evolve_time__Time

Evolve the string into a mongodb friendly time.

Examples:

Evolve the string.

"2012-1-1".__evolve_time__

Returns:

  • (Time)

    The string as a time.

Since:

  • 1.0.0



33
34
35
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/string.rb', line 33

def __evolve_time__
  __mongoize_time__.utc
end

#__expr_part__(value, negating = false) ⇒ Hash

Get the string as a specification.

Examples:

Get the string as a criteria.

"field".__expr_part__(value)

Parameters:

  • value (Object)

    The value of the criteria.

  • negating (true, false) (defaults to: false)

    If the selection should be negated.

Returns:

  • (Hash)

    The selection.

Since:

  • 1.0.0



77
78
79
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/string.rb', line 77

def __expr_part__(value, negating = false)
  ::String.__expr_part__(self, value, negating)
end

#__mongo_expression__String

Get the string as a mongo expression, adding $ to the front.

Examples:

Get the string as an expression.

"test".__mongo_expression__

Returns:

  • (String)

    The string with $ at the front.

Since:

  • 2.0.0



45
46
47
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/string.rb', line 45

def __mongo_expression__
  start_with?("$") ? self : "$#{self}"
end

#__sort_option__Hash

Get the string as a sort option.

Examples:

Get the string as a sort option.

"field ASC".__sort_option__

Returns:

  • (Hash)

    The string as a sort option hash.

Since:

  • 1.0.0



57
58
59
60
61
62
63
64
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/string.rb', line 57

def __sort_option__
  split(/,/).inject({}) do |hash, spec|
    hash.tap do |_hash|
      field, direction = spec.strip.split(/\s/)
      _hash[field.to_sym] = direction.to_direction
    end
  end
end

#to_directionInteger

Get the string as a sort direction.

Examples:

Get the string as a sort direction.

"1".to_direction

Returns:

  • (Integer)

    The direction.

Since:

  • 1.0.0



89
90
91
# File 'build/mongoid-7.3/lib/mongoid/criteria/queryable/extensions/string.rb', line 89

def to_direction
  self =~ /desc/i ? -1 : 1
end