Module: MarkOnly

Defined in:
lib/mark_only.rb,
lib/mark_only/version.rb

Defined Under Namespace

Modules: Query

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.configure(&blk) ⇒ Object



6
# File 'lib/mark_only.rb', line 6

def configure(&blk); class_eval(&blk); end

.included(klazz) ⇒ Object



9
10
11
# File 'lib/mark_only.rb', line 9

def self.included(klazz)
  klazz.extend Query
end

Instance Method Details

#deleteObject



21
22
23
24
25
26
# File 'lib/mark_only.rb', line 21

def delete
  update_attribute_or_column(self.mark_only_column, MarkOnly.deleted_value) if !deleted? && persisted?
rescue => e
  logger.error("failed to set #{self.mark_only_column} to #{MarkOnly.deleted_value} in #{self}", e)
  raise e
end

#destroyObject



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

def destroy
  run_callbacks(:destroy) { delete }
end

#destroyed?Boolean Also known as: deleted?

Returns:

  • (Boolean)


35
36
37
# File 'lib/mark_only.rb', line 35

def destroyed?
  self.send(self.mark_only_column.to_sym) == MarkOnly.deleted_value
end

#restore!Object



28
29
30
31
32
33
# File 'lib/mark_only.rb', line 28

def restore!
  update_attribute_or_column self.mark_only_column, MarkOnly.active_value
rescue => e
  logger.error("failed to set #{self.mark_only_column} to #{MarkOnly.active_value} in #{self}", e)
  raise e
end