Allow selecting image type via Regexp #6

Merged
raucao merged 1 commits from feature/select_type_regex into master 2024-08-14 14:14:35 +00:00
2 changed files with 17 additions and 1 deletions

View File

@ -43,7 +43,13 @@ module Manifique
end
if options[:type]
results.reject! { |r| r["type"] != options[:type] }
if options[:type].is_a?(String)
results.reject! { |r| r["type"] != options[:type] }
elsif options[:type].is_a?(Regexp)
results.reject! { |r| r["type"].match(options[:type]).nil? }
else
raise ArgumentError, "Type must be a string or a regular expression"
end
end
if options[:sizes]

View File

@ -68,6 +68,16 @@ RSpec.describe Manifique::Metadata do
icon = metadata.select_icon(type: "image/png")
expect(icon["sizes"]).to eq("512x512")
end
it "matches strings exactly" do
icon = metadata.select_icon(type: "image/svg")
expect(icon["type"]).to eq("image/svg")
end
it "works with a regex" do
icon = metadata.select_icon(type: /image\/svg/)
expect(icon["type"]).to eq("image/svg+xml")
end
end
describe "by size" do