Class: StatusCode

Inherits:
Object
  • Object
show all
Defined in:
lib/StatusCode.rb

Overview

StatusCode.rb - ClickSpotter

Copyright © 2005, 2006 by Chris Schlaeger <[email protected]> This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation.

$Id: StatusCode.rb 8 2006-01-22 15:19:51Z cs $

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code) ⇒ StatusCode

Returns a new instance of StatusCode.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/StatusCode.rb', line 16

def initialize(code)
  @hits = []
  @@codes = { 100 => 'Continue', 101 => 'Switching Protocols',
              200 => 'Ok', 201 => 'Created', 202 => 'Accepted',
              203 => 'Non-Authorative Information',
              204 => 'No Content', 205 => 'Reset Content',
              206 => 'Partial Content',
              300 => 'Multiple Choices', 301 => 'Permanently Moved',
              302 => 'Found', 303 => 'See Other', 304 => 'Not Modified',
              305 => 'Use Proxy',
              400 => 'Bad Request', 401 => 'Unauthorized',
              402 => 'Payment Required', 403 => 'Forbidden',
              404 => 'Not Found', 405 => 'Method Not Allowed',
              406 => 'Not Acceptable',
              407 => 'Proxy Authentication Required',
              408 => 'Request Timeout', 409 => 'Conflict',
              410 => 'Gone', 411 => 'Length Required',
              412 => 'Precondition Failed',
              413 => 'Request Entity Too Large',
              414 => 'Request URI Too Long',
              415 => 'Unsupported Media Type',
              416 => 'Requested Range Not Satisfiable',
              417 => 'Expectation Failed',
              500 => 'Internal Server Error', 501 => 'Not Implemented',
              502 => 'Bad Gateway', 503 => 'Service Unavailable',
              504 => 'Gateway Timeout',
              505 => 'HTTP Version Not Supported'
     }

  if @@codes[code]
    @description = @@codes[code]
  else
    @description = "Unknown Code #{code}"
  end
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



14
15
16
# File 'lib/StatusCode.rb', line 14

def description
  @description
end

Instance Method Details

#addHit(hit) ⇒ Object



52
53
54
# File 'lib/StatusCode.rb', line 52

def addHit(hit)
  @hits.push(hit)
end

#hitCountObject



67
68
69
# File 'lib/StatusCode.rb', line 67

def hitCount
  return @hits.length()
end

#purge(deadline) ⇒ Object



56
57
58
59
60
61
62
63
64
65
# File 'lib/StatusCode.rb', line 56

def purge(deadline)
  @hits.each do |h|
    if h.timeStamp < deadline
      @hits.delete(h)
    else
      return false
    end
  end
  @hits.empty?
end