Module: FeatureFlagger::Model
- Defined in:
- lib/feature_flagger/model.rb
Overview
Model provides convinient methods for Rails Models class Account
include FeatureFlagger::Model
end
Example: Account.first.rollout?([:email_marketing, :new_awesome_feature]) #=> true
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #release(*feature_key) ⇒ Object
-
#release!(*feature_key) ⇒ Object
DEPRECATED: Please use
releaseinstead. - #rollout?(*feature_key) ⇒ Boolean
- #unrelease(*feature_key) ⇒ Object
-
#unrelease!(*feature_key) ⇒ Object
DEPRECATED: Please use
unreleaseinstead.
Class Method Details
.included(base) ⇒ Object
11 12 13 |
# File 'lib/feature_flagger/model.rb', line 11 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#release(*feature_key) ⇒ Object
25 26 27 28 29 |
# File 'lib/feature_flagger/model.rb', line 25 def release(*feature_key) resource_name = self.class.rollout_resource_name feature = Feature.new(feature_key, resource_name) FeatureFlagger.control.release(feature.key, id) end |
#release!(*feature_key) ⇒ Object
DEPRECATED: Please use release instead.
20 21 22 23 |
# File 'lib/feature_flagger/model.rb', line 20 def release!(*feature_key) warn "[DEPRECATION] `release!` is deprecated. Please use `release` instead." release(*feature_key) end |
#rollout?(*feature_key) ⇒ Boolean
15 16 17 |
# File 'lib/feature_flagger/model.rb', line 15 def rollout?(*feature_key) self.class.released_id?(id, feature_key) end |
#unrelease(*feature_key) ⇒ Object
37 38 39 40 41 |
# File 'lib/feature_flagger/model.rb', line 37 def unrelease(*feature_key) resource_name = self.class.rollout_resource_name feature = Feature.new(feature_key, resource_name) FeatureFlagger.control.unrelease(feature.key, id) end |
#unrelease!(*feature_key) ⇒ Object
DEPRECATED: Please use unrelease instead.
32 33 34 35 |
# File 'lib/feature_flagger/model.rb', line 32 def unrelease!(*feature_key) warn "[DEPRECATION] `unrelease!` is deprecated. Please use `unrelease` instead." unrelease(*feature_key) end |