Module: Fickle::ModelExtensions

Defined in:
lib/fickle/model_extensions.rb

Instance Method Summary collapse

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_setObject



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_idObject



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

Returns:

  • (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