Module: Moped::ReadPreference::Selectable

Includes:
Moped::Retryable
Included in:
Nearest, Primary, PrimaryPreferred, Secondary, SecondaryPreferred
Defined in:
lib/moped/read_preference/selectable.rb

Overview

Provides the shared behaviour for read preferences that can filter by a tag set or add query options.

Since:

  • 2.0.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#tagsObject

Since:

  • 2.0.0



15
16
17
# File 'lib/moped/read_preference/selectable.rb', line 15

def tags
  @tags
end

Instance Method Details

#initialize(tags = nil) ⇒ Object

Instantiate the new taggable read preference.

Examples:

Instantiate the taggable.

Moped::ReadPreference::Secondary.new({ east_coast: 1 })

Parameters:

  • tags (Array<Hash>) (defaults to: nil)

    The tag sets.

Since:

  • 2.0.0



25
26
27
# File 'lib/moped/read_preference/selectable.rb', line 25

def initialize(tags = nil)
  @tags = tags
end

#query_options(options) ⇒ Hash

Get the provided options as query options for this read preference.

Examples:

Get the query options.

preference.query_options({})

Parameters:

  • options (Hash)

    The existing options for the query.

Returns:

  • (Hash)

    The options plus additional query options.

Since:

  • 2.0.0



39
40
41
42
43
# File 'lib/moped/read_preference/selectable.rb', line 39

def query_options(options)
  options[:flags] ||= []
  options[:flags] |= [ :slave_ok ]
  options
end