Class: Unleash::Variant

Inherits:
Object
  • Object
show all
Defined in:
lib/unleash/variant.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Variant

Returns a new instance of Variant.

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
# File 'lib/unleash/variant.rb', line 7

def initialize(params = {})
  raise ArgumentError, "Variant initializer requires a hash." unless params.is_a?(Hash)

  self.name = params.values_at('name', :name).compact.first
  self.enabled = params.values_at('enabled', :enabled).compact.first || false
  self.payload = params.values_at('payload', :payload).compact.first

  raise ArgumentError, "Variant requires a name." if self.name.nil?
end

Instance Attribute Details

#enabledObject

Returns the value of attribute enabled.



5
6
7
# File 'lib/unleash/variant.rb', line 5

def enabled
  @enabled
end

#nameObject

Returns the value of attribute name.



5
6
7
# File 'lib/unleash/variant.rb', line 5

def name
  @name
end

#payloadObject

Returns the value of attribute payload.



5
6
7
# File 'lib/unleash/variant.rb', line 5

def payload
  @payload
end

Instance Method Details

#==(v) ⇒ Object



21
22
23
# File 'lib/unleash/variant.rb', line 21

def ==(v)
  self.name == v.name && self.enabled == v.enabled && self.payload == v.payload
end

#to_sObject



17
18
19
# File 'lib/unleash/variant.rb', line 17

def to_s
  "<Variant: name=#{self.name},enabled=#{self.enabled},payload=#{self.payload}>"
end