Module: Activatable::InstanceMethods

Defined in:
lib/activatable/instance_methods.rb

Instance Method Summary collapse

Instance Method Details

#activate_by(field_name) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/activatable/instance_methods.rb', line 3

def activate_by(field_name)
  scope_name_or_lambda = activatable_fields[field_name]
  if scope_name_or_lambda.present?
    if scope_name_or_lambda.is_a? Symbol
      scope = self.class.send(scope_name_or_lambda)
      scope.update_all(field_name => false)
    elsif scope_name_or_lambda.is_a? Proc
      scope = self.class.class_exec(self, &scope_name_or_lambda)
      scope.update_all(field_name => false)
    end
    self.update(field_name => true)
  end
end

#deactivate_by(field_name) ⇒ Object



17
18
19
# File 'lib/activatable/instance_methods.rb', line 17

def deactivate_by(field_name)
  self.update(field_name => false)
end