Sha256: 206ad05ef88391790bfd6049ecff9d1b285d00d07416629dd05a4612cbcb23c4
Contents?: true
Size: 751 Bytes
Versions: 3
Compression:
Stored size: 751 Bytes
Contents
module GreyscaleRecord module Queriable extend ActiveSupport::Concern included do class << self def find(id) records = where( id: id.to_s ) raise Errors::RecordNotFound, "#{ self }: Record not found: #{ id }" if records.empty? records.first end def find_by( params = { } ) results = where params raise Errors::RecordNotFound, "#{ self }: Could not find record that matches: #{ params.inspect }" if results.empty? results.first end def all where.all end def first all.first end def where( params = {} ) Relation.new self, params end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
greyscale_record-1.0.3 | lib/greyscale_record/queriable.rb |
greyscale_record-1.0.2 | lib/greyscale_record/queriable.rb |
greyscale_record-1.0.1 | lib/greyscale_record/queriable.rb |