Module: BigRecord::Deletion::ClassMethods

Defined in:
lib/big_record/deletion.rb

Instance Method Summary

Instance Method Details

- (Object) check_not_deleted(record)



67
68
69
# 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

- (Object) find_every_with_flag_deleted(*args)



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# 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

- (Object) find_one_with_flag_deleted(*args)



36
37
38
39
40
41
42
43
44
45
46
47
# 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