Module: LunaPark::Extensions::Repositories::Postgres::Read

Defined in:
lib/luna_park/extensions/repositories/postgres/read.rb

Instance Method Summary collapse

Instance Method Details

#allObject



30
31
32
# File 'lib/luna_park/extensions/repositories/postgres/read.rb', line 30

def all
  read_all(dataset.order { created_at.desc })
end

#countObject



26
27
28
# File 'lib/luna_park/extensions/repositories/postgres/read.rb', line 26

def count
  dataset.count
end

#find(pk_value, for_update: false) ⇒ Object



13
14
15
16
# File 'lib/luna_park/extensions/repositories/postgres/read.rb', line 13

def find(pk_value, for_update: false)
  ds = dataset.where(primary_key => pk_value)
  read_one(ds, for_update: for_update)
end

#find!(pk_value, for_update: false) ⇒ Object



8
9
10
11
# File 'lib/luna_park/extensions/repositories/postgres/read.rb', line 8

def find!(pk_value, for_update: false)
  ds = dataset.where(primary_key => pk_value)
  read_one!(ds, for_update: for_update, not_found_meta: pk_value)
end

#lastObject



34
35
36
# File 'lib/luna_park/extensions/repositories/postgres/read.rb', line 34

def last
  to_entity from_row dataset.order(:created_at).last
end

#lock(pk_value) ⇒ Object



22
23
24
# File 'lib/luna_park/extensions/repositories/postgres/read.rb', line 22

def lock(pk_value)
  dataset.for_update.select(primary_key).where(primary_key => pk_value).first ? true : false
end

#lock!(pk_value) ⇒ Object



18
19
20
# File 'lib/luna_park/extensions/repositories/postgres/read.rb', line 18

def lock!(pk_value)
  lock(pk_value) || raise(Errors::NotFound, "#{short_class_name} (#{pk_value})")
end