Class: WEBrick::HTTPVersion
- Inherits:
-
Object
- Object
- WEBrick::HTTPVersion
- Includes:
- Comparable
- Defined in:
- lib/cyberweb/webrick/clone/webrick/httpversion.rb
Overview
Represents an HTTP protocol version
Instance Attribute Summary collapse
-
#major ⇒ Object
The major protocol version number.
-
#minor ⇒ Object
The minor protocol version number.
Class Method Summary collapse
-
.convert(version) ⇒ Object
WEBrick::HTTPVersion.convert.
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Compares this version with
other
according to the HTTP specification rules. -
#initialize(version) ⇒ HTTPVersion
constructor
Creates a new HTTPVersion from
version
. -
#to_s ⇒ Object
The HTTP version as show in the HTTP request and response.
Constructor Details
#initialize(version) ⇒ HTTPVersion
Creates a new HTTPVersion from version
.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/cyberweb/webrick/clone/webrick/httpversion.rb', line 30 def initialize(version) case version when HTTPVersion @major, @minor = version.major, version.minor when String if /^(\d+)\.(\d+)$/ =~ version @major, @minor = $1.to_i, $2.to_i end end if @major.nil? || @minor.nil? raise ArgumentError, format("cannot convert %s into %s", version.class, self.class) end end |
Instance Attribute Details
#major ⇒ Object
The major protocol version number
15 16 17 |
# File 'lib/cyberweb/webrick/clone/webrick/httpversion.rb', line 15 def major @major end |
#minor ⇒ Object
The minor protocol version number
19 20 21 |
# File 'lib/cyberweb/webrick/clone/webrick/httpversion.rb', line 19 def minor @minor end |
Class Method Details
Instance Method Details
#<=>(other) ⇒ Object
Compares this version with other
according to the HTTP specification rules.
48 49 50 51 52 53 54 55 56 |
# File 'lib/cyberweb/webrick/clone/webrick/httpversion.rb', line 48 def <=>(other) unless other.is_a?(self.class) other = self.class.new(other) end if (ret = @major <=> other.major) == 0 return @minor <=> other.minor end return ret end |
#to_s ⇒ Object
The HTTP version as show in the HTTP request and response. For example, “1.1”
61 62 63 |
# File 'lib/cyberweb/webrick/clone/webrick/httpversion.rb', line 61 def to_s format("%d.%d", @major, @minor) end |