flipper-mongo 0.10.2 → 0.11.0.beta1

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
  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