Class: Subflag::Rails::StubbedClient

Inherits:
Object
  • Object
show all
Defined in:
lib/subflag/rails/test_helpers.rb

Overview

Stubbed client that returns test values

Instance Method Summary collapse

Constructor Details

#initialize(stubs) ⇒ StubbedClient

Returns a new instance of StubbedClient.



89
90
91
# File 'lib/subflag/rails/test_helpers.rb', line 89

def initialize(stubs)
  @stubs = stubs
end

Instance Method Details

#enabled?(flag_key, user: nil, context: nil, default: false) ⇒ Boolean

Returns:

  • (Boolean)


93
94
95
# File 'lib/subflag/rails/test_helpers.rb', line 93

def enabled?(flag_key, user: nil, context: nil, default: false)
  @stubs.fetch(flag_key, default)
end

#evaluate(flag_key, user: nil, context: nil, default:) ⇒ Object



101
102
103
104
105
106
107
108
109
# File 'lib/subflag/rails/test_helpers.rb', line 101

def evaluate(flag_key, user: nil, context: nil, default:)
  value = @stubs.fetch(flag_key, default)
  EvaluationResult.new(
    value: value,
    variant: "stubbed",
    reason: @stubs.key?(flag_key) ? :static : :default,
    flag_key: flag_key
  )
end

#value(flag_key, user: nil, context: nil, default:) ⇒ Object



97
98
99
# File 'lib/subflag/rails/test_helpers.rb', line 97

def value(flag_key, user: nil, context: nil, default:)
  @stubs.fetch(flag_key, default)
end