class SmoothChange::Feature
A feature to be mentioned by a feature flag
Attributes
mode[R]
name[RW]
Public Class Methods
new(name, mode)
click to toggle source
# File lib/smooth_change/feature.rb, line 9 def initialize(name, mode) self.name = name self.mode = mode end
Public Instance Methods
default_enabled_value()
click to toggle source
@return [Boolean]
# File lib/smooth_change/feature.rb, line 34 def default_enabled_value mode == :opt_out end
enabled_with?(feature_toggler)
click to toggle source
@return [Boolean]
# File lib/smooth_change/feature.rb, line 26 def enabled_with?(feature_toggler) value = feature_toggler.value_for(name) return default_enabled_value if value.nil? !!value end
mode=(value)
click to toggle source
@param [String,Symbol] value @return [String,Symbol] value @raise ArgumentError on unexpected value
# File lib/smooth_change/feature.rb, line 17 def mode=(value) @mode = case value.to_s when "opt_in" then :opt_in when "opt_out" then :opt_out else raise ArgumentError, "mode must be one of : opt_in, opt_out " end end