prefab-cloud-ruby 1.7.0 → 1.7.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|