Mapper — Documentation by YARD 0.9.37 (original) (raw)

Module: Mongo::Options::Mapper

Extended by:

Mapper

Included in:

Mapper

Defined in:

lib/mongo/options/mapper.rb

Overview

Utility class for various options mapping behavior.

Instance Method Summarycollapse

Instance Method Details

#transform(options, mappings) ⇒ Hash

Transforms the provided options to a new set of options given the provided mapping.

Options which are not present in the provided mapping are returned unmodified.

| 42 43 44 45 46 47 48 49 50 51 52 53 | # File 'lib/mongo/options/mapper.rb', line 42 def transform(options, mappings) map = transform_keys_to_strings(mappings) opts = transform_keys_to_strings(options) opts.reduce({}) do |transformed, (key, value)| if map[key] transformed[map[key]] = value else transformed[key] = value end transformed end end | | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#transform_documents(options, mappings, document = BSON::Document.new) ⇒ BSON::Document

Transforms the provided options to a new set of options given the provided mapping. Expects BSON::Documents in and out so no explicit string conversion needs to happen.

| 69 70 71 72 73 74 75 | # File 'lib/mongo/options/mapper.rb', line 69 def transform_documents(options, mappings, document = BSON::Document.new) options.reduce(document) do |transformed, (key, value)| name = mappings[key] transformed[name] = value if name && !value.nil? transformed end end | | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#transform_keys_to_strings(options) ⇒ Hash

Coverts all the keys of the options to strings.

| 87 88 89 90 91 92 | # File 'lib/mongo/options/mapper.rb', line 87 def transform_keys_to_strings(options) options.reduce({}) do |transformed, (key, value)| transformed[key.to_s] = value transformed end end | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#transform_keys_to_symbols(options) ⇒ Hash

Coverts all the keys of the options to symbols.

| 104 105 106 107 108 109 | # File 'lib/mongo/options/mapper.rb', line 104 def transform_keys_to_symbols(options) options.reduce({}) do |transformed, (key, value)| transformed[key.to_sym] = value transformed end end | | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#transform_values_to_strings(options) ⇒ Hash

Coverts all the symbol values to strings.

| 121 122 123 124 125 126 | # File 'lib/mongo/options/mapper.rb', line 121 def transform_values_to_strings(options) options.reduce({}) do |transformed, (key, value)| transformed[key] = value.is_a?(Symbol) ? value.to_s : value transformed end end | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |