Sha256: 49b543aab6ce6f4be00408503cedd37f0b67604544d21e35e619075c850feba2

Contents?: true

Size: 1.12 KB

Versions: 145

Compression:

Stored size: 1.12 KB

Contents

#
# HTTPVersion.rb -- presentation of HTTP version
#
# Author: IPR -- Internet Programming with Ruby -- writers
# Copyright (c) 2002 Internet Programming with Ruby writers. All rights
# reserved.
#
# $IPR: httpversion.rb,v 1.5 2002/09/21 12:23:37 gotoyuzo Exp $

module WEBrick
  class HTTPVersion
    include Comparable

    attr_accessor :major, :minor

    def self.convert(version)
      version.is_a?(self) ? version : new(version)
    end

    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

    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

    def to_s
      format("%d.%d", @major, @minor)
    end
  end
end

Version data entries

145 entries across 145 versions & 5 rubygems

Version Path
rhodes-7.6.0 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-7.5.1 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-7.4.1 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-7.1.17 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-6.2.0 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-6.0.11 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-5.5.18 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-5.5.17 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-5.5.15 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-5.5.0.22 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-5.5.2 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-5.5.0.7 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-5.5.0.3 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rhodes-5.5.0 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
tauplatform-1.0.3 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
tauplatform-1.0.2 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
tauplatform-1.0.1 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb
rubysl-webrick-1.0.0 lib/webrick/httpversion.rb
ruby_on_ruby-0.0.1 vendor/javascripts/emscripted-ruby/lib/webrick/httpversion.rb
rhodes-3.5.1.12 spec/framework_spec/extensions/test-libs/webrick/httpversion.rb