Sha256: c28dbaa4ae219198e599b32657f339ebb73cfd4070fa3d82d582bc61b08e932b
Contents?: true
Size: 941 Bytes
Versions: 3
Compression:
Stored size: 941 Bytes
Contents
module RolloutUi class Feature User = Struct.new(:id) attr_reader :name delegate :percentage_key, :group_key, :user_key, :to => :rollout def initialize(name) @wrapper = Wrapper.new @name = name end def percentage redis.get(percentage_key(name)) end def groups redis.smembers(group_key(name)) end def user_ids redis.smembers(user_key(name)) end def percentage=(percentage) rollout.activate_percentage(name, percentage) end def groups=(groups) redis.del(group_key(name)) groups.each { |group| rollout.activate_group(name, group) unless group.to_s.empty? } end def user_ids=(ids) redis.del(user_key(name)) ids.each { |id| rollout.activate_user(name, User.new(id)) unless id.to_s.empty? } end private def redis @wrapper.redis end def rollout @wrapper.rollout end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
rollout_ui-0.2.0 | lib/rollout_ui/feature.rb |
bitlove-rollout_ui-0.1.0 | lib/rollout_ui/feature.rb |
rollout_ui-0.1.0 | lib/rollout_ui/feature.rb |