lib/epub/publication/package/manifest.rb in epub-parser-0.3.6 vs lib/epub/publication/package/manifest.rb in epub-parser-0.3.7
- old
+ new
@@ -218,17 +218,17 @@
# @note Algorithm stolen form Rack::Utils#clean_path_info
def find_item_by_relative_iri(iri)
raise ArgumentError, "Not relative: #{iri.inspect}" unless iri.relative?
raise ArgumentError, "Start with slash: #{iri.inspect}" if iri.path.start_with? Addressable::URI::SLASH
target_href = href + iri
+ target_href.fragment = nil
segments = target_href.to_s.split(Addressable::URI::SLASH)
clean_segments = []
segments.each do |segment|
next if segment.empty? || segment == '.'
segment == '..' ? clean_segments.pop : clean_segments << segment
end
target_iri = Addressable::URI.parse(clean_segments.join(Addressable::URI::SLASH))
- target_iri.fragment = nil
manifest.items.find { |item| item.href == target_iri}
end
def inspect
"#<%{class}:%{object_id} %{manifest} %{attributes}>" % {