Module: Mailroute::Timezone

Defined in:
lib/mailroute/models/timezone.rb

Constant Summary collapse

ALL =
[
  "Pacific/Kwajalein",
  "Pacific/Midway",
  "US/Hawaii",
  "US/Alaska",
  "US/Pacific",
  "US/Mountain",
  "US/Central",
  "US/Eastern",
  "Canada/Atlantic",
  "Canada/Newfoundland",
  "America/Argentina/Buenos_Aires",
  "America/Noronha",
  "Atlantic/Cape_Verde",
  "Europe/London",
  "Europe/Paris",
  "Europe/Kaliningrad",
  "Asia/Baghdad",
  "Asia/Tehran",
  "Asia/Muscat",
  "Asia/Kabul",
  "Asia/Yekaterinburg",
  "Asia/Kolkata",
  "Asia/Kathmandu",
  "Asia/Colombo",
  "Asia/Bangkok",
  "Asia/Singapore",
  "Asia/Tokyo",
  "Australia/Adelaide",
  "Asia/Vladivostok",
  "Asia/Magadan",
  "Pacific/Auckland"
].each do |val|
  define_const(self, val.split('/'), val)
end

Class Method Summary collapse

Class Method Details

.define_const(modul, names, value) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/mailroute/models/timezone.rb', line 3

def self.define_const(modul, names, value)
  if names.size == 1
    modul.const_set(names.first, value)
  else
    new_module =
      if modul.const_defined?(names.first)
        modul.const_get(names.first)
      else
        modul.const_set(names.first, Module.new)
      end

    define_const(new_module, names[1..-1], value)
  end
end