module Tsuga::Adapter::Memory::Base

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

Public Class Methods

included(by) click to toggle source
# File lib/tsuga/adapter/memory/base.rb, line 10
def self.included(by)
  by.send :attr_reader, :id
  by.extend ClassMethods
end
new(*args) click to toggle source
Calls superclass method
# File lib/tsuga/adapter/memory/base.rb, line 16
def initialize(*args)
  @new_record = false
  super(*args)
end

Public Instance Methods

destroy() click to toggle source
# File lib/tsuga/adapter/memory/base.rb, line 33
def destroy
  self.class._records.delete(id)
  @id = nil
  self
end
new_record?() click to toggle source
# File lib/tsuga/adapter/memory/base.rb, line 22
def new_record?
  @new_record
end
persist!() click to toggle source
# 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