format_display_name

in lib/twitter_cldr/timezones/generic_location.rb [88:138]


      def format_display_name(date, type, fmt, dst = TZInfo::Timezone.default_dst, &block)
        date_int = date.strftime('%s').to_i
        period = tz.period_for_local(date, dst, &block)

        flavor = if type == :generic
          :generic
        elsif type == :specific
          period.std_offset > 0 ? :daylight : :standard
        end

        if explicit = (timezone_data[fmt] || {})[flavor]
          return explicit
        end

        if tz_metazone = ZoneMeta.tz_metazone_for(tz_id, date)
          if use_standard?(date_int, period)
            std_name = tz_name_for(fmt, :standard) || mz_name_for(fmt, :standard, tz_metazone.mz_id)
            mz_generic_name = mz_name_for(fmt, :generic, tz_metazone.mz_id)

            
            
            
            
            
            return std_name if std_name && std_name != mz_generic_name
          end

          mz_name = mz_name_for(fmt, flavor, tz_metazone.mz_id)

          
          
          return mz_name if type == :specific

          golden_zone_id = tz_metazone.metazone.reference_tz_id

          if golden_zone_id != tz_id
            golden_zone = TZInfo::Timezone.get(golden_zone_id)
            golden_period = golden_zone.period_for_local(date)

            if period.utc_offset != golden_period.utc_offset || period.std_offset != golden_period.std_offset
              return nil unless mz_name
              return partial_location_name_for(tz_metazone.metazone, mz_name)
            else
              return mz_name
            end
          else
            return mz_name
          end
        end
      end