Zooip/smooth_change

View on GitHub
sig/lib/smooth_change/feature.rbs

Summary

Maintainability
Test Coverage
module SmoothChange
  # A feature to be mentioned by a feature flag
  class Feature
    attr_accessor name: ::String

    attr_reader mode: ::Symbol

    def initialize: (String|Symbol name, String|Symbol mode) -> void

    # @param [String,Symbol] value
    # @return [String,Symbol] value
    # @raise ArgumentError on unexpected value
    def mode=: (String|Symbol value) -> ::Symbol

    # @return [Boolean]
    def enabled_with?: (ClientFeatureToggler feature_toggler) -> bool

    # @return [Boolean]
    def default_enabled_value: () -> bool
  end
end