flipper-api 0.17.1 → 0.20.0.beta1

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: 5fdc0ff2b6c491a02f9f3fce956a4a743fb7148aad12b7ae753fffba17f367d2
4
- data.tar.gz: d3a9e3a9771b7e17a88138bd3fb0ed68d8cb30ea745ebc40caf69d9deb747eec
3
+ metadata.gz: 622414d66b3f6c5f78e1b97517a524bda8fcef67b856b94dbe9143f2c311d009
4
+ data.tar.gz: 9e480ccda42da003c30e8686d10909f4c0b5c76bcd35b5d106f26bd1bff16cee
5
5
  SHA512:
6
- metadata.gz: 539c015a2a5f7681c7aaed9689f9d6592997bf18dbd0ac4e252236e66153be04719868de4d3595eb3a0eed336e81291a11306dce824e7b7fd41d58092ad10ffc
7
- data.tar.gz: fb4db8e44b46753892053593590bb57c926b1157ea5761b76dd01a09684165c60eee5b82552f518965ee159d53a5750645a2d403fa4836ab2e6e6115871f62a2
6
+ metadata.gz: 7ffc20e7c12bde3b9a0226cedf53ebb5bbcb4a7d144d001b8117c1afab432564c4d5c91eee54b426259b68e8b347a170ea8343e427125989a0457a4d4475668e
7
+ data.tar.gz: 4d8052fa5976fe0e9b3e38695af6db08fe664b181db4fa6a737f3de1725870c4987a4361206bb3e07dbda9c4e29aeefe8f6bd0f1dd0292d4d2d46d067ce6498d
@@ -10,11 +10,10 @@ Gem::Specification.new do |gem|
10
10
  gem.authors = ['John Nunemaker']
11
11
  gem.email = ['nunemaker@gmail.com']
12
12
  gem.summary = 'API for the Flipper gem'
13
- gem.description = 'Rack middleware that provides an API for the flipper gem.'
14
13
  gem.license = 'MIT'
15
14
  gem.homepage = 'https://github.com/jnunemaker/flipper'
16
- gem.files = `git ls-files`.split("\n").select(&flipper_api_files) + ['lib/flipper/version.rb'] # rubocop:disable Metrics/LineLength
17
- gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n").select(&flipper_api_files) # rubocop:disable Metrics/LineLength
15
+ gem.files = `git ls-files`.split("\n").select(&flipper_api_files) + ['lib/flipper/version.rb']
16
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n").select(&flipper_api_files)
18
17
  gem.name = 'flipper-api'
19
18
  gem.require_paths = ['lib']
20
19
  gem.version = Flipper::VERSION
@@ -9,12 +9,14 @@ module Flipper
9
9
 
10
10
  def self.app(flipper = nil, options = {})
11
11
  env_key = options.fetch(:env_key, 'flipper')
12
+ memoizer_options = options.fetch(:memoizer_options, {})
13
+
12
14
  app = ->(_) { [404, { 'Content-Type'.freeze => CONTENT_TYPE }, ['{}'.freeze]] }
13
15
  builder = Rack::Builder.new
14
16
  yield builder if block_given?
15
17
  builder.use Flipper::Api::JsonParams
16
18
  builder.use Flipper::Middleware::SetupEnv, flipper, env_key: env_key
17
- builder.use Flipper::Middleware::Memoizer, env_key: env_key
19
+ builder.use Flipper::Middleware::Memoizer, memoizer_options.merge(env_key: env_key)
18
20
  builder.use Flipper::Api::Middleware, env_key: env_key
19
21
  builder.run app
20
22
  klass = self
@@ -11,19 +11,19 @@ module Flipper
11
11
  def get
12
12
  keys = params['keys']
13
13
  features = if keys
14
- names = keys.split(',')
15
- if names.empty?
16
- []
17
- else
18
- existing_feature_names = names.keep_if do |feature_name|
19
- feature_exists?(feature_name)
20
- end
21
-
22
- flipper.preload(existing_feature_names)
23
- end
24
- else
25
- flipper.features
26
- end
14
+ names = keys.split(',')
15
+ if names.empty?
16
+ []
17
+ else
18
+ existing_feature_names = names.keep_if do |feature_name|
19
+ feature_exists?(feature_name)
20
+ end
21
+
22
+ flipper.preload(existing_feature_names)
23
+ end
24
+ else
25
+ flipper.features
26
+ end
27
27
 
28
28
  decorated_features = features.map do |feature|
29
29
  Decorators::Feature.new(feature).as_json
@@ -12,12 +12,14 @@ module Flipper
12
12
  # Public: Returns instance as hash that is ready to be json dumped.
13
13
  def as_json
14
14
  gate_values = feature.adapter.get(self)
15
+ gates_json = gates.map do |gate|
16
+ Decorators::Gate.new(gate, gate_values[gate.key]).as_json
17
+ end
18
+
15
19
  {
16
20
  'key' => key,
17
21
  'state' => state.to_s,
18
- 'gates' => gates.map do |gate|
19
- Decorators::Gate.new(gate, gate_values[gate.key]).as_json
20
- end,
22
+ 'gates' => gates_json,
21
23
  }
22
24
  end
23
25
  end
@@ -1,3 +1,3 @@
1
1
  module Flipper
2
- VERSION = '0.17.1'.freeze
2
+ VERSION = '0.20.0.beta1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flipper-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.1
4
+ version: 0.20.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Nunemaker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-14 00:00:00.000000000 Z
11
+ date: 2020-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -36,15 +36,15 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.17.1
39
+ version: 0.20.0.beta1
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.17.1
47
- description: Rack middleware that provides an API for the flipper gem.
46
+ version: 0.20.0.beta1
47
+ description:
48
48
  email:
49
49
  - nunemaker@gmail.com
50
50
  executables: []
@@ -101,9 +101,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - ">="
104
+ - - ">"
105
105
  - !ruby/object:Gem::Version
106
- version: '0'
106
+ version: 1.3.1
107
107
  requirements: []
108
108
  rubygems_version: 3.0.3
109
109
  signing_key: