Ruby - リンクチェック - assemble.rb 相対アドレスを変換
- 1. 相対アドレスを変換
1. 相対アドレスを変換
=begin
./ や ../ で始まる URI を組み立て直す
=end
require('pry')
class Assemble
def initialize()
end
def execute(index, original)
uri = original;
begin
if (original == '../') # ../ のみであれば
split = index.split('/') # ひとつ上のインデックスとする
uri = index[0, index.length-(split.last.length+1)]
elsif (original[0, 2] == '..') # ../ インデックスのひとつ上に / 以降を加える
split = index.split('/')
uri = index[0, index.length-(split.last.length+2)] + original[2,original.length-2]
elsif (original == '.') # . 一文字のみ
uri = index + '*' # あえて変なことにしちゃう(落ちないように)
else # ./ インデックスに / 以降を加える
uri = index + original[2,original.length-2]
end
rescue => error
puts('index'+"[#{index}]")
puts('original'+"[#{original}]")
binding.pry
puts "例外発生[#{error.class}]"
puts "#{error.backtrace}"
puts "[#{self.class.name}][#{error.message}]"
exit 1
end
return uri
end
end
|
|