X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0e2a66e8de55b3719bd307261058b7f898598994..4e44e0c8fe57b1b1afdbd6e16dfa5c6637b8385a:/lib/gpx.rb diff --git a/lib/gpx.rb b/lib/gpx.rb index 1a1d0b996..71b2823b8 100644 --- a/lib/gpx.rb +++ b/lib/gpx.rb @@ -37,20 +37,20 @@ module GPX end def points(&block) - return enum_for(:points) unless block_given? + return enum_for(:points) unless block @possible_points = 0 @actual_points = 0 @tracksegs = 0 begin - Archive::Reader.open_filename(@file).each_entry_with_data do |_entry, data| - parse_file(XML::Reader.string(data), &block) + Archive::Reader.open_filename(@file).each_entry_with_data do |entry, data| + parse_file(XML::Reader.string(data), &block) if entry.regular? end rescue Archive::Error io = ::File.open(@file) - case MimeMagic.by_magic(io)&.type + case Marcel::MimeType.for(io) when "application/gzip" then io = Zlib::GzipReader.open(@file) when "application/x-bzip" then io = Bzip2::FFI::Reader.open(@file) end