Module: Checkers

Defined in:
lib/checkers.rb

Class Method Summary collapse

Class Method Details

.tmout_all?(tlast, *models) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/checkers.rb', line 25

def self.tmout_all?( tlast, *models )
  !! ( models.select do |item|
    if item.respond_to?( :created_at )
      item.created_at + tlast < Time.now
    else
      case item
      when Date
        item + tlast < Time.now.to_date
      when DateTime
        item + tlast < Time.now.to_datetime        
      when Time, Date, DateTime
        item + tlast < Time.now
      when Numeric
        item + tlast < Time.now.to_i
      else
        raise ArgumentError.new( "Can't measure tmout for #{ item.class.name.to_s }." )
      end
    end
  end.count == models.count )
end

.tmout_any?(tlast, *models) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/checkers.rb', line 4

def self.tmout_any?( tlast, *models )
  !! models.select do |item|
    if item.respond_to?( :created_at )
      item.created_at + tlast < Time.now
    else
      case item
      when Date
        item + tlast < Time.now.to_date
      when DateTime
        item + tlast < Time.now.to_datetime        
      when Time, Date, DateTime
        item + tlast < Time.now
      when Numeric
        item + tlast < Time.now.to_i
      else
        raise ArgumentError.new( "Can't measure tmout for #{ item.class.name.to_s }." )
      end
    end
  end.any?
end