class Holidays::Finder::Context::ParseOptions

def parse_regions!(regions)

of its available sub regions.
If a wildcard region is found (e.g. :ca_) it is expanded into all

symbols.
Check regions against list of supported regions and return an array of
def parse_regions!(regions)
  regions = [regions] unless regions.kind_of?(Array)
  if regions.empty?
    regions = [:any]
  else
    regions = regions.collect { |r| r.to_sym }
  end
  validate!(regions)
  loaded_regions = []
  if regions.include?(:any)
    @regions_repo.all_generated.each do |r|
      if @regions_repo.loaded?(r)
        loaded_regions << r
        next
      end
      target = @regions_repo.parent_region_lookup(r)
      load_region!(target)
      loaded_regions << r
    end
  else
    regions.each do |r|
      if is_wildcard?(r)
        loaded_regions << load_wildcard_parent!(r)
      else
        parent = @regions_repo.parent_region_lookup(r)
        target = parent || r
        if @regions_repo.loaded?(target)
          loaded_regions << r
          next
        end
        load_region!(target)
        loaded_regions << r
      end
    end
  end
  loaded_regions.flatten.compact.uniq
end