Class: LaunchDarkly::Server::AI::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/server/ai/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ld_client) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/server/ai/client.rb', line 152

def initialize(ld_client)
  raise ArgumentError, 'LDClient instance is required' unless ld_client.is_a?(LaunchDarkly::LDClient)

  @ld_client = ld_client
  @logger = LaunchDarkly::Server::AI.default_logger

  @ld_client.track(
    TRACK_SDK_INFO,
    INIT_TRACK_CONTEXT,
    {
      aiSdkName: LaunchDarkly::Server::AI::SDK_NAME,
      aiSdkVersion: LaunchDarkly::Server::AI::VERSION,
      aiSdkLanguage: LaunchDarkly::Server::AI::SDK_LANGUAGE,
    },
    1
  )
end

Instance Attribute Details

#ld_clientObject (readonly)

Returns the value of attribute ld_client.



150
151
152
# File 'lib/server/ai/client.rb', line 150

def ld_client
  @ld_client
end

#loggerObject (readonly)

Returns the value of attribute logger.



150
151
152
# File 'lib/server/ai/client.rb', line 150

def logger
  @logger
end

Instance Method Details

#completion_config(key:, context:, default: nil, variables: nil) ⇒ AIConfig

Retrieves the AIConfig

Parameters:

  • key (String)

    The key of the configuration flag

  • context (LDContext)

    The context used when evaluating the flag

  • default (AIConfig) (defaults to: nil)

    The default value to use if the flag is not found

  • variables (Hash) (defaults to: nil)

    Optional variables for rendering messages

Returns:

  • (AIConfig)

    An AIConfig instance containing the configuration data



179
180
181
182
183
# File 'lib/server/ai/client.rb', line 179

def completion_config(key:, context:, default: nil, variables: nil)
  @ld_client.track(TRACK_USAGE_COMPLETION_CONFIG, context, key, 1)

  _completion_config(key:, context:, default: default || AIConfig.disabled, variables:)
end

#config(key:, context:, default: nil, variables: nil) ⇒ Object

Deprecated.

Use #completion_config instead.



186
187
188
189
# File 'lib/server/ai/client.rb', line 186

def config(key:, context:, default: nil, variables: nil)
  warn '[DEPRECATION] `config` is deprecated. Use `completion_config` instead.'
  completion_config(key:, context:, default:, variables:)
end