fflags 0.4.4 → 0.5.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/.circleci/config.yml +3 -3
- data/.travis.yml +1 -1
- data/Gemfile.lock +8 -4
- data/fflags.gemspec +1 -1
- data/lib/fflags/api.rb +5 -3
- data/lib/fflags/redis_client.rb +18 -17
- data/lib/fflags/version.rb +1 -1
- data/lib/fflags.rb +6 -1
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 489918f7eadf6dd9c52bc102e47857ea38602d546dc6261c70a703098515f8bd
|
|
4
|
+
data.tar.gz: 30677e51f6d114a5ca8597b591ac762bb1c45c3cc984b0e99da9692f2660384b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fb8a91ba3df7c42417aeed9fc9983bc69594d46fecdd3080d0f18fe9c0027806bbf30933e8260efe93d71c34bed56731da9a2dcf94c5f06c9fea45601cf18254
|
|
7
|
+
data.tar.gz: 8933d2ca66c0d2b7391759aa49bc0bd1cfcfd31f4924576520059c4604316c7bada778b9f8855aa28d4572d9d7590f94c10fd2a18b72e4845b5d4be460a33ce2
|
data/.circleci/config.yml
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
#
|
|
3
3
|
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
|
4
4
|
#
|
|
5
|
-
version: 2
|
|
5
|
+
version: 2.1
|
|
6
6
|
jobs:
|
|
7
7
|
build:
|
|
8
8
|
docker:
|
|
9
9
|
# specify the version you desire here
|
|
10
|
-
- image: circleci/ruby:2.
|
|
11
|
-
|
|
10
|
+
- image: circleci/ruby:2.7-browsers
|
|
11
|
+
|
|
12
12
|
# Specify service dependencies here if necessary
|
|
13
13
|
# CircleCI maintains a library of pre-built images
|
|
14
14
|
# documented at https://circleci.com/docs/2.0/circleci-images/
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
fflags (0.
|
|
4
|
+
fflags (0.5.1)
|
|
5
5
|
redis (>= 3.0.0)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
@@ -9,6 +9,7 @@ GEM
|
|
|
9
9
|
specs:
|
|
10
10
|
ast (2.3.0)
|
|
11
11
|
coderay (1.1.2)
|
|
12
|
+
connection_pool (2.4.1)
|
|
12
13
|
diff-lcs (1.3)
|
|
13
14
|
docile (1.1.5)
|
|
14
15
|
json (2.1.0)
|
|
@@ -22,7 +23,10 @@ GEM
|
|
|
22
23
|
method_source (~> 0.9.0)
|
|
23
24
|
rainbow (3.0.0)
|
|
24
25
|
rake (10.5.0)
|
|
25
|
-
redis (
|
|
26
|
+
redis (5.3.0)
|
|
27
|
+
redis-client (>= 0.22.0)
|
|
28
|
+
redis-client (0.23.0)
|
|
29
|
+
connection_pool
|
|
26
30
|
rspec (3.7.0)
|
|
27
31
|
rspec-core (~> 3.7.0)
|
|
28
32
|
rspec-expectations (~> 3.7.0)
|
|
@@ -55,7 +59,7 @@ PLATFORMS
|
|
|
55
59
|
ruby
|
|
56
60
|
|
|
57
61
|
DEPENDENCIES
|
|
58
|
-
bundler (~> 1.
|
|
62
|
+
bundler (~> 2.1.4)
|
|
59
63
|
fflags!
|
|
60
64
|
pry
|
|
61
65
|
rake (~> 10.0)
|
|
@@ -64,4 +68,4 @@ DEPENDENCIES
|
|
|
64
68
|
simplecov
|
|
65
69
|
|
|
66
70
|
BUNDLED WITH
|
|
67
|
-
1.
|
|
71
|
+
2.1.4
|
data/fflags.gemspec
CHANGED
|
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
|
|
24
24
|
spec.add_runtime_dependency 'redis', '>= 3.0.0'
|
|
25
25
|
|
|
26
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
|
26
|
+
spec.add_development_dependency 'bundler', '~> 2.1.4'
|
|
27
27
|
spec.add_development_dependency 'pry'
|
|
28
28
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
29
29
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
data/lib/fflags/api.rb
CHANGED
|
@@ -14,8 +14,10 @@ module FFlags
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def set_flag(flag_name, bool)
|
|
17
|
-
supported_flag?(flag_name)
|
|
18
|
-
|
|
17
|
+
return false unless supported_flag?(flag_name)
|
|
18
|
+
|
|
19
|
+
client.set(key, flag_name, bool)
|
|
20
|
+
true
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
def get_flag(flag_name)
|
|
@@ -58,7 +60,7 @@ module FFlags
|
|
|
58
60
|
end
|
|
59
61
|
|
|
60
62
|
def client
|
|
61
|
-
RedisClient
|
|
63
|
+
@client ||= RedisClient.new
|
|
62
64
|
end
|
|
63
65
|
|
|
64
66
|
def default_flags
|
data/lib/fflags/redis_client.rb
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
module FFlags
|
|
2
2
|
# Redis Client
|
|
3
3
|
class RedisClient
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
end
|
|
4
|
+
# hset doesn't return explicitly true or false
|
|
5
|
+
def set(key, field, value)
|
|
6
|
+
return false if value.nil?
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
end
|
|
8
|
+
client.hset(key, field, value.to_s)
|
|
9
|
+
end
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
def all(key)
|
|
12
|
+
client.hgetall(key)
|
|
13
|
+
end
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
def get(key, field)
|
|
16
|
+
client.hget(key, field)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def reset(key)
|
|
20
|
+
client.del(key)
|
|
21
|
+
end
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
private
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
end
|
|
25
|
+
def client
|
|
26
|
+
@client ||= Redis.new(url: FFlags.configuration.redis_url)
|
|
26
27
|
end
|
|
27
28
|
end
|
|
28
29
|
end
|
data/lib/fflags/version.rb
CHANGED
data/lib/fflags.rb
CHANGED
|
@@ -17,9 +17,14 @@ module FFlags
|
|
|
17
17
|
# end
|
|
18
18
|
def config
|
|
19
19
|
yield configuration
|
|
20
|
+
reset_api
|
|
20
21
|
api.load_flags
|
|
21
22
|
end
|
|
22
23
|
|
|
24
|
+
def reset_api
|
|
25
|
+
@api = nil
|
|
26
|
+
end
|
|
27
|
+
|
|
23
28
|
# Reset the whole config to the default values
|
|
24
29
|
#
|
|
25
30
|
# Ex.
|
|
@@ -123,7 +128,7 @@ module FFlags
|
|
|
123
128
|
def method_missing(method_name, *args)
|
|
124
129
|
flag_name = method_name[0..-2]
|
|
125
130
|
|
|
126
|
-
return super
|
|
131
|
+
return super unless method_name.to_s.end_with?('?')
|
|
127
132
|
|
|
128
133
|
api.enabled?(flag_name)
|
|
129
134
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fflags
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Faizal Zakaria
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-12-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: redis
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 2.1.4
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 2.1.4
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: pry
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,7 +136,7 @@ homepage: https://github.com/faizalzakaria/fflags
|
|
|
136
136
|
licenses:
|
|
137
137
|
- MIT
|
|
138
138
|
metadata: {}
|
|
139
|
-
post_install_message:
|
|
139
|
+
post_install_message:
|
|
140
140
|
rdoc_options: []
|
|
141
141
|
require_paths:
|
|
142
142
|
- lib
|
|
@@ -151,8 +151,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
152
|
version: '0'
|
|
153
153
|
requirements: []
|
|
154
|
-
rubygems_version: 3.
|
|
155
|
-
signing_key:
|
|
154
|
+
rubygems_version: 3.1.6
|
|
155
|
+
signing_key:
|
|
156
156
|
specification_version: 4
|
|
157
157
|
summary: Feature flags that can be override on the fly.
|
|
158
158
|
test_files: []
|