module SunbusSuburbs
SunbusSuburbs — Townsville suburb centres for !sunbus stop when GTFS names omit locality. Public: normalize_query, for_region, lookup, resolve Depends: (none) Tests: test/lib/sunbus_suburbs_test.rb
Constants
- ALIASES
- CNS
- TSV
Public Instance Methods
Source
# File lib/sunbus/suburbs.rb, line 77 def for_region(region) code = SunbusConfig.normalize_region(region) || SunbusConfig::DEFAULT_REGION return TSV if code == "tsv" return CNS if code == "cns" {} end
Source
# File lib/sunbus/suburbs.rb, line 85 def lookup(query, region: SunbusConfig::DEFAULT_REGION) resolve(query, region: region) end
Source
# File lib/sunbus/suburbs.rb, line 73 def normalize_query(query) query.to_s.strip.downcase.squeeze(" ") end
Source
# File lib/sunbus/suburbs.rb, line 89 def resolve(query, region: SunbusConfig::DEFAULT_REGION) needle = normalize_query(query) return nil if needle.empty? table = for_region(region) return table[needle] if table[needle] canonical = ALIASES[needle] return table[canonical] if canonical && table[canonical] nil end