class Holidays::Finder::Context::ParseOptions
def parse_regions!(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