class Mongokit::Options

Constants

CRITERIAS

Public Class Methods

add(fields, options) click to toggle source
# File lib/mongokit/utils/options.rb, line 33
def add(fields, options)
  return unless options[:add]

  fields.is_a?(Hash) ? fields.merge(options[:add]) : fields.concat(options[:add])
end
except(fields, options) click to toggle source
# File lib/mongokit/utils/options.rb, line 28
def except(fields, options)
  fields = fields.reject{ |f, _| options[:except].include?(f) } if options[:except]
  fields
end
new(options = {}) click to toggle source
# File lib/mongokit/utils/options.rb, line 6
def initialize(options = {})
  @options = options
end
only(fields, options) click to toggle source
# File lib/mongokit/utils/options.rb, line 23
def only(fields, options)
  fields = fields.select{ |f, _| options[:only].include?(f) } if options[:only]
  fields
end
process(fields, options, criterias = nil) click to toggle source
# File lib/mongokit/utils/options.rb, line 44
def process(fields, options, criterias = nil)
  criterias = options.keys unless criterias

  criterias.each do |c|
    fields = send(c, fields, options) if CRITERIAS.include?(c)
  end

  fields
end
replace(fields, options) click to toggle source
# File lib/mongokit/utils/options.rb, line 39
def replace(fields, options)
  options[:replace].each { |old_f, new_f| fields[new_f] = fields.delete(old_f) } if options[:replace]
  fields
end

Public Instance Methods

all() click to toggle source
# File lib/mongokit/utils/options.rb, line 10
def all
  @options
end
get(name, field = nil) click to toggle source
# File lib/mongokit/utils/options.rb, line 18
def get(name, field = nil)
  field ? @options[name][field] : @options[name]
end
put(name, values) click to toggle source
# File lib/mongokit/utils/options.rb, line 14
def put(name, values)
  @options[name] = values
end