Module: Tsuga::Adapter::Memory::Base

Defined in:
lib/tsuga/adapter/memory/base.rb

Overview

A memory-backed activerecord pattern implementation. Makes my test fly like crazy.

Defined Under Namespace

Modules: ClassMethods Classes: Scope

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(by) ⇒ Object



10
11
12
13
# File 'lib/tsuga/adapter/memory/base.rb', line 10

def self.included(by)
  by.send :attr_reader, :id
  by.extend ClassMethods
end

Instance Method Details

#destroyObject



33
34
35
36
37
# File 'lib/tsuga/adapter/memory/base.rb', line 33

def destroy
  self.class._records.delete(id)
  @id = nil
  self
end

#initialize(*args) ⇒ Object



16
17
18
19
# File 'lib/tsuga/adapter/memory/base.rb', line 16

def initialize(*args)
  @new_record = false
  super(*args)
end

#new_record?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/tsuga/adapter/memory/base.rb', line 22

def new_record?
  @new_record
end

#persist!Object



26
27
28
29
30
31
# File 'lib/tsuga/adapter/memory/base.rb', line 26

def persist!
  @id ||= self.class.generate_id
  @new_record = false
  self.class._records[id] = self.clone
  self
end