module LunaPark::Extensions::Repositories::Postgres::Read
Public Instance Methods
all()
click to toggle source
# File lib/luna_park/extensions/repositories/postgres/read.rb, line 30 def all read_all(dataset.order { created_at.desc }) end
count()
click to toggle source
# File lib/luna_park/extensions/repositories/postgres/read.rb, line 26 def count dataset.count end
find(pk_value, for_update: false)
click to toggle source
# 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)
click to toggle source
# 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
last()
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
read_all(dataset)
click to toggle source
# File lib/luna_park/extensions/repositories/postgres/read.rb, line 52 def read_all(dataset) to_entities from_rows(dataset) end
read_one(dataset, for_update: false)
click to toggle source
# File lib/luna_park/extensions/repositories/postgres/read.rb, line 46 def read_one(dataset, for_update: false) dataset = dataset.for_update if for_update row = dataset.first to_entity from_row(row) end
read_one!(dataset, for_update: false, not_found_meta:)
click to toggle source
# File lib/luna_park/extensions/repositories/postgres/read.rb, line 40 def read_one!(dataset, for_update: false, not_found_meta:) read_one(dataset, for_update: for_update).tap do |entity| raise Errors::NotFound, "#{short_class_name} (#{not_found_meta})" if entity.nil? end end
short_class_name()
click to toggle source
# File lib/luna_park/extensions/repositories/postgres/read.rb, line 56 def short_class_name @short_class_name ||= self.class.name[/::(\w+)\z/, 1] end