Module: Reins::Model::Persistence::ClassMethods

Defined in:
lib/reins/model/persistence.rb

Instance Method Summary collapse

Instance Method Details

#create(attrs = {}) ⇒ Object



20
21
22
23
24
# File 'lib/reins/model/persistence.rb', line 20

def create(attrs = {})
  record = new(attrs)
  record.save
  record
end

#create!(attrs = {}) ⇒ Object



26
27
28
29
30
# File 'lib/reins/model/persistence.rb', line 26

def create!(attrs = {})
  record = new(attrs)
  record.save!
  record
end

#find(id) ⇒ Object



9
10
11
12
13
14
# File 'lib/reins/model/persistence.rb', line 9

def find(id)
  record = find_by(primary_key => id)
  raise Reins::Model::RecordNotFound, "#{name} with #{primary_key}=#{id} not found" if record.nil?

  record
end

#find_by(conditions) ⇒ Object



16
17
18
# File 'lib/reins/model/persistence.rb', line 16

def find_by(conditions)
  where(conditions).first
end

#instantiate_from_row(row) ⇒ Object



36
37
38
39
40
# File 'lib/reins/model/persistence.rb', line 36

def instantiate_from_row(row)
  record = allocate
  record.send(:init_from_row, row)
  record
end

#transactionObject



32
33
34
# File 'lib/reins/model/persistence.rb', line 32

def transaction(&)
  Reins::Database.connection.transaction(&)
end