Class: WEBrick::HTTPVersion
- Inherits:
-
Object
- Object
- WEBrick::HTTPVersion
- Includes:
- Comparable
- Defined in:
- lib/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
Converts
version
into an HTTPVersion.
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
.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/webrick/httpversion.rb', line 38 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
21 22 23 |
# File 'lib/webrick/httpversion.rb', line 21 def major @major end |
#minor ⇒ Object
The minor protocol version number
26 27 28 |
# File 'lib/webrick/httpversion.rb', line 26 def minor @minor end |
Class Method Details
.convert(version) ⇒ Object
Converts version
into an HTTPVersion
31 32 33 |
# File 'lib/webrick/httpversion.rb', line 31 def self.convert(version) version.is_a?(self) ? version : new(version) end |
Instance Method Details
#<=>(other) ⇒ Object
Compares this version with other
according to the HTTP specification rules.
57 58 59 60 61 62 63 64 65 |
# File 'lib/webrick/httpversion.rb', line 57 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”
71 72 73 |
# File 'lib/webrick/httpversion.rb', line 71 def to_s format("%d.%d", @major, @minor) end |