Class: DataMapper::Types::ParanoidDateTime

Inherits:
Object
  • Object
show all
Defined in:
lib/dm-core/types/paranoid_datetime.rb

Class Method Summary collapse

Class Method Details

.bind(property) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/dm-core/types/paranoid_datetime.rb', line 7

def self.bind(property)
  model = property.model
  repository = property.repository

  model.send(:set_paranoid_property, property.name){DateTime.now}

  model.class_eval "\n    def self.with_deleted\n      with_exclusive_scope(\#{property.name.inspect}.not => nil) do\n        yield\n      end\n    end\n\n    def destroy\n      self.class.paranoid_properties.each do |name, blk|\n        attribute_set(name, blk.call(self))\n      end\n      save\n    end\n  EOS\n\n  model.default_scope(repository.name).update(property.name => nil)\nend\n", __FILE__, __LINE__