class Unleash::VariantDefinition

Attributes

name[RW]
overrides[RW]
payload[RW]
weight[RW]

Public Class Methods

new(name, weight = 0, payload = nil, overrides = []) click to toggle source
# File lib/unleash/variant_definition.rb, line 7
def initialize(name, weight = 0, payload = nil, overrides = [])
  self.name = name
  self.weight = weight
  self.payload = payload
  # self.overrides = overrides
  self.overrides = (overrides || [])
    .select{ |v| v.is_a?(Hash) && v.has_key?('contextName') }
    .map{ |v| VariantOverride.new(v.fetch('contextName', ''), v.fetch('values', [])) } || []
end

Public Instance Methods

override_matches_context?(context) click to toggle source
# File lib/unleash/variant_definition.rb, line 17
def override_matches_context?(context)
  self.overrides.select{ |o| o.matches_context?(context) }.first
end
to_s() click to toggle source
# File lib/unleash/variant_definition.rb, line 21
def to_s
  "<VariantDefinition: name=#{self.name},weight=#{self.weight},payload=#{self.payload},overrides=#{self.overrides}>"
end