prefab-cloud-ruby 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/prefab/client.rb +3 -1
- data/lib/prefab/prefab.rb +12 -2
- data/prefab-cloud-ruby.gemspec +3 -3
- data/test/test_client.rb +16 -0
- data/test/test_prefab.rb +33 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3b95e2969c65849875591221843811b015a60ac51b8281b090a4e0a81bdc813
|
4
|
+
data.tar.gz: c7dcf60b7d6b8a49d973ce1208ba6c56e31bb140aaffda2cfc1ee0fad453fc06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a15672e8ab7597ad858aa32424850b5beab72a6066c0111253c6ca43d2407de0ec8c9ccebf654d8f1a7ff730675cac966050b2143293b475f728adc672bdc46
|
7
|
+
data.tar.gz: c14415715bfdf5e61d1075e2cd9f29a91e01f320d4305cd4328397ad5d88792a49ec5a215e791b343f687cc23f997aa24c106887a66508be6f3d980badfb4deb
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -19,7 +19,7 @@ result = client.enabled? "my-first-feature-flag", context
|
|
19
19
|
puts "my-first-feature-flag is: #{result}"
|
20
20
|
```
|
21
21
|
|
22
|
-
See full documentation https://docs.prefab.cloud/docs/
|
22
|
+
See full documentation https://docs.prefab.cloud/docs/sdks/ruby
|
23
23
|
|
24
24
|
## Supports
|
25
25
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.7.
|
1
|
+
1.7.1
|
data/lib/prefab/client.rb
CHANGED
data/lib/prefab/prefab.rb
CHANGED
@@ -28,9 +28,9 @@ module Prefab
|
|
28
28
|
@singleton.set_rails_loggers
|
29
29
|
end
|
30
30
|
|
31
|
-
def self.get(key,
|
31
|
+
def self.get(key, default = NO_DEFAULT_PROVIDED, jit_context = NO_DEFAULT_PROVIDED)
|
32
32
|
ensure_initialized key
|
33
|
-
@singleton.get(key,
|
33
|
+
@singleton.get(key, default, jit_context)
|
34
34
|
end
|
35
35
|
|
36
36
|
def self.enabled?(feature_name, jit_context = NO_DEFAULT_PROVIDED)
|
@@ -68,6 +68,16 @@ module Prefab
|
|
68
68
|
SemanticLogger::Levels.index(level) <= SemanticLogger::Levels.index(log.level)
|
69
69
|
end
|
70
70
|
|
71
|
+
def self.defined?(key)
|
72
|
+
ensure_initialized key
|
73
|
+
@singleton.defined?(key)
|
74
|
+
end
|
75
|
+
|
76
|
+
def self.is_ff?(key)
|
77
|
+
ensure_initialized key
|
78
|
+
@singleton.is_ff?(key)
|
79
|
+
end
|
80
|
+
|
71
81
|
private
|
72
82
|
|
73
83
|
def self.ensure_initialized(key = nil)
|
data/prefab-cloud-ruby.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: prefab-cloud-ruby 1.7.
|
5
|
+
# stub: prefab-cloud-ruby 1.7.1 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "prefab-cloud-ruby".freeze
|
9
|
-
s.version = "1.7.
|
9
|
+
s.version = "1.7.1"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Jeff Dwyer".freeze]
|
14
|
-
s.date = "2024-04-
|
14
|
+
s.date = "2024-04-11"
|
15
15
|
s.description = "Feature Flags, Live Config, and Dynamic Log Levels as a service".freeze
|
16
16
|
s.email = "jdwyer@prefab.cloud".freeze
|
17
17
|
s.extra_rdoc_files = [
|
data/test/test_client.rb
CHANGED
@@ -411,6 +411,22 @@ class TestClient < Minitest::Test
|
|
411
411
|
assert_summary client, {}
|
412
412
|
end
|
413
413
|
|
414
|
+
def test_defined
|
415
|
+
client = new_client
|
416
|
+
|
417
|
+
refute client.defined?('does_not_exist')
|
418
|
+
assert client.defined?('sample_int')
|
419
|
+
assert client.defined?('disabled_flag')
|
420
|
+
end
|
421
|
+
|
422
|
+
def test_is_ff
|
423
|
+
client = new_client
|
424
|
+
|
425
|
+
assert client.is_ff?('flag_with_a_value')
|
426
|
+
refute client.is_ff?('sample_int')
|
427
|
+
refute client.is_ff?('does_not_exist')
|
428
|
+
end
|
429
|
+
|
414
430
|
private
|
415
431
|
|
416
432
|
def basic_value_config
|
data/test/test_prefab.rb
CHANGED
@@ -4,9 +4,41 @@ require 'test_helper'
|
|
4
4
|
|
5
5
|
class TestPrefab < Minitest::Test
|
6
6
|
def test_get
|
7
|
-
|
7
|
+
init_once
|
8
|
+
|
8
9
|
assert_equal 'default', Prefab.get('does.not.exist', 'default')
|
10
|
+
assert_equal 'default', Prefab.get('does.not.exist', 'default', { some: { key: 'value' } })
|
9
11
|
assert_equal 'test sample value', Prefab.get('sample')
|
10
12
|
assert_equal 123, Prefab.get('sample_int')
|
13
|
+
|
14
|
+
ctx = { user: { key: 'jimmy' } }
|
15
|
+
assert_equal 'default-goes-here', Prefab.get('user_key_match', 'default-goes-here', ctx)
|
16
|
+
|
17
|
+
ctx = { user: { key: 'abc123' } }
|
18
|
+
assert_equal true, Prefab.get('user_key_match', nil, ctx)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_defined
|
22
|
+
init_once
|
23
|
+
|
24
|
+
refute Prefab.defined?('does_not_exist')
|
25
|
+
assert Prefab.defined?('sample_int')
|
26
|
+
assert Prefab.defined?('disabled_flag')
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_is_ff
|
30
|
+
init_once
|
31
|
+
|
32
|
+
assert Prefab.is_ff?('flag_with_a_value')
|
33
|
+
refute Prefab.is_ff?('sample_int')
|
34
|
+
refute Prefab.is_ff?('does_not_exist')
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def init_once
|
40
|
+
unless Prefab.instance_variable_get("@singleton")
|
41
|
+
Prefab.init(prefab_options)
|
42
|
+
end
|
11
43
|
end
|
12
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prefab-cloud-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Dwyer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-04-
|
11
|
+
date: 2024-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|