fflags 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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