module FeatureFlagger::Model
Model
provides convinient methods for Rails Models class Account
include FeatureFlagger::Model
end
Example: Account.first.rollout?([:email_marketing, :new_awesome_feature]) #=> true
Public Class Methods
included(base)
click to toggle source
# File lib/feature_flagger/model.rb, line 11 def self.included(base) base.extend ClassMethods end
Public Instance Methods
release(*feature_key)
click to toggle source
# 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)
click to toggle source
# File lib/feature_flagger/model.rb, line 15 def released?(*feature_key, **options) self.class.released_id?(feature_flagger_identifier, feature_key, options) end
releases(options = {})
click to toggle source
# File lib/feature_flagger/model.rb, line 29 def releases(options = {}) resource_name = self.class.feature_flagger_model_settings.entity_name FeatureFlagger.control.releases(resource_name, id, options) end
unrelease(*feature_key)
click to toggle source
# 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
Private Instance Methods
feature_flagger_identifier()
click to toggle source
# File lib/feature_flagger/model.rb, line 36 def feature_flagger_identifier public_send(self.class.feature_flagger_model_settings.identifier_field) end