flipper-mongo 0.10.2 → 0.11.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
  SHA1:
3
- metadata.gz: 7891f99a1fdfd655c3bd35799f5ff5538c368762
4
- data.tar.gz: df2070a28f90ffd63a7b187a6c6c34c8aa28db38
3
+ metadata.gz: f06fd74d0a4fbcecc9235c77908d39549f8ecc2e
4
+ data.tar.gz: 7260c6caccbb47c35bc30ecd16d1818baa7ae613
5
5
  SHA512:
6
- metadata.gz: 21e873aecd058e8fd1b3bef37c047a8edf056c0fcdfc3001a90ce25b5d6de893f400f812abee528ba5a343dbc189a54fb4436aa0c48fe814f8c7a2631132bc20
7
- data.tar.gz: 252121e68251b1e6c1a233b13a980c7aaadcc12f88714b3152e2040aab4a32abc7b6b2e9db7f26d5ebc3650a0447a35a1f0dfba74bcd5722b401eb3de49eff6a
6
+ metadata.gz: aadced95c9020ed16ba14287b0a89a4c5ca4f6dac90c417cd13f2191e06dc9db7751c7a4021d403797006ab654723453d43e64fa279ebf2e5ae7ed8407482965
7
+ data.tar.gz: 5afb25c8ade341e7c7f44fe835f9167fe044fc313b7b18f81be55f93fedc8ed725b882496089008ebbf8117f71a0e8bc0a4fd6f5f5f2bd910c0759feb89a0ce5
@@ -1,22 +1,22 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  require File.expand_path('../lib/flipper/version', __FILE__)
3
3
 
4
- flipper_mongo_files = lambda { |file|
4
+ flipper_mongo_files = lambda do |file|
5
5
  file =~ /mongo/
6
- }
6
+ end
7
7
 
8
8
  Gem::Specification.new do |gem|
9
- gem.authors = ["John Nunemaker"]
10
- gem.email = ["nunemaker@gmail.com"]
11
- gem.summary = "Mongo adapter for Flipper"
12
- gem.description = "Mongo adapter for Flipper"
13
- gem.license = "MIT"
14
- gem.homepage = "https://github.com/jnunemaker/flipper"
9
+ gem.authors = ['John Nunemaker']
10
+ gem.email = ['nunemaker@gmail.com']
11
+ gem.summary = 'Mongo adapter for Flipper'
12
+ gem.description = 'Mongo adapter for Flipper'
13
+ gem.license = 'MIT'
14
+ gem.homepage = 'https://github.com/jnunemaker/flipper'
15
15
 
16
- gem.files = `git ls-files`.split("\n").select(&flipper_mongo_files) + ["lib/flipper/version.rb"]
16
+ gem.files = `git ls-files`.split("\n").select(&flipper_mongo_files) + ['lib/flipper/version.rb']
17
17
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n").select(&flipper_mongo_files)
18
- gem.name = "flipper-mongo"
19
- gem.require_paths = ["lib"]
18
+ gem.name = 'flipper-mongo'
19
+ gem.require_paths = ['lib']
20
20
  gem.version = Flipper::VERSION
21
21
 
22
22
  gem.add_dependency 'flipper', "~> #{Flipper::VERSION}"
@@ -25,13 +25,13 @@ module Flipper
25
25
 
26
26
  # Public: Adds a feature to the set of known features.
27
27
  def add(feature)
28
- update FeaturesKey, '$addToSet' => {'features' => feature.key}
28
+ update FeaturesKey, '$addToSet' => { 'features' => feature.key }
29
29
  true
30
30
  end
31
31
 
32
32
  # Public: Removes a feature from the set of known features.
33
33
  def remove(feature)
34
- update FeaturesKey, '$pull' => {'features' => feature.key}
34
+ update FeaturesKey, '$pull' => { 'features' => feature.key }
35
35
  clear feature
36
36
  true
37
37
  end
@@ -95,9 +95,9 @@ module Flipper
95
95
  when :boolean
96
96
  delete feature.key
97
97
  when :integer
98
- update feature.key, '$set' => {gate.key.to_s => thing.value.to_s}
98
+ update feature.key, '$set' => { gate.key.to_s => thing.value.to_s }
99
99
  when :set
100
- update feature.key, '$pull' => {gate.key.to_s => thing.value.to_s}
100
+ update feature.key, '$pull' => { gate.key.to_s => thing.value.to_s }
101
101
  else
102
102
  unsupported_data_type gate.data_type
103
103
  end
@@ -112,40 +112,41 @@ module Flipper
112
112
 
113
113
  # Private
114
114
  def find(key)
115
- @collection.find({:_id => key.to_s}).limit(1).first || {}
115
+ @collection.find(_id: key.to_s).limit(1).first || {}
116
116
  end
117
117
 
118
118
  def find_many(keys)
119
- docs = @collection.find({_id: {'$in' => keys}}).to_a
119
+ docs = @collection.find(_id: { '$in' => keys }).to_a
120
120
  result = Hash.new { |hash, key| hash[key] = {} }
121
121
  docs.each do |doc|
122
- result[doc["_id"]] = doc
122
+ result[doc['_id']] = doc
123
123
  end
124
124
  result
125
125
  end
126
126
 
127
127
  # Private
128
128
  def update(key, updates)
129
- options = {:upsert => true}
130
- @collection.find({:_id => key.to_s}).update_one(updates, options)
129
+ options = { upsert: true }
130
+ @collection.find(_id: key.to_s).update_one(updates, options)
131
131
  end
132
132
 
133
133
  # Private
134
134
  def delete(key)
135
- @collection.find({:_id => key.to_s}).delete_one
135
+ @collection.find(_id: key.to_s).delete_one
136
136
  end
137
137
 
138
138
  def result_for_feature(feature, doc)
139
139
  result = {}
140
140
  feature.gates.each do |gate|
141
- result[gate.key] = case gate.data_type
142
- when :boolean, :integer
143
- doc[gate.key.to_s]
144
- when :set
145
- doc.fetch(gate.key.to_s) { Set.new }.to_set
146
- else
147
- unsupported_data_type gate.data_type
148
- end
141
+ result[gate.key] =
142
+ case gate.data_type
143
+ when :boolean, :integer
144
+ doc[gate.key.to_s]
145
+ when :set
146
+ doc.fetch(gate.key.to_s) { Set.new }.to_set
147
+ else
148
+ unsupported_data_type gate.data_type
149
+ end
149
150
  end
150
151
  result
151
152
  end
@@ -1,3 +1,3 @@
1
1
  module Flipper
2
- VERSION = "0.10.2".freeze
2
+ VERSION = '0.11.0.beta1'.freeze
3
3
  end
@@ -5,14 +5,15 @@ require 'flipper/spec/shared_adapter_specs'
5
5
  Mongo::Logger.logger.level = Logger::INFO
6
6
 
7
7
  RSpec.describe Flipper::Adapters::Mongo do
8
- let(:host) { ENV["BOXEN_MONGODB_HOST"] || '127.0.0.1' }
9
- let(:port) { ENV["BOXEN_MONGODB_PORT"] || 27017 }
8
+ subject { described_class.new(collection) }
10
9
 
11
- let(:collection) {
12
- Mongo::Client.new(["#{host}:#{port}"], :server_selection_timeout => 1, :database => 'testing')['testing']
13
- }
10
+ let(:host) { ENV['BOXEN_MONGODB_HOST'] || '127.0.0.1' }
11
+ let(:port) { ENV['BOXEN_MONGODB_PORT'] || 27017 }
14
12
 
15
- subject { described_class.new(collection) }
13
+ let(:client) do
14
+ Mongo::Client.new(["#{host}:#{port}"], server_selection_timeout: 1, database: 'testing')
15
+ end
16
+ let(:collection) { client['testing'] }
16
17
 
17
18
  before do
18
19
  begin
@@ -5,10 +5,14 @@ class MongoTest < MiniTest::Test
5
5
  prepend Flipper::Test::SharedAdapterTests
6
6
 
7
7
  def setup
8
- host = '127.0.0.1'
8
+ host = ENV.fetch('BOXEN_MONGODB_HOST', '127.0.0.1')
9
9
  port = '27017'
10
- logger = Logger.new("/dev/null")
11
- collection = Mongo::Client.new(["#{host}:#{port}"], server_selection_timeout: 1, database: 'testing', logger: logger)['testing']
10
+ logger = Logger.new('/dev/null')
11
+ client = Mongo::Client.new(["#{host}:#{port}"],
12
+ server_selection_timeout: 1,
13
+ database: 'testing',
14
+ logger: logger)
15
+ collection = client['testing']
12
16
  begin
13
17
  collection.drop
14
18
  collection.create
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flipper-mongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.2
4
+ version: 0.11.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: 2016-12-08 00:00:00.000000000 Z
11
+ date: 2017-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: flipper
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.10.2
19
+ version: 0.11.0.beta1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.10.2
26
+ version: 0.11.0.beta1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mongo
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -69,12 +69,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
69
69
  version: '0'
70
70
  required_rubygems_version: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - ">="
72
+ - - ">"
73
73
  - !ruby/object:Gem::Version
74
- version: '0'
74
+ version: 1.3.1
75
75
  requirements: []
76
76
  rubyforge_project:
77
- rubygems_version: 2.4.5.1
77
+ rubygems_version: 2.5.2
78
78
  signing_key:
79
79
  specification_version: 4
80
80
  summary: Mongo adapter for Flipper