def platform_info
etos = Proc.new { |k, v| "#{k}:#{v.inspect}" }
h = {
'etz' => ENV['TZ'],
'tnz' => Time.now.zone,
'tziv' => tzinfo_version,
'tzidv' => tzinfo_data_version,
'rv' => RUBY_VERSION,
'rp' => RUBY_PLATFORM,
'win' => Gem.win_platform?,
'rorv' => (Rails::VERSION::STRING rescue nil),
'astz' => ([ Time.zone.class, Time.zone.tzinfo.name ] rescue nil),
'eov' => EtOrbi::VERSION,
'eotnz' => '???',
'eotnfz' => '???',
'eotlzn' => '???' }
if ltz = EtOrbi::EoTime.local_tzone
h['eotnz'] = EtOrbi::EoTime.now.zone
h['eotnfz'] = EtOrbi::EoTime.now.strftime('%z')
h['eotnfZ'] = EtOrbi::EoTime.now.strftime('%Z')
h['eotlzn'] = ltz.name
end
"(#{h.map(&etos).join(',')},#{gather_tzs.map(&etos).join(',')})"
end