Module: KindeSdk::Client::FeatureFlags

Included in:
KindeSdk::Client
Defined in:
lib/kinde_sdk/client/feature_flags.rb

Instance Method Summary collapse

Instance Method Details

#get_boolean_flag(name, default_value = nil) ⇒ Object



23
24
25
# File 'lib/kinde_sdk/client/feature_flags.rb', line 23

def get_boolean_flag(name, default_value = nil)
  flag_getter_wrapper(name, "b", default_value)
end

#get_flag(name, opts = {}, flag_type = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/kinde_sdk/client/feature_flags.rb', line 4

def get_flag(name, opts = {}, flag_type = nil)
  res = get_claim("feature_flags")&.dig(:value, name)
  return try_default_flag(flag_type, name, opts) unless res

  type =
    case res["t"]
    when "b" then "boolean"
    when "s" then "string"
    when "i" then "integer"
    end

  {
    "code": name,
    "type": type,
    "value": res["v"],
    "is_default": false
  }
end

#get_integer_flag(name, default_value = nil) ⇒ Object



31
32
33
# File 'lib/kinde_sdk/client/feature_flags.rb', line 31

def get_integer_flag(name, default_value = nil)
  flag_getter_wrapper(name, "i", default_value)
end

#get_string_flag(name, default_value = nil) ⇒ Object



27
28
29
# File 'lib/kinde_sdk/client/feature_flags.rb', line 27

def get_string_flag(name, default_value = nil)
  flag_getter_wrapper(name, "s", default_value)
end