Class: Subflag::Rails::Backends::SubflagProvider

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

Overview

Provider wrapper for Subflag Cloud SaaS

Delegates to the standalone subflag-openfeature-provider gem. This is the default backend when using Subflag::Rails.

Examples:

Subflag::Rails.configure do |config|
  config.backend = :subflag
  config.api_key = "sdk-production-..."
end

Instance Method Summary collapse

Constructor Details

#initialize(api_key:, api_url:) ⇒ SubflagProvider

Returns a new instance of SubflagProvider.



18
19
20
21
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 18

def initialize(api_key:, api_url:)
  require "subflag"
  @provider = ::Subflag::Provider.new(api_key: api_key, api_url: api_url)
end

Instance Method Details

#fetch_boolean_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 35

def fetch_boolean_value(flag_key:, default_value:, evaluation_context: nil)
  @provider.fetch_boolean_value(
    flag_key: flag_key,
    default_value: default_value,
    evaluation_context: evaluation_context
  )
end

#fetch_float_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object



67
68
69
70
71
72
73
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 67

def fetch_float_value(flag_key:, default_value:, evaluation_context: nil)
  @provider.fetch_float_value(
    flag_key: flag_key,
    default_value: default_value,
    evaluation_context: evaluation_context
  )
end

#fetch_integer_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object



59
60
61
62
63
64
65
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 59

def fetch_integer_value(flag_key:, default_value:, evaluation_context: nil)
  @provider.fetch_integer_value(
    flag_key: flag_key,
    default_value: default_value,
    evaluation_context: evaluation_context
  )
end

#fetch_number_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 51

def fetch_number_value(flag_key:, default_value:, evaluation_context: nil)
  @provider.fetch_number_value(
    flag_key: flag_key,
    default_value: default_value,
    evaluation_context: evaluation_context
  )
end

#fetch_object_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object



75
76
77
78
79
80
81
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 75

def fetch_object_value(flag_key:, default_value:, evaluation_context: nil)
  @provider.fetch_object_value(
    flag_key: flag_key,
    default_value: default_value,
    evaluation_context: evaluation_context
  )
end

#fetch_string_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 43

def fetch_string_value(flag_key:, default_value:, evaluation_context: nil)
  @provider.fetch_string_value(
    flag_key: flag_key,
    default_value: default_value,
    evaluation_context: evaluation_context
  )
end

#initObject



27
28
29
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 27

def init
  @provider.init
end

#metadataObject



23
24
25
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 23

def 
  @provider.
end

#shutdownObject



31
32
33
# File 'lib/subflag/rails/backends/subflag_provider.rb', line 31

def shutdown
  @provider.shutdown
end