Files
openfoodnetwork/app/helpers/spree/base_helper.rb
2025-01-21 20:11:05 +01:00

43 lines
1007 B
Ruby

# frozen_string_literal: true
module Spree
module BaseHelper
def available_countries
checkout_zone = Zone.find_by(name: ENV.fetch("CHECKOUT_ZONE", nil))
countries = if checkout_zone && checkout_zone.kind == 'country'
checkout_zone.countries
else
Country.includes(:states).all
end
countries.collect do |country|
country.name = Spree.t(country.iso, scope: 'country_names', default: country.name)
country
end.sort { |a, b| a.name <=> b.name }
end
def countries
available_countries.map { |c| [c.name, c.id] }
end
def states_for_country(country)
country.states.map do |state|
[state.name, state.id]
end
end
def countries_with_states
available_countries.map { |c|
[c.id, c.states.map { |s|
[s.name, s.id]
}]
}
end
def pretty_time(time)
I18n.l(time, format: :long)
end
end
end