feature_flags 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -31,22 +31,19 @@ then do
31
31
 
32
32
  rake db:migrate
33
33
 
34
- ##############################################################################
35
-
36
- To check whether paritcular feature is enabled or not use
37
-
38
- FeatureFlags.enabled?(:feature_name)
39
-
40
- this will check whether feature is enabled or not, and if its not present/created ,it will create that feature and set it to enabled by default.
41
34
 
42
35
  ##############################################################################
36
+ FeatureFlags.enabled?(:feature_name) To check whether particular feature is enabled or not
43
37
 
44
38
  FeatureFlags.enable_all To enable all features in your app.
45
39
 
46
40
  FeatureFlags.disable_all To disable all features in your app.
47
41
 
48
42
  FeatureFlags.set_disabled(:feature_name) To disable feature in your app.
43
+
44
+ FeatureFlags.create_and_enable(:feature_name) To create and enable feature
49
45
 
46
+ FeatureFlags.enable(feature_name) To enable feature
50
47
 
51
48
  ##############################################################################
52
49
 
data/lib/feature_flags.rb CHANGED
@@ -1,35 +1,10 @@
1
1
 
2
2
  require "feature_flags/version"
3
3
  require "feature_flags/configuration"
4
+ require "feature_flags/manage_features"
4
5
  require "feature_flags/engine"
5
6
  require "active_support/dependencies"
6
7
 
7
8
  module FeatureFlags
8
9
  # Your code goes here...\
9
-
10
- def self.enabled?(feature_name)
11
- feature = Feature.where(:name => feature_name).first
12
-
13
- if feature.present?
14
- feature.status? ? true : false
15
- elsif
16
- Feature.create!(:name => feature_name, :status => true)
17
- return true
18
- end
19
-
20
- end
21
-
22
- def self.set_disabled(feature_name)
23
- feature = Feature.where(:name => feature_name).first
24
- (feature.present? && feature.update_attributes(:status => false)) ? true : false
25
- end
26
-
27
- def self.disable_all
28
- Feature.update_all(:status => false)
29
- end
30
-
31
- def self.enable_all
32
- Feature.update_all(:status => true)
33
- end
34
-
35
10
  end
@@ -0,0 +1,56 @@
1
+ module FeatureFlags
2
+ def self.enabled?(feature_name)
3
+ feature = Feature.where(:name => feature_name).last
4
+
5
+ if feature.present?
6
+ feature.status? ? true : false
7
+ else
8
+ #Feature.create!(:name => feature_name, :status => true)
9
+ #return true
10
+ raise "#{feature_name} feature not found."
11
+ end
12
+
13
+ end
14
+
15
+ def self.create_and_enable(feature_name)
16
+ feature = Feature.new(:name => feature_name, :status => true)
17
+ feature.save ? true : false
18
+ end
19
+
20
+ def self.enable(feature_name)
21
+ feature = Feature.where(:name => feature_name).last
22
+ if feature.present?
23
+
24
+ if feature.update_attributes(:status => true)
25
+ return true
26
+ else
27
+ false
28
+ end
29
+ else
30
+ raise "#{feature_name} feature not found."
31
+ end
32
+ end
33
+
34
+ def self.set_disabled(feature_name)
35
+ feature = Feature.where(:name => feature_name).last
36
+ if feature.present?
37
+
38
+ if feature.update_attributes(:status => false)
39
+ return true
40
+ else
41
+ false
42
+ end
43
+ else
44
+ raise "#{feature_name} feature not found."
45
+ end
46
+ end
47
+
48
+ def self.disable_all
49
+ Feature.update_all(:status => false)
50
+ end
51
+
52
+ def self.enable_all
53
+ Feature.update_all(:status => true)
54
+ end
55
+
56
+ end
@@ -1,3 +1,3 @@
1
1
  module FeatureFlags
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feature_flags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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-08-29 00:00:00.000000000 Z
12
+ date: 2013-08-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -65,6 +65,7 @@ files:
65
65
  - lib/feature_flags.rb
66
66
  - lib/feature_flags/configuration.rb
67
67
  - lib/feature_flags/engine.rb
68
+ - lib/feature_flags/manage_features.rb
68
69
  - lib/feature_flags/version.rb
69
70
  - lib/generators/feature_flags/install_generator.rb
70
71
  - lib/generators/feature_flags/templates/feature_flag.rb