Module: Fickle::ModelExtensions
- Defined in:
- lib/fickle/model_extensions.rb
Instance Method Summary collapse
- #add_feature(feature) ⇒ Object
- #feature_set ⇒ Object
- #fickle_id ⇒ Object
- #has_feature?(feature) ⇒ Boolean
- #remove_feature(feature) ⇒ Object
Instance Method Details
#add_feature(feature) ⇒ Object
7 8 9 |
# File 'lib/fickle/model_extensions.rb', line 7 def add_feature(feature) feature_set.enable_feature(feature) end |
#feature_set ⇒ Object
15 16 17 |
# File 'lib/fickle/model_extensions.rb', line 15 def feature_set @feature_set = Fickle::Config.backend.feature_set(fickle_id, self.class.name) end |
#fickle_id ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/fickle/model_extensions.rb', line 19 def fickle_id return @fickle_id if @fickle_id @fickle_id = case self when (defined? ActiveRecord and ActiveRecord::Base) then id when (defined? Mongoid and Mongoid::Document) then id else hash end end |
#has_feature?(feature) ⇒ Boolean
3 4 5 |
# File 'lib/fickle/model_extensions.rb', line 3 def has_feature?(feature) feature_set.enabled?(feature) end |
#remove_feature(feature) ⇒ Object
11 12 13 |
# File 'lib/fickle/model_extensions.rb', line 11 def remove_feature(feature) feature_set.disable_feature(feature) end |