vivo/legacy/utilities/ISF-transition/obsoleteUris/obsolete_uris.rb
2015-11-19 23:47:41 +00:00

42 lines
1.1 KiB
Ruby

class ObsoleteUrisError < StandardError; end
class ObsoleteUris
# ------------------------------------------------------------------------------------
private
# ------------------------------------------------------------------------------------
def get_localname(uri)
delimiter = uri.rindex(/[\/#]/)
return uri[delimiter+1..-1] if delimiter
raise "BOGUS URI in obsolete_uris file -- no localname: '#{uri}'"
end
# ------------------------------------------------------------------------------------
public
# ------------------------------------------------------------------------------------
def initialize(file)
@uris = []
@localnames = []
File.read(file).split(/[\r\n]+/).each do |line|
# ignore blank lines, and lines starting with '#' or '!'.
line.strip!
next if line.length == 0 || line[0..0] == '#' || line[0] == ?!
if line =~ /^(\S+)/
@uris << $1
@localnames << get_localname($1)
else
raise "BOGUS line in obsolete_uris file: '#{line}'"
end
end
end
def uris()
@uris
end
def localnames()
@localnames
end
end