flipper-mongo 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,6 +15,6 @@ Gem::Specification.new do |gem|
15
15
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
16
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
17
 
18
- gem.add_dependency 'flipper', '~> 0.5.0'
18
+ gem.add_dependency 'flipper', '~> 0.6.0'
19
19
  gem.add_dependency 'mongo', '~> 1.8'
20
20
  end
@@ -18,6 +18,29 @@ module Flipper
18
18
  @name = :mongo
19
19
  end
20
20
 
21
+ # Public: The set of known features.
22
+ def features
23
+ find(FeaturesKey).fetch('features') { Set.new }.to_set
24
+ end
25
+
26
+ # Public: Adds a feature to the set of known features.
27
+ def add(feature)
28
+ update FeaturesKey, '$addToSet' => {'features' => feature.name.to_s}
29
+ true
30
+ end
31
+
32
+ # Public: Removes a feature from the set of known features.
33
+ def remove(feature)
34
+ update FeaturesKey, '$pull' => {'features' => feature.name.to_s}
35
+ clear feature
36
+ true
37
+ end
38
+
39
+ # Public: Clears all the gate values for a feature.
40
+ def clear(feature)
41
+ delete feature.key
42
+ end
43
+
21
44
  # Public: Gets the values for all gates for a given feature.
22
45
  #
23
46
  # Returns a Hash of Flipper::Gate#key => value.
@@ -73,7 +96,7 @@ module Flipper
73
96
  def disable(feature, gate, thing)
74
97
  case gate.data_type
75
98
  when :boolean
76
- remove feature.key
99
+ delete feature.key
77
100
  when :integer
78
101
  update feature.key, '$set' => {gate.key.to_s => thing.value.to_s}
79
102
  when :set
@@ -85,17 +108,6 @@ module Flipper
85
108
  true
86
109
  end
87
110
 
88
- # Public: Adds a feature to the set of known features.
89
- def add(feature)
90
- update FeaturesKey, '$addToSet' => {'features' => feature.name.to_s}
91
- true
92
- end
93
-
94
- # Public: The set of known features.
95
- def features
96
- find(FeaturesKey).fetch('features') { Set.new }.to_set
97
- end
98
-
99
111
  # Private
100
112
  def unsupported_data_type(data_type)
101
113
  raise "#{data_type} is not supported by this adapter"
@@ -113,7 +125,7 @@ module Flipper
113
125
  end
114
126
 
115
127
  # Private
116
- def remove(key)
128
+ def delete(key)
117
129
  @collection.remove criteria(key)
118
130
  end
119
131
 
@@ -1,7 +1,7 @@
1
1
  module Flipper
2
2
  module Adapters
3
3
  class Mongo
4
- VERSION = "0.5.0"
4
+ VERSION = "0.6.0"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flipper-mongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-16 00:00:00.000000000 Z
12
+ date: 2013-02-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: flipper
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.5.0
21
+ version: 0.6.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 0.5.0
29
+ version: 0.6.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: mongo
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -79,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
79
79
  version: '0'
80
80
  segments:
81
81
  - 0
82
- hash: 1536259830562571499
82
+ hash: 2022872060542852797
83
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
@@ -88,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  version: '0'
89
89
  segments:
90
90
  - 0
91
- hash: 1536259830562571499
91
+ hash: 2022872060542852797
92
92
  requirements: []
93
93
  rubyforge_project:
94
94
  rubygems_version: 1.8.23