diff --git a/lib/alchemy/taggable.rb b/lib/alchemy/taggable.rb index 7ec5b0ed21..4898b758fb 100644 --- a/lib/alchemy/taggable.rb +++ b/lib/alchemy/taggable.rb @@ -22,13 +22,20 @@ def tag_list=(tags) end module ClassMethods - # Find all records matching all of the given tags. - # Separate multiple tags by comma. - def tagged_with(names) + def tagged_with(names = [], **args) if names.is_a? String names = names.split(/,\s*/) end - super(names: names, match: :all) + + unless args[:match] + args.merge!(match: :all) + end + + if names.any? + args.merge!(names: names) + end + + super(args) end # Returns all unique tags