Source code
class Maintenance::AddMissingCountriesTask < MaintenanceTasks::Task
include DatadogTrace
ALL_SCOPES_BITFIELD = (1 << 0) | (1 << 1) | (1 << 2)
DEFAULT_GDS_NAME = 'AMADEUS'
COUNTRIES = {
'SI' => 'Slovenia',
'BY' => 'Belarus',
'GE' => 'Georgia',
'MK' => 'North Macedonia'
}.freeze
def collection
COUNTRIES.to_a
end
def process(entry)
code, display_name = entry
country = Country.find_or_create_by_code!(code)
country.update!(display_name: display_name, scopes: ALL_SCOPES_BITFIELD)
ensure_default_gds(country)
end
private
def ensure_default_gds(country)
return if country.default_gds
gds = Gds.find_or_create_by!(name: DEFAULT_GDS_NAME.downcase.strip)
country.create_default_gds_to_country!(default_gds: gds)
end
end