Class: PgEventstore::Extensions::OptionsExtension::Options

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/pg_eventstore/extensions/options_extension.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = []) ⇒ Options

Returns a new instance of Options.

Parameters:



80
81
82
# File 'lib/pg_eventstore/extensions/options_extension.rb', line 80

def initialize(options = [])
  @options = options.to_h { [_1, true] }
end

Instance Method Details

#+(other) ⇒ PgEventstore::Extensions::OptionsExtension::Options



93
94
95
# File 'lib/pg_eventstore/extensions/options_extension.rb', line 93

def +(other)
  self.class.new(options.keys + other.options.keys)
end

#==(other) ⇒ Object



112
113
114
# File 'lib/pg_eventstore/extensions/options_extension.rb', line 112

def ==(other)
  options.keys == other.options.keys
end

#[](option_name) ⇒ PgEventstore::Extensions::OptionsExtension::Option?

Parameters:

  • option_name (Symbol)

Returns:



86
87
88
89
# File 'lib/pg_eventstore/extensions/options_extension.rb', line 86

def [](option_name)
  option = Option.new(option_name)
  options.find { |key, _| key == option }&.dig(0)
end

#dupBoolean

Returns:

  • (Boolean)


104
105
106
# File 'lib/pg_eventstore/extensions/options_extension.rb', line 104

def dup
  self.class.new(options.keys)
end

#eachObject



108
109
110
# File 'lib/pg_eventstore/extensions/options_extension.rb', line 108

def each(...)
  options.keys.each(...)
end

#include?(option) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)


99
100
101
# File 'lib/pg_eventstore/extensions/options_extension.rb', line 99

def include?(option)
  options.key?(option)
end