Skip to content

Commit fa70dc5

Browse files
authored
Merge pull request #166 from launchdarkly/bl/sc-130603/test-data-source
Add datasource implementation
2 parents d405059 + 5bbf2d3 commit fa70dc5

File tree

8 files changed

+833
-353
lines changed

8 files changed

+833
-353
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
require 'concurrent/atomics'
2+
require 'ldclient-rb/interfaces'
3+
4+
module LaunchDarkly
5+
module Impl
6+
module Integrations
7+
module TestData
8+
# @private
9+
class TestDataSource
10+
include LaunchDarkly::Interfaces::DataSource
11+
12+
def initialize(feature_store, test_data)
13+
@feature_store = feature_store
14+
@test_data = test_data
15+
end
16+
17+
def initialized?
18+
true
19+
end
20+
21+
def start
22+
ready = Concurrent::Event.new
23+
ready.set
24+
init_data = @test_data.make_init_data
25+
@feature_store.init(init_data)
26+
ready
27+
end
28+
29+
def stop
30+
@test_data.closed_instance(self)
31+
end
32+
33+
def upsert(new_flag)
34+
@feature_store.upsert(FEATURES, new_flag)
35+
end
36+
end
37+
end
38+
end
39+
end
40+
end

lib/ldclient-rb/impl/integrations/test_data_impl.rb

Lines changed: 0 additions & 229 deletions
This file was deleted.

lib/ldclient-rb/integrations.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
require "ldclient-rb/integrations/consul"
22
require "ldclient-rb/integrations/dynamodb"
33
require "ldclient-rb/integrations/redis"
4+
require "ldclient-rb/integrations/test_data"
45
require "ldclient-rb/integrations/util/store_wrapper"
56

67
module LaunchDarkly
@@ -18,7 +19,7 @@ module Integrations
1819
module Consul
1920
# code is in ldclient-rb/impl/integrations/consul_impl
2021
end
21-
22+
2223
#
2324
# Integration with [DynamoDB](https://aws.amazon.com/dynamodb/).
2425
#
@@ -51,5 +52,6 @@ module Redis
5152
module Util
5253
# code is in ldclient-rb/integrations/util/
5354
end
55+
5456
end
5557
end

0 commit comments

Comments
 (0)