module BigRecord::Deletion::ClassMethods

Public Instance Methods

check_not_deleted(record) click to toggle source
# File lib/big_record/deletion.rb, line 67
def check_not_deleted(record)
  raise BigRecord::RecordNotFound, "The record (id=#{record.id}) is marked as deleted." if record.respond_to?(:deleted) and record.deleted
end
find_every_with_flag_deleted(*args) click to toggle source
# File lib/big_record/deletion.rb, line 49
def find_every_with_flag_deleted(*args)
  options = args.last.is_a?(Hash) ? args.last : {}
  records = find_every_without_flag_deleted(*args)

  unless options[:include_deleted]
    records.select do |record|
      begin
        check_not_deleted(record)
        true
      rescue
        false
      end
    end
  else
    records
  end
end
find_one_with_flag_deleted(*args) click to toggle source
# File lib/big_record/deletion.rb, line 36
def find_one_with_flag_deleted(*args)
  options = args.last.is_a?(Hash) ? args.last : {}
  records = find_one_without_flag_deleted(*args)
  unless options[:include_deleted]
    if records.is_a?(Array)
      records.each{|record| check_not_deleted(record)}
    else
      check_not_deleted(records)
    end
  end
  records
end