Sha256: abc26beff79d4839b7a8abbcb37cfe9b9f6921fd87fa515c43bba60d638005c7
Contents?: true
Size: 1.88 KB
Versions: 4
Compression:
Stored size: 1.88 KB
Contents
# Copyright: Copyright (c) 2004 Nicolas Despres. All rights reserved. # Author: Nicolas Despres <polrop@lrde.epita.fr>. # License: Gnu General Public License. # $LastChangedBy: polrop $ # $Id: druby.rb 140 2005-01-29 15:05:09Z polrop $ require 'uri' module URI class DRuby < Generic SCHEME = 'druby' DEFAULT_HOST = 'localhost' DEFAULT_PORT = 0 DEFAULT_QUERY = '' COMPONENT = [ :scheme, :host, :port ].freeze def self.build(args) if args.is_a?(Array) args << DEFAULT_HOST if args.size < 1 args << DEFAULT_PORT if args.size < 2 elsif args.is_a?(Hash) args[:host] = DEFAULT_HOST if args[:host].nil? args[:port] = DEFAULT_PORT if args[:port].nil? end return super(Util::make_components_hash(self, args)) end #FIXME: find a way to always print the port even if it is the default one. end # class DRuby @@schemes[DRuby::SCHEME.upcase] = DRuby end # module URI if defined? TEST_MODE or __FILE__ == $0 require 'test/unit/ui/yaml/testrunner' module URI class DRubyTest < ::Test::Unit::TestCase def test_classic uri = URI.parse('druby://www.foo.com:42000') assert(uri.is_a?(DRuby)) assert_equal('druby', uri.scheme) assert_nil(uri.user) assert_nil(uri.password) assert_nil(uri.userinfo) assert_equal('www.foo.com', uri.host) assert_equal(42000, uri.port) assert_equal('druby://www.foo.com:42000', uri.to_s) end def test_build assert_equal('druby://localhost', DRuby.build([]).to_s) assert_equal('druby://www.foo.com:52000', DRuby.build(['www.foo.com', 52000 ]).to_s) end def test_query uri = DRuby.build(['www.foo.com', 52000 ]) uri.query = 'toto=tata&foo=bar' assert_equal('druby://www.foo.com:52000?toto=tata&foo=bar', uri.to_s) end end # class DRubyTest end # module URI end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
ttk-0.1.576 | ruby_ex/uri/druby.rb |
ttk-0.1.579 | ruby_ex/uri/druby.rb |
ttk-0.1.580 | ruby_ex/uri/druby.rb |
vcs-0.2.148 | ruby_ex/uri/druby.rb |