Module: Plucky

Defined in:
lib/plucky.rb,
lib/plucky/query.rb,
lib/plucky/version.rb,
lib/plucky/pagination.rb,
lib/plucky/options_hash.rb,
lib/plucky/criteria_hash.rb,
lib/plucky/extensions/symbol.rb,
lib/plucky/normalizers/integer.rb,
lib/plucky/normalizers/hash_key.rb,
lib/plucky/pagination/paginator.rb,
lib/plucky/pagination/collection.rb,
lib/plucky/normalizers/sort_value.rb,
lib/plucky/normalizers/fields_value.rb,
lib/plucky/normalizers/criteria_hash_key.rb,
lib/plucky/normalizers/options_hash_value.rb,
lib/plucky/normalizers/criteria_hash_value.rb

Defined Under Namespace

Modules: Extensions, Normalizers, Pagination Classes: CriteriaHash, OptionsHash, Query

Constant Summary collapse

Methods =

Array of finder DSL methods to delegate

Plucky::Query::DSL.instance_methods.sort.map(&:to_sym)
ModifierString =

Private

'$'
Version =
'0.6.6'

Class Method Summary collapse

Class Method Details

.modifier?(key) ⇒ Boolean

Internal

Returns:

  • (Boolean)


36
37
38
# File 'lib/plucky.rb', line 36

def self.modifier?(key)
  key.to_s[0, 1] == ModifierString
end

.to_object_id(value) ⇒ Object

Public: Converts value to object id if possible

value - The value to attempt converation of

Returns BSON::ObjectId or value



21
22
23
24
25
26
27
28
29
30
# File 'lib/plucky.rb', line 21

def self.to_object_id(value)
  return value if value.is_a?(BSON::ObjectId)
  return nil   if value.nil? || (value.respond_to?(:empty?) && value.empty?)

  if BSON::ObjectId.legal?(value.to_s)
    BSON::ObjectId.from_string(value.to_s)
  else
    value
  end
end