fflags 0.5.0 → 0.6.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e2f63d81a107ec4d807a6cc795c1651a0125b2b53bf6c9189296fe57e63282d
4
- data.tar.gz: e97e95c958b051e807db4950a3f24244ad8a5e96067ca5c458bd6209116dc8b6
3
+ metadata.gz: 63792014f50a2b4d0d0c03328054ef487a42dc350e94137edd54d59063943ee5
4
+ data.tar.gz: d30a3a98976a4bc971f0ae3516a54a32f254e0d6704aac596561d6df7c93f17a
5
5
  SHA512:
6
- metadata.gz: 8c0d86f44425a51fa4d1c265871355f16017b097624c9d44649dfcc149f3cf6e45203e720fd1d4ff5b38abe015e5bc67fd80591b5bd49af03adac8ec2e9983bb
7
- data.tar.gz: db514f52f941489ba8d2339f7840bf2c9b0a430815163591172aa929cbc0d4b27160ff1dc72b4d7ff2bc43da16ce8e5c72f7ea03d26e1f939ddcfa723c4145f6
6
+ metadata.gz: b564af9ccf9096236e6476422d353350a24d486efe707e775acf3111caa2cc76a8874aacce80f523ba83b726b6e09abdeb9513c95d65306bc96298a58ab748a4
7
+ data.tar.gz: 4aa99856df6415fb8fd1d7a3dc153501dc1fabe2ff8fab7957f6978ece0d30652feec542e23e7fa441c59c1fa98d8d3ae477bbfc8737b0fc0b6addc611964c1e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fflags (0.5.0)
4
+ fflags (0.6.0)
5
5
  redis (>= 3.0.0)
6
6
 
7
7
  GEM
data/lib/fflags/api.rb CHANGED
@@ -60,7 +60,7 @@ module FFlags
60
60
  end
61
61
 
62
62
  def client
63
- RedisClient
63
+ @client ||= RedisClient.new
64
64
  end
65
65
 
66
66
  def default_flags
@@ -1,7 +1,8 @@
1
1
  module FFlags
2
2
  # Configuration Class
3
3
  class Configuration
4
- attr_accessor :key, :redis_url, :debug, :flags, :templates
4
+ attr_accessor :key, :debug, :flags, :templates, :redis_options
5
+ attr_accessor :redis_url # Legacy support
5
6
 
6
7
  def initialize
7
8
  set_default_values
@@ -11,7 +12,7 @@ module FFlags
11
12
 
12
13
  def set_default_values
13
14
  @key = 'code3.io'
14
- @redis_url = 'redis://127.0.0.1:6379'
15
+ @redis_options = {url: 'redis://127.0.0.1:6379'}
15
16
  @debug = false
16
17
  @flags = {}
17
18
  @templates = {}
@@ -1,30 +1,33 @@
1
1
  module FFlags
2
2
  # Redis Client
3
3
  class RedisClient
4
- class << self
5
- # hset doesn't return explicitly true or false
6
- def set(key, field, value)
7
- return false if value.nil?
4
+ # hset doesn't return explicitly true or false
5
+ def set(key, field, value)
6
+ return false if value.nil?
8
7
 
9
- client.hset(key, field, value.to_s)
10
- end
8
+ client.hset(key, field, value.to_s)
9
+ end
11
10
 
12
- def all(key)
13
- client.hgetall(key)
14
- end
11
+ def all(key)
12
+ client.hgetall(key)
13
+ end
15
14
 
16
- def get(key, field)
17
- client.hget(key, field)
18
- end
15
+ def get(key, field)
16
+ client.hget(key, field)
17
+ end
19
18
 
20
- def reset(key)
21
- client.del(key)
22
- end
19
+ def reset(key)
20
+ client.del(key)
21
+ end
23
22
 
24
- private
23
+ private
25
24
 
26
- def client
25
+ def client
26
+ if FFlags.configuration.redis_url
27
+ # Legacy support
27
28
  @client ||= Redis.new(url: FFlags.configuration.redis_url)
29
+ else
30
+ @client ||= Redis.new(FFlags.configuration.redis_options)
28
31
  end
29
32
  end
30
33
  end
@@ -1,3 +1,3 @@
1
1
  module FFlags
2
- VERSION = '0.5.0'.freeze
2
+ VERSION = '0.6.0'.freeze
3
3
  end
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.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fflags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Faizal Zakaria