Module: Ardm::Ar::Persistence

Extended by:
ActiveSupport::Concern
Included in:
Base
Defined in:
lib/ardm/ar/persistence.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#destroyObject



37
38
39
# File 'lib/ardm/ar/persistence.rb', line 37

def destroy
  self.class.delete(self.send(self.class.primary_key))
end

#new?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/ardm/ar/persistence.rb', line 41

def new?
  new_record?
end

#save(run_callbacks = true) ⇒ Object



53
54
55
56
57
58
59
# File 'lib/ardm/ar/persistence.rb', line 53

def save(run_callbacks=true)
  unless run_callbacks
    raise Ardm::NotImplemented, "ActiveRecord doesn't support saving without callbacks"
  end

  super() # no args!
end

#save!(*args) ⇒ Object



61
62
63
# File 'lib/ardm/ar/persistence.rb', line 61

def save!(*args)
  save(*args) || (raise_on_save_failure && raise(Ardm::SaveFailureError, "Save Failed"))
end

#save_self(run_callbacks = true) ⇒ Object



49
50
51
# File 'lib/ardm/ar/persistence.rb', line 49

def save_self(run_callbacks=true)
  save(run_callbacks)
end

#saved?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/ardm/ar/persistence.rb', line 45

def saved?
  !new_record?
end

#update(*a) ⇒ Object



65
66
67
68
69
70
71
# File 'lib/ardm/ar/persistence.rb', line 65

def update(*a)
  if a.size == 1
    update_attributes(*a)
  else
    super
  end
end

#update!(*a) ⇒ Object



73
74
75
# File 'lib/ardm/ar/persistence.rb', line 73

def update!(*a)
  update_attributes!(*a)
end