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
- #released?(*feature_key, **options) ⇒ Boolean
- #releases(options = {}) ⇒ Object
- #unrelease(*feature_key) ⇒ Object
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
19 20 21 |
# File 'lib/feature_flagger/model.rb', line 19 def release(*feature_key) self.class.release_id(feature_flagger_identifier, *feature_key) end |
#released?(*feature_key, **options) ⇒ Boolean
15 16 17 |
# File 'lib/feature_flagger/model.rb', line 15 def released?(*feature_key, **) self.class.released_id?(feature_flagger_identifier, *feature_key, **) end |
#releases(options = {}) ⇒ Object
29 30 31 32 |
# File 'lib/feature_flagger/model.rb', line 29 def releases( = {}) resource_name = self.class.feature_flagger_model_settings.entity_name FeatureFlagger.control.releases(resource_name, id, ) end |
#unrelease(*feature_key) ⇒ Object
23 24 25 26 27 |
# File 'lib/feature_flagger/model.rb', line 23 def unrelease(*feature_key) resource_name = self.class.feature_flagger_model_settings.entity_name feature = Feature.new(feature_key, resource_name) FeatureFlagger.control.unrelease(feature.key, id) end |