Module: Moped::ReadPreference::Selectable

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



13
14
15
# File 'lib/moped/read_preference/selectable.rb', line 13

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



23
24
25
# File 'lib/moped/read_preference/selectable.rb', line 23

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



37
38
39
40
41
# File 'lib/moped/read_preference/selectable.rb', line 37

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