1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
require 'set'
require 'flipper/typecast'
module Flipper
class GateValues
attr_reader :boolean
attr_reader :actors
attr_reader :groups
attr_reader :percentage_of_actors
attr_reader :percentage_of_time
def initialize(adapter_values)
@boolean = Typecast.to_boolean(adapter_values[:boolean])
@actors = Typecast.to_set(adapter_values[:actors])
@groups = Typecast.to_set(adapter_values[:groups])
@percentage_of_actors = Typecast.to_percentage(adapter_values[:percentage_of_actors])
@percentage_of_time = Typecast.to_percentage(adapter_values[:percentage_of_time])
end
def eql?(other)
self.class.eql?(other.class) &&
boolean == other.boolean &&
actors == other.actors &&
groups == other.groups &&
percentage_of_actors == other.percentage_of_actors &&
percentage_of_time == other.percentage_of_time
end
alias_method :==, :eql?
end
end
|