Module: FeatureCop
- Includes:
- Blacklist, Sampling, Toggle, Whitelist
- Defined in:
- lib/feature_cop.rb,
lib/feature_cop/toggle.rb,
lib/feature_cop/version.rb,
lib/feature_cop/sampling.rb,
lib/feature_cop/blacklist.rb,
lib/feature_cop/whitelist.rb
Defined Under Namespace
Modules: Blacklist, Sampling, Toggle, Whitelist
Constant Summary
collapse
- VERSION =
"0.2.0"
Class Method Summary
collapse
Methods included from Toggle
included
Methods included from Sampling
included
Methods included from Blacklist
included
Methods included from Whitelist
included
Class Method Details
.allows?(feature, identifier = nil, options = {}) ⇒ Boolean
21
22
23
24
25
|
# File 'lib/feature_cop.rb', line 21
def self.allows?(feature, identifier = nil, options = {})
feature_status = ENV["#{feature.to_s.upcase}"]
return false if feature_status.nil?
self.method(feature_status.downcase).call(feature.to_s, identifier.to_s, options)
end
|
.as_json(identifier = nil) ⇒ Object
47
48
49
50
51
52
53
|
# File 'lib/feature_cop.rb', line 47
def self.as_json(identifier = nil)
feature_set = {}
features.each_pair do |feature, setting|
feature_set[feature.downcase.camelize(:lower)] = self.method(setting.downcase).call(feature, identifier)
end
feature_set
end
|
.env ⇒ Object
27
28
29
|
# File 'lib/feature_cop.rb', line 27
def self.env
@env ||= ENV["RAILS_ENV"] || ENV["RACK_ENV"] || ENV["APP_ENV"] || ENV["APP_ENV"] || "development"
end
|
.features ⇒ Object
31
32
33
|
# File 'lib/feature_cop.rb', line 31
def self.features
@features ||= self.set_features
end
|
.reset_features ⇒ Object
35
36
37
|
# File 'lib/feature_cop.rb', line 35
def self.reset_features
@features = self.set_features
end
|
.set_features ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/feature_cop.rb', line 39
def self.set_features
features = {}
ENV.each_pair do |key, value|
features[key] = value if key.end_with?("_FEATURE")
end
return features
end
|
.to_json(identifier = nil) ⇒ Object
55
56
57
|
# File 'lib/feature_cop.rb', line 55
def self.to_json(identifier = nil)
self.as_json(identifier).to_json
end
|