lib/rio/rl/builder.rb in rio-0.5.1 vs lib/rio/rl/builder.rb in rio-0.6.0
- old
+ new
@@ -1,8 +1,8 @@
#--
# ===========================================================================
-# Copyright (c) 2005-2012 Christopher Kleckner
+# Copyright (c) 2005-2017 Christopher Kleckner
# All rights reserved
#
# This file is part of the Rio library for ruby.
#
# Rio is free software; you can redistribute it and/or modify
@@ -20,11 +20,10 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# ===========================================================================
#++
#
-
require 'rio/alturi'
require 'rio/local'
require 'rio/rl/base'
require 'rio/rrl/base'
require 'stringio'
@@ -34,11 +33,10 @@
class Builder
def self.build_path_rl(rl)
return rl
end
def self.build(*a)
- #puts "build: #{a.inspect}"
a.flatten!
a.push('') if a.empty?
case a[0]
when ?? , ?= , ?_ , ?", ?[, ?#, ?`, ?|, ?z
a[0] = 'rio:'+CHMAP[a[0]]+':'
@@ -53,37 +51,29 @@
when /^[a-z][a-z]+:/
a[0] = 'rio:'+a[0] unless a[0] =~ /^rio:/
when %r|^//|
a[0] = 'rio:file:'+a[0]
when %r|^/|
- #a[0] = 'file://'+a[0]
- #p "IN BUILDER #{a.inspect}"
return Factory.instance.riorl_class('file').new(*a)
else
return Factory.instance.riorl_class('path').new(*a)
end
when RIO::Rio
- #p "BUILD: a[0]=#{a[0].inspect} a[0].rl=#{a[0].rl.inspect}"
a[0] = a[0].rl
return build(*a)
when RL::Base
- #p "BUILD: RL::Base a=#{a.inspect}"
a0 = a.shift.clone
cl = Factory.instance.riorl_class(a0.scheme)
o = cl.new(a0,*a) unless cl.nil?
return o
- # return (a.empty? ? a0 : a0.join(*a))
when ::RIO::RRL::Base
- #p "BUILD: RRL::Base a=#{a.inspect}"
a0 = a.shift.uri
cl = Factory.instance.riorl_class(a0.scheme)
o = cl.new(a0,*a) unless cl.nil?
return o
- # return (a.empty? ? a0 : a0.join(*a))
when ::Alt::URI::Base
a0 = a.shift
- #p "SCHEME is #{a0.scheme}"
cl = Factory.instance.riorl_class(a0.scheme)
o = cl.new(a0,*a) unless cl.nil?
return o
when ::Symbol
case a[0]
@@ -106,10 +96,9 @@
return build(*a)
end
a0 = a.shift
sch = Base.subscheme(a0)
cl = Factory.instance.riorl_class(sch)
- #p "cl=#{cl}"
cl.parse(a0,*a) unless cl.nil?
end
end