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

Class Method Details

.included(base) ⇒ Object



13
14
15
# File 'lib/feature_flagger/model.rb', line 13

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#release(*feature_key) ⇒ Object



21
22
23
# File 'lib/feature_flagger/model.rb', line 21

def release(*feature_key)
  self.class.release_id(feature_flagger_identifier, *feature_key)
end

#released?(*feature_key) ⇒ Boolean

Returns:



17
18
19
# File 'lib/feature_flagger/model.rb', line 17

def released?(*feature_key)
  self.class.released_id?(feature_flagger_identifier, feature_key)
end

#releasesObject



25
26
27
# File 'lib/feature_flagger/model.rb', line 25

def releases
  self.class.release_keys(feature_flagger_identifier)
end

#unrelease(*feature_key) ⇒ Object



29
30
31
32
# File 'lib/feature_flagger/model.rb', line 29

def unrelease(*feature_key)
  feature = Feature.new(feature_key, feature_flagger_name)
  FeatureFlagger.control.unrelease(feature.key, feature_flagger_name, id)
end