Module: OpenFeature::Flagd::Provider

Defined in:
lib/openfeature/flagd/provider.rb,
lib/openfeature/flagd/provider/client.rb,
lib/openfeature/flagd/provider/configuration.rb,
lib/openfeature/flagd/provider/flagd/sync/v1/sync_pb.rb,
lib/openfeature/flagd/provider/flagd/sync/v1/sync_services_pb.rb,
lib/openfeature/flagd/provider/flagd/evaluation/v1/evaluation_pb.rb,
lib/openfeature/flagd/provider/flagd/evaluation/v1/evaluation_services_pb.rb

Overview

Provider represents the entry point for interacting with the Flagd provider values. The implementation follows the details specified in openfeature.dev/docs/specification/sections/providers

Provider contains functionality to configure the GRPC connection via

flagd_client = OpenFeature::Flagd::Provider.get_client
flagd_client.configure do |config|
  config.host = 'localhost'
  config.port = 8379
  config.tls = false
end

The Provider provides the following methods and attributes:

  • metadata - Returns the associated provider metadata with the name

  • resolve_boolean_value(flag_key:, default_value:, context: nil) manner; client.resolve_boolean(flag_key: 'boolean-flag', default_value: false)

  • resolve_integer_value(flag_key:, default_value:, context: nil) manner; client.resolve_integer_value(flag_key: 'integer-flag', default_value: 2)

  • resolve_float_value(flag_key:, default_value:, context: nil) manner; client.resolve_float_value(flag_key: 'float-flag', default_value: 2.0)

  • resolve_string_value(flag_key:, default_value:, context: nil) manner; client.resolve_string_value(flag_key: 'string-flag', default_value: 'some-default-value')

  • resolve_object_value(flag_key:, default_value:, context: nil) manner; client.resolve_object_value(flag_key: 'object-flag', default_value: { default_value: 'value'})

Defined Under Namespace

Modules: Grpc Classes: Client, Configuration, ConfiguredClient

Class Method Summary collapse

Class Method Details

.build_clientObject



41
42
43
# File 'lib/openfeature/flagd/provider.rb', line 41

def build_client
  ConfiguredClient.new
end