Skip to content

Commit ddfb738

Browse files
jsonbaileyclaude
andcommitted
feat: Add AIConfigDefault.disabled convenience class method
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent b4c3312 commit ddfb738

2 files changed

Lines changed: 19 additions & 0 deletions

File tree

lib/server/ai/client.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ def to_h
110110
class AIConfigDefault
111111
attr_reader :enabled, :messages, :model, :provider
112112

113+
def self.disabled
114+
new(enabled: false)
115+
end
116+
113117
def initialize(enabled: false, model: nil, messages: nil, provider: nil)
114118
@enabled = enabled
115119
@messages = messages

spec/server/ai/client_spec.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,21 @@
461461
expect(config.provider).to be_nil
462462
end
463463

464+
it 'disabled class method returns a disabled AIConfigDefault' do
465+
config = described_class.disabled
466+
expect(config).to be_a(described_class)
467+
expect(config.enabled).to be false
468+
expect(config.messages).to be_nil
469+
expect(config.model).to be_nil
470+
expect(config.provider).to be_nil
471+
end
472+
473+
it 'disabled class method returns a new instance each call' do
474+
first = described_class.disabled
475+
second = described_class.disabled
476+
expect(first).not_to be(second)
477+
end
478+
464479
it 'serializes to a hash matching the variation format' do
465480
model = LaunchDarkly::Server::AI::ModelConfig.new(name: 'test-model')
466481
messages = [LaunchDarkly::Server::AI::Message.new('system', 'Hello')]

0 commit comments

Comments
 (0)