Compare commits

..

25 Commits

Author SHA1 Message Date
Charlie Somerville
00521f5118 Merge pull request #23 from github/rip-out-prototype
Rip out prototype/scriptaculous/RJS
2013-10-24 11:29:13 -07:00
Charlie Somerville
a086a33fd4 misc 2013-10-24 13:18:37 -04:00
Charlie Somerville
15678eac1c delete rjs templates 2013-10-24 12:58:08 -04:00
Charlie Somerville
2e21cced12 more test fixing 2013-10-24 12:54:06 -04:00
Charlie Somerville
fb86dada29 delete RJS template handler 2013-10-24 12:48:56 -04:00
Charlie Somerville
aa4dfa6937 delete link_to_function and button_to_function 2013-10-24 12:46:41 -04:00
Charlie Somerville
ca7a53cbe9 fix tests 2013-10-24 12:46:30 -04:00
Charlie Somerville
1ddf5592e4 forgot to remove this require 2013-10-24 12:31:15 -04:00
Charlie Somerville
425a5d5e2e don't include ScriptaculousHelper in places 2013-10-24 12:26:19 -04:00
Charlie Somerville
c8d7945ae4 delete render :update 2013-10-24 12:25:38 -04:00
Charlie Somerville
6db8e71ad8 delete tests that hit PrototypeHelper 2013-10-24 12:25:38 -04:00
Charlie Somerville
0e7a8ce464 don't include PrototypeHelper in places 2013-10-24 12:25:23 -04:00
Charlie Somerville
a4274b33f7 rip out scriptaculous 2013-10-24 12:23:20 -04:00
Charlie Somerville
9645f8be89 delete prototype.js helpers 2013-10-24 12:21:25 -04:00
Charlie Somerville
b2c42ec341 Merge pull request #20 from github/dont-use-ordered-hash
Replace use of OrderedHash with regular hashes
2013-10-15 13:06:46 -07:00
Charlie Somerville
84d39ae996 Let's just use Psych::Omap for YAML omaps 2013-10-15 15:44:53 -04:00
Charlie Somerville
35813faf54 in fact we don't even need to bother creating a new class 2013-10-15 15:42:33 -04:00
Charlie Somerville
ca03813864 AS::OrderedHash#to_yaml is just completely broken
irb(main):004:0> ActiveSupport::OrderedHash["a",1,"b",2].to_yaml
ArgumentError: wrong number of arguments (2 for 0)
	from /Users/charlie/github/github/vendor/gems/2.0.0/ruby/2.0.0/gems/activesupport-2.3.14.github25/lib/active_support/ordered_hash.rb:16:in `block in to_yaml'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/deprecated.rb:19:in `call'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/deprecated.rb:19:in `block in quick_emit'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/visitors/yaml_tree.rb:449:in `dump_coder'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/visitors/yaml_tree.rb:126:in `accept'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/visitors/yaml_tree.rb:92:in `push'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych.rb:244:in `dump'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/core_ext.rb:14:in `psych_to_yaml'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/deprecated.rb:21:in `quick_emit'
	from /Users/charlie/github/github/vendor/gems/2.0.0/ruby/2.0.0/gems/activesupport-2.3.14.github25/lib/active_support/ordered_hash.rb:15:in `to_yaml'
	from (irb):4
	from script/console:56:in `<main>'

irb(main):005:0> YAML.dump(ActiveSupport::OrderedHash["a",1,"b",2])
ArgumentError: wrong number of arguments (2 for 0)
	from /Users/charlie/github/github/vendor/gems/2.0.0/ruby/2.0.0/gems/activesupport-2.3.14.github25/lib/active_support/ordered_hash.rb:16:in `block in to_yaml'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/deprecated.rb:19:in `call'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/deprecated.rb:19:in `block in quick_emit'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/visitors/yaml_tree.rb:449:in `dump_coder'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/visitors/yaml_tree.rb:126:in `accept'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych/visitors/yaml_tree.rb:92:in `push'
	from /Users/charlie/.rubies/ruby-2.0.0-github/lib/ruby/2.0.0/psych.rb:244:in `dump'
	from (irb):5
	from script/console:56:in `<main>'
2013-10-15 15:33:15 -04:00
Charlie Somerville
8a78d5922a delete all these method definitions 2013-10-15 15:28:59 -04:00
Charlie Somerville
3770f13b97 replace uses of OrderedHash with just a regular hash 2013-10-15 15:20:43 -04:00
Charlie Somerville
755a361548 while i'm at it, 🔥 other unused monkey patches 2013-10-15 15:18:05 -04:00
Charlie Somerville
422b3d0dcb delete custom Enumerable#group_by 2013-10-15 15:17:27 -04:00
Charlie Somerville
c96caaae9a Merge pull request #19 from github/delete-formatted-route-helper
Delete deprecated formatted_ URL helper
2013-10-01 21:56:02 -07:00
Charlie Somerville
050be61caf delete test for formatted_ 2013-10-02 14:29:50 +10:00
Charlie Somerville
4baefa4de9 delete formatted_ url helper 2013-10-02 14:25:57 +10:00
182 changed files with 15987 additions and 3442 deletions

View File

@@ -5,4 +5,3 @@ gem install sqlite3 -v=1.3.7
gem install rack -v=1.4.5
gem install erubis -v=2.7.0
gem install json -v=1.8.0
gem install tzinfo -v=0.3.37

View File

@@ -964,13 +964,6 @@ module ActionController #:nodoc:
render_for_text(@template.render(options), options[:status])
end
elsif options[:update]
@template.send(:_evaluate_assigns_and_ivars)
generator = ActionView::Helpers::PrototypeHelper::JavaScriptGenerator.new(@template, &block)
response.content_type = Mime::JS
render_for_text(generator.to_s, options[:status])
elsif options[:nothing]
render_for_text(nil, options[:status])

View File

@@ -192,14 +192,7 @@ module ActionController
url_for(#{hash_access_method}(opts)) # url_for(hash_for_users_url(opts))
#
end # end
#Add an alias to support the now deprecated formatted_* URL. # #Add an alias to support the now deprecated formatted_* URL.
def formatted_#{selector}(*args) # def formatted_users_url(*args)
ActiveSupport::Deprecation.warn( # ActiveSupport::Deprecation.warn(
"formatted_#{selector}() has been deprecated. " + # "formatted_users_url() has been deprecated. " +
"Please pass format to the standard " + # "Please pass format to the standard " +
"#{selector} method instead.", caller) # "users_url method instead.", caller)
#{selector}(*args) # users_url(*args)
end # end
protected :#{selector} # protected :users_url
end_eval
helpers << selector

View File

@@ -175,13 +175,6 @@ module ActionView #:nodoc:
delegate :logger, :to => 'ActionController::Base'
end
@@debug_rjs = false
##
# :singleton-method:
# Specify whether RJS responses should be wrapped in a try/catch block
# that alert()s the caught exception (and then re-raises it).
cattr_accessor :debug_rjs
# Specify whether templates should be cached. Otherwise the file we be read everytime it is accessed.
# Automatically reloading templates are not thread safe and should only be used in development mode.
@@cache_template_loading = nil
@@ -270,8 +263,6 @@ module ActionView #:nodoc:
elsif options[:text]
options[:text]
end
when :update
update_page(&block)
else
render_partial(:partial => options, :locals => local_assigns)
end

View File

@@ -14,12 +14,10 @@ module ActionView #:nodoc:
autoload :FormTagHelper, 'action_view/helpers/form_tag_helper'
autoload :JavaScriptHelper, 'action_view/helpers/javascript_helper'
autoload :NumberHelper, 'action_view/helpers/number_helper'
autoload :PrototypeHelper, 'action_view/helpers/prototype_helper'
autoload :RawOutputHelper, 'action_view/helpers/raw_output_helper'
autoload :RecordIdentificationHelper, 'action_view/helpers/record_identification_helper'
autoload :RecordTagHelper, 'action_view/helpers/record_tag_helper'
autoload :SanitizeHelper, 'action_view/helpers/sanitize_helper'
autoload :ScriptaculousHelper, 'action_view/helpers/scriptaculous_helper'
autoload :TagHelper, 'action_view/helpers/tag_helper'
autoload :TextHelper, 'action_view/helpers/text_helper'
autoload :TranslationHelper, 'action_view/helpers/translation_helper'
@@ -47,12 +45,10 @@ module ActionView #:nodoc:
include FormTagHelper
include JavaScriptHelper
include NumberHelper
include PrototypeHelper
include RawOutputHelper
include RecordIdentificationHelper
include RecordTagHelper
include SanitizeHelper
include ScriptaculousHelper
include TagHelper
include TextHelper
include TranslationHelper

View File

@@ -1,5 +1,4 @@
require 'action_view/helpers/tag_helper'
require 'action_view/helpers/prototype_helper'
module ActionView
module Helpers
@@ -39,95 +38,6 @@ module ActionView
JAVASCRIPT_PATH = File.join(File.dirname(__FILE__), 'javascripts')
end
include PrototypeHelper
# Returns a link of the given +name+ that will trigger a JavaScript +function+ using the
# onclick handler and return false after the fact.
#
# The first argument +name+ is used as the link text.
#
# The next arguments are optional and may include the javascript function definition and a hash of html_options.
#
# The +function+ argument can be omitted in favor of an +update_page+
# block, which evaluates to a string when the template is rendered
# (instead of making an Ajax request first).
#
# The +html_options+ will accept a hash of html attributes for the link tag. Some examples are :class => "nav_button", :id => "articles_nav_button"
#
# Note: if you choose to specify the javascript function in a block, but would like to pass html_options, set the +function+ parameter to nil
#
#
# Examples:
# link_to_function "Greeting", "alert('Hello world!')"
# Produces:
# <a onclick="alert('Hello world!'); return false;" href="#">Greeting</a>
#
# link_to_function(image_tag("delete"), "if (confirm('Really?')) do_delete()")
# Produces:
# <a onclick="if (confirm('Really?')) do_delete(); return false;" href="#">
# <img src="/images/delete.png?" alt="Delete"/>
# </a>
#
# link_to_function("Show me more", nil, :id => "more_link") do |page|
# page[:details].visual_effect :toggle_blind
# page[:more_link].replace_html "Show me less"
# end
# Produces:
# <a href="#" id="more_link" onclick="try {
# $(&quot;details&quot;).visualEffect(&quot;toggle_blind&quot;);
# $(&quot;more_link&quot;).update(&quot;Show me less&quot;);
# }
# catch (e) {
# alert('RJS error:\n\n' + e.toString());
# alert('$(\&quot;details\&quot;).visualEffect(\&quot;toggle_blind\&quot;);
# \n$(\&quot;more_link\&quot;).update(\&quot;Show me less\&quot;);');
# throw e
# };
# return false;">Show me more</a>
#
def link_to_function(name, *args, &block)
html_options = args.extract_options!.symbolize_keys
function = block_given? ? update_page(&block) : args[0] || ''
onclick = "#{"#{html_options[:onclick]}; " if html_options[:onclick]}#{function}; return false;"
href = html_options[:href] || '#'
content_tag(:a, name, html_options.merge(:href => href, :onclick => onclick))
end
# Returns a button with the given +name+ text that'll trigger a JavaScript +function+ using the
# onclick handler.
#
# The first argument +name+ is used as the button's value or display text.
#
# The next arguments are optional and may include the javascript function definition and a hash of html_options.
#
# The +function+ argument can be omitted in favor of an +update_page+
# block, which evaluates to a string when the template is rendered
# (instead of making an Ajax request first).
#
# The +html_options+ will accept a hash of html attributes for the link tag. Some examples are :class => "nav_button", :id => "articles_nav_button"
#
# Note: if you choose to specify the javascript function in a block, but would like to pass html_options, set the +function+ parameter to nil
#
# Examples:
# button_to_function "Greeting", "alert('Hello world!')"
# button_to_function "Delete", "if (confirm('Really?')) do_delete()"
# button_to_function "Details" do |page|
# page[:details].visual_effect :toggle_slide
# end
# button_to_function "Details", :class => "details_button" do |page|
# page[:details].visual_effect :toggle_slide
# end
def button_to_function(name, *args, &block)
html_options = args.extract_options!.symbolize_keys
function = block_given? ? update_page(&block) : args[0] || ''
onclick = "#{"#{html_options[:onclick]}; " if html_options[:onclick]}#{function};"
tag(:input, html_options.merge(:type => 'button', :value => name, :onclick => onclick))
end
JS_ESCAPE_MAP = {
'\\' => '\\\\',
'</' => '<\/',

File diff suppressed because it is too large Load Diff

View File

@@ -1,226 +0,0 @@
require 'action_view/helpers/javascript_helper'
require 'active_support/json'
module ActionView
module Helpers
# Provides a set of helpers for calling Scriptaculous JavaScript
# functions, including those which create Ajax controls and visual effects.
#
# To be able to use these helpers, you must include the Prototype
# JavaScript framework and the Scriptaculous JavaScript library in your
# pages. See the documentation for ActionView::Helpers::JavaScriptHelper
# for more information on including the necessary JavaScript.
#
# The Scriptaculous helpers' behavior can be tweaked with various options.
# See the documentation at http://script.aculo.us for more information on
# using these helpers in your application.
module ScriptaculousHelper
unless const_defined? :TOGGLE_EFFECTS
TOGGLE_EFFECTS = [:toggle_appear, :toggle_slide, :toggle_blind]
end
# Returns a JavaScript snippet to be used on the Ajax callbacks for
# starting visual effects.
#
# Example:
# <%= link_to_remote "Reload", :update => "posts",
# :url => { :action => "reload" },
# :complete => visual_effect(:highlight, "posts", :duration => 0.5)
#
# If no +element_id+ is given, it assumes "element" which should be a local
# variable in the generated JavaScript execution context. This can be
# used for example with +drop_receiving_element+:
#
# <%= drop_receiving_element (...), :loading => visual_effect(:fade) %>
#
# This would fade the element that was dropped on the drop receiving
# element.
#
# For toggling visual effects, you can use <tt>:toggle_appear</tt>, <tt>:toggle_slide</tt>, and
# <tt>:toggle_blind</tt> which will alternate between appear/fade, slidedown/slideup, and
# blinddown/blindup respectively.
#
# You can change the behaviour with various options, see
# http://script.aculo.us for more documentation.
def visual_effect(name, element_id = false, js_options = {})
element = element_id ? ActiveSupport::JSON.encode(element_id) : "element"
js_options[:queue] = if js_options[:queue].is_a?(Hash)
'{' + js_options[:queue].map {|k, v| k == :limit ? "#{k}:#{v}" : "#{k}:'#{v}'" }.join(',') + '}'
elsif js_options[:queue]
"'#{js_options[:queue]}'"
end if js_options[:queue]
[:endcolor, :direction, :startcolor, :scaleMode, :restorecolor].each do |option|
js_options[option] = "'#{js_options[option]}'" if js_options[option]
end
if TOGGLE_EFFECTS.include? name.to_sym
"Effect.toggle(#{element},'#{name.to_s.gsub(/^toggle_/,'')}',#{options_for_javascript(js_options)});"
else
"new Effect.#{name.to_s.camelize}(#{element},#{options_for_javascript(js_options)});"
end
end
# Makes the element with the DOM ID specified by +element_id+ sortable
# by drag-and-drop and make an Ajax call whenever the sort order has
# changed. By default, the action called gets the serialized sortable
# element as parameters.
#
# Example:
#
# <%= sortable_element("my_list", :url => { :action => "order" }) %>
#
# In the example, the action gets a "my_list" array parameter
# containing the values of the ids of elements the sortable consists
# of, in the current order.
#
# Important: For this to work, the sortable elements must have id
# attributes in the form "string_identifier". For example, "item_1". Only
# the identifier part of the id attribute will be serialized.
#
# Additional +options+ are:
#
# * <tt>:format</tt> - A regular expression to determine what to send as the
# serialized id to the server (the default is <tt>/^[^_]*_(.*)$/</tt>).
#
# * <tt>:constraint</tt> - Whether to constrain the dragging to either
# <tt>:horizontal</tt> or <tt>:vertical</tt> (or false to make it unconstrained).
#
# * <tt>:overlap</tt> - Calculate the item overlap in the <tt>:horizontal</tt>
# or <tt>:vertical</tt> direction.
#
# * <tt>:tag</tt> - Which children of the container element to treat as
# sortable (default is <tt>li</tt>).
#
# * <tt>:containment</tt> - Takes an element or array of elements to treat as
# potential drop targets (defaults to the original target element).
#
# * <tt>:only</tt> - A CSS class name or array of class names used to filter
# out child elements as candidates.
#
# * <tt>:scroll</tt> - Determines whether to scroll the list during drag
# operations if the list runs past the visual border.
#
# * <tt>:tree</tt> - Determines whether to treat nested lists as part of the
# main sortable list. This means that you can create multi-layer lists,
# and not only sort items at the same level, but drag and sort items
# between levels.
#
# * <tt>:hoverclass</tt> - If set, the Droppable will have this additional CSS class
# when an accepted Draggable is hovered over it.
#
# * <tt>:handle</tt> - Sets whether the element should only be draggable by an
# embedded handle. The value may be a string referencing a CSS class value
# (as of script.aculo.us V1.5). The first child/grandchild/etc. element
# found within the element that has this CSS class value will be used as
# the handle.
#
# * <tt>:ghosting</tt> - Clones the element and drags the clone, leaving
# the original in place until the clone is dropped (default is <tt>false</tt>).
#
# * <tt>:dropOnEmpty</tt> - If true the Sortable container will be made into
# a Droppable, that can receive a Draggable (as according to the containment
# rules) as a child element when there are no more elements inside (default
# is <tt>false</tt>).
#
# * <tt>:onChange</tt> - Called whenever the sort order changes while dragging. When
# dragging from one Sortable to another, the callback is called once on each
# Sortable. Gets the affected element as its parameter.
#
# * <tt>:onUpdate</tt> - Called when the drag ends and the Sortable's order is
# changed in any way. When dragging from one Sortable to another, the callback
# is called once on each Sortable. Gets the container as its parameter.
#
# See http://script.aculo.us for more documentation.
def sortable_element(element_id, options = {})
javascript_tag(sortable_element_js(element_id, options).chop!)
end
def sortable_element_js(element_id, options = {}) #:nodoc:
options[:with] ||= "Sortable.serialize(#{ActiveSupport::JSON.encode(element_id)})"
options[:onUpdate] ||= "function(){" + remote_function(options) + "}"
options.delete_if { |key, value| PrototypeHelper::AJAX_OPTIONS.include?(key) }
[:tag, :overlap, :constraint, :handle].each do |option|
options[option] = "'#{options[option]}'" if options[option]
end
options[:containment] = array_or_string_for_javascript(options[:containment]) if options[:containment]
options[:only] = array_or_string_for_javascript(options[:only]) if options[:only]
%(Sortable.create(#{ActiveSupport::JSON.encode(element_id)}, #{options_for_javascript(options)});)
end
# Makes the element with the DOM ID specified by +element_id+ draggable.
#
# Example:
# <%= draggable_element("my_image", :revert => true)
#
# You can change the behaviour with various options, see
# http://script.aculo.us for more documentation.
def draggable_element(element_id, options = {})
javascript_tag(draggable_element_js(element_id, options).chop!)
end
def draggable_element_js(element_id, options = {}) #:nodoc:
%(new Draggable(#{ActiveSupport::JSON.encode(element_id)}, #{options_for_javascript(options)});)
end
# Makes the element with the DOM ID specified by +element_id+ receive
# dropped draggable elements (created by +draggable_element+).
# and make an AJAX call. By default, the action called gets the DOM ID
# of the element as parameter.
#
# Example:
# <%= drop_receiving_element("my_cart", :url =>
# { :controller => "cart", :action => "add" }) %>
#
# You can change the behaviour with various options, see
# http://script.aculo.us for more documentation.
#
# Some of these +options+ include:
# * <tt>:accept</tt> - Set this to a string or an array of strings describing the
# allowable CSS classes that the +draggable_element+ must have in order
# to be accepted by this +drop_receiving_element+.
#
# * <tt>:confirm</tt> - Adds a confirmation dialog. Example:
#
# :confirm => "Are you sure you want to do this?"
#
# * <tt>:hoverclass</tt> - If set, the +drop_receiving_element+ will have
# this additional CSS class when an accepted +draggable_element+ is
# hovered over it.
#
# * <tt>:onDrop</tt> - Called when a +draggable_element+ is dropped onto
# this element. Override this callback with a JavaScript expression to
# change the default drop behaviour. Example:
#
# :onDrop => "function(draggable_element, droppable_element, event) { alert('I like bananas') }"
#
# This callback gets three parameters: The Draggable element, the Droppable
# element and the Event object. You can extract additional information about
# the drop - like if the Ctrl or Shift keys were pressed - from the Event object.
#
# * <tt>:with</tt> - A JavaScript expression specifying the parameters for
# the XMLHttpRequest. Any expressions should return a valid URL query string.
def drop_receiving_element(element_id, options = {})
javascript_tag(drop_receiving_element_js(element_id, options).chop!)
end
def drop_receiving_element_js(element_id, options = {}) #:nodoc:
options[:with] ||= "'id=' + encodeURIComponent(element.id)"
options[:onDrop] ||= "function(element){" + remote_function(options) + "}"
options.delete_if { |key, value| PrototypeHelper::AJAX_OPTIONS.include?(key) }
options[:accept] = array_or_string_for_javascript(options[:accept]) if options[:accept]
options[:hoverclass] = "'#{options[:hoverclass]}'" if options[:hoverclass]
# Confirmation happens during the onDrop callback, so it can be removed from the options
options.delete(:confirm) if options[:confirm]
%(Droppables.add(#{ActiveSupport::JSON.encode(element_id)}, #{options_for_javascript(options)});)
end
end
end
end

View File

@@ -98,7 +98,7 @@ module ActionView #:nodoc:
include Renderable
# Templates that are exempt from layouts
@@exempt_from_layout = Set.new([/\.rjs$/])
@@exempt_from_layout = Set.new
# Don't render layouts for templates with the given extensions.
def self.exempt_from_layout(*extensions)

View File

@@ -1,12 +1,10 @@
module ActionView #:nodoc:
module TemplateHandlers #:nodoc:
autoload :ERB, 'action_view/template_handlers/erb'
autoload :RJS, 'action_view/template_handlers/rjs'
autoload :Builder, 'action_view/template_handlers/builder'
def self.extended(base)
base.register_default_template_handler :erb, TemplateHandlers::ERB
base.register_template_handler :rjs, TemplateHandlers::RJS
base.register_template_handler :builder, TemplateHandlers::Builder
# TODO: Depreciate old template extensions

View File

@@ -1,13 +0,0 @@
module ActionView
module TemplateHandlers
class RJS < TemplateHandler
include Compilable
def compile(template)
"@template_format = :html;" +
"controller.response.content_type ||= Mime::JS;" +
"update_page do |page|;#{template.source}\nend"
end
end
end
end

View File

@@ -47,13 +47,6 @@ class AssertSelectTest < ActionController::TestCase
@content = nil
end
def rjs()
render :update do |page|
@update.call page
end
@update = nil
end
def xml()
render :text=>@content, :layout=>false, :content_type=>Mime::XML
@content = nil
@@ -220,43 +213,6 @@ class AssertSelectTest < ActionController::TestCase
end
end
# With single result.
def test_assert_select_from_rjs_with_single_result
render_rjs do |page|
page.replace_html "test", "<div id=\"1\">foo</div>\n<div id=\"2\">foo</div>"
end
assert_select "div" do |elements|
assert elements.size == 2
assert_select "#1"
assert_select "#2"
end
assert_select "div#?", /\d+/ do |elements|
assert_select "#1"
assert_select "#2"
end
end
# With multiple results.
def test_assert_select_from_rjs_with_multiple_results
render_rjs do |page|
page.replace_html "test", "<div id=\"1\">foo</div>"
page.replace_html "test2", "<div id=\"2\">foo</div>"
end
assert_select "div" do |elements|
assert elements.size == 2
assert_select "#1"
assert_select "#2"
end
end
def test_assert_select_rjs_for_positioned_insert_should_fail_when_mixing_arguments
render_rjs do |page|
page.insert_html :top, "test1", "<div id=\"1\">foo</div>"
page.insert_html :bottom, "test2", "<div id=\"2\">foo</div>"
end
assert_raise(Assertion) {assert_select_rjs :insert, :top, "test2"}
end
def test_elect_with_xml_namespace_attributes
render_html %Q{<link xlink:href="http://nowhere.com"></link>}
assert_nothing_raised { assert_select "link[xlink:href=http://nowhere.com]" }
@@ -290,365 +246,6 @@ class AssertSelectTest < ActionController::TestCase
end
end
# With one result.
def test_css_select_from_rjs_with_single_result
render_rjs do |page|
page.replace_html "test", "<div id=\"1\">foo</div>\n<div id=\"2\">foo</div>"
end
assert_equal 2, css_select("div").size
assert_equal 1, css_select("#1").size
assert_equal 1, css_select("#2").size
end
# With multiple results.
def test_css_select_from_rjs_with_multiple_results
render_rjs do |page|
page.replace_html "test", "<div id=\"1\">foo</div>"
page.replace_html "test2", "<div id=\"2\">foo</div>"
end
assert_equal 2, css_select("div").size
assert_equal 1, css_select("#1").size
assert_equal 1, css_select("#2").size
end
#
# Test assert_select_rjs.
#
# Test that we can pick up all statements in the result.
def test_assert_select_rjs_picks_up_all_statements
render_rjs do |page|
page.replace "test", "<div id=\"1\">foo</div>"
page.replace_html "test2", "<div id=\"2\">foo</div>"
page.insert_html :top, "test3", "<div id=\"3\">foo</div>"
end
found = false
assert_select_rjs do
assert_select "#1"
assert_select "#2"
assert_select "#3"
found = true
end
assert found
end
# Test that we fail if there is nothing to pick.
def test_assert_select_rjs_fails_if_nothing_to_pick
render_rjs { }
assert_raise(Assertion) { assert_select_rjs }
end
def test_assert_select_rjs_with_unicode
# Test that non-ascii characters (which are converted into \uXXXX in RJS) are decoded correctly.
render_rjs do |page|
page.replace "test", "<div id=\"1\">\343\203\201\343\202\261\343\203\203\343\203\210</div>"
end
assert_select_rjs do
str = "#1"
assert_select str, :text => "\343\203\201\343\202\261\343\203\203\343\203\210"
assert_select str, "\343\203\201\343\202\261\343\203\203\343\203\210"
if str.respond_to?(:force_encoding)
str.force_encoding(Encoding::UTF_8)
assert_select str, /\343\203\201..\343\203\210/u
assert_raise(Assertion) { assert_select str, /\343\203\201.\343\203\210/u }
else
assert_select str, Regexp.new("\343\203\201..\343\203\210",0,'U')
assert_raise(Assertion) { assert_select str, Regexp.new("\343\203\201.\343\203\210",0,'U') }
end
end
end
def test_assert_select_rjs_with_id
# Test that we can pick up all statements in the result.
render_rjs do |page|
page.replace "test1", "<div id=\"1\">foo</div>"
page.replace_html "test2", "<div id=\"2\">foo</div>"
page.insert_html :top, "test3", "<div id=\"3\">foo</div>"
end
assert_select_rjs "test1" do
assert_select "div", 1
assert_select "#1"
end
assert_select_rjs "test2" do
assert_select "div", 1
assert_select "#2"
end
assert_select_rjs "test3" do
assert_select "div", 1
assert_select "#3"
end
assert_raise(Assertion) { assert_select_rjs "test4" }
end
def test_assert_select_rjs_for_replace
render_rjs do |page|
page.replace "test1", "<div id=\"1\">foo</div>"
page.replace_html "test2", "<div id=\"2\">foo</div>"
page.insert_html :top, "test3", "<div id=\"3\">foo</div>"
end
# Replace.
assert_select_rjs :replace do
assert_select "div", 1
assert_select "#1"
end
assert_select_rjs :replace, "test1" do
assert_select "div", 1
assert_select "#1"
end
assert_raise(Assertion) { assert_select_rjs :replace, "test2" }
# Replace HTML.
assert_select_rjs :replace_html do
assert_select "div", 1
assert_select "#2"
end
assert_select_rjs :replace_html, "test2" do
assert_select "div", 1
assert_select "#2"
end
assert_raise(Assertion) { assert_select_rjs :replace_html, "test1" }
end
def test_assert_select_rjs_for_chained_replace
render_rjs do |page|
page['test1'].replace "<div id=\"1\">foo</div>"
page['test2'].replace_html "<div id=\"2\">foo</div>"
page.insert_html :top, "test3", "<div id=\"3\">foo</div>"
end
# Replace.
assert_select_rjs :chained_replace do
assert_select "div", 1
assert_select "#1"
end
assert_select_rjs :chained_replace, "test1" do
assert_select "div", 1
assert_select "#1"
end
assert_raise(Assertion) { assert_select_rjs :chained_replace, "test2" }
# Replace HTML.
assert_select_rjs :chained_replace_html do
assert_select "div", 1
assert_select "#2"
end
assert_select_rjs :chained_replace_html, "test2" do
assert_select "div", 1
assert_select "#2"
end
assert_raise(Assertion) { assert_select_rjs :replace_html, "test1" }
end
# Simple remove
def test_assert_select_rjs_for_remove
render_rjs do |page|
page.remove "test1"
end
assert_select_rjs :remove, "test1"
end
def test_assert_select_rjs_for_remove_offers_useful_error_when_assertion_fails
render_rjs do |page|
page.remove "test_with_typo"
end
assert_select_rjs :remove, "test1"
rescue Assertion
assert_equal "No RJS statement that removes 'test1' was rendered.", $!.message
end
def test_assert_select_rjs_for_remove_ignores_block
render_rjs do |page|
page.remove "test1"
end
assert_nothing_raised do
assert_select_rjs :remove, "test1" do
assert_select "p"
end
end
end
# Simple show
def test_assert_select_rjs_for_show
render_rjs do |page|
page.show "test1"
end
assert_select_rjs :show, "test1"
end
def test_assert_select_rjs_for_show_offers_useful_error_when_assertion_fails
render_rjs do |page|
page.show "test_with_typo"
end
assert_select_rjs :show, "test1"
rescue Assertion
assert_equal "No RJS statement that shows 'test1' was rendered.", $!.message
end
def test_assert_select_rjs_for_show_ignores_block
render_rjs do |page|
page.show "test1"
end
assert_nothing_raised do
assert_select_rjs :show, "test1" do
assert_select "p"
end
end
end
# Simple hide
def test_assert_select_rjs_for_hide
render_rjs do |page|
page.hide "test1"
end
assert_select_rjs :hide, "test1"
end
def test_assert_select_rjs_for_hide_offers_useful_error_when_assertion_fails
render_rjs do |page|
page.hide "test_with_typo"
end
assert_select_rjs :hide, "test1"
rescue Assertion
assert_equal "No RJS statement that hides 'test1' was rendered.", $!.message
end
def test_assert_select_rjs_for_hide_ignores_block
render_rjs do |page|
page.hide "test1"
end
assert_nothing_raised do
assert_select_rjs :hide, "test1" do
assert_select "p"
end
end
end
# Simple toggle
def test_assert_select_rjs_for_toggle
render_rjs do |page|
page.toggle "test1"
end
assert_select_rjs :toggle, "test1"
end
def test_assert_select_rjs_for_toggle_offers_useful_error_when_assertion_fails
render_rjs do |page|
page.toggle "test_with_typo"
end
assert_select_rjs :toggle, "test1"
rescue Assertion
assert_equal "No RJS statement that toggles 'test1' was rendered.", $!.message
end
def test_assert_select_rjs_for_toggle_ignores_block
render_rjs do |page|
page.toggle "test1"
end
assert_nothing_raised do
assert_select_rjs :toggle, "test1" do
assert_select "p"
end
end
end
# Non-positioned insert.
def test_assert_select_rjs_for_nonpositioned_insert
render_rjs do |page|
page.replace "test1", "<div id=\"1\">foo</div>"
page.replace_html "test2", "<div id=\"2\">foo</div>"
page.insert_html :top, "test3", "<div id=\"3\">foo</div>"
end
assert_select_rjs :insert_html do
assert_select "div", 1
assert_select "#3"
end
assert_select_rjs :insert_html, "test3" do
assert_select "div", 1
assert_select "#3"
end
assert_raise(Assertion) { assert_select_rjs :insert_html, "test1" }
end
# Positioned insert.
def test_assert_select_rjs_for_positioned_insert
render_rjs do |page|
page.insert_html :top, "test1", "<div id=\"1\">foo</div>"
page.insert_html :bottom, "test2", "<div id=\"2\">foo</div>"
page.insert_html :before, "test3", "<div id=\"3\">foo</div>"
page.insert_html :after, "test4", "<div id=\"4\">foo</div>"
end
assert_select_rjs :insert, :top do
assert_select "div", 1
assert_select "#1"
end
assert_select_rjs :insert, :bottom do
assert_select "div", 1
assert_select "#2"
end
assert_select_rjs :insert, :before do
assert_select "div", 1
assert_select "#3"
end
assert_select_rjs :insert, :after do
assert_select "div", 1
assert_select "#4"
end
assert_select_rjs :insert_html do
assert_select "div", 4
end
end
def test_assert_select_rjs_raise_errors
assert_raise(ArgumentError) { assert_select_rjs(:destroy) }
assert_raise(ArgumentError) { assert_select_rjs(:insert, :left) }
end
# Simple selection from a single result.
def test_nested_assert_select_rjs_with_single_result
render_rjs do |page|
page.replace_html "test", "<div id=\"1\">foo</div>\n<div id=\"2\">foo</div>"
end
assert_select_rjs "test" do |elements|
assert_equal 2, elements.size
assert_select "#1"
assert_select "#2"
end
end
# Deal with two results.
def test_nested_assert_select_rjs_with_two_results
render_rjs do |page|
page.replace_html "test", "<div id=\"1\">foo</div>"
page.replace_html "test2", "<div id=\"2\">foo</div>"
end
assert_select_rjs "test" do |elements|
assert_equal 1, elements.size
assert_select "#1"
end
assert_select_rjs "test2" do |elements|
assert_equal 1, elements.size
assert_select "#2"
end
end
def test_feed_item_encoded
render_xml <<-EOF
<rss version="2.0">
@@ -725,11 +322,6 @@ EOF
get :html
end
def render_rjs(&block)
@controller.response_with &block
get :rjs
end
def render_xml(xml)
@controller.response_with = xml
get :xml

View File

@@ -703,13 +703,6 @@ CACHED
assert_match "Some cached content", @store.read('views/test.host/functional_caching/inline_fragment_cached')
end
def test_fragment_caching_in_rjs_partials
xhr :get, :js_fragment_cached_with_partial
assert_response :success
assert_match /Fragment caching in a partial/, @response.body
assert_match "Fragment caching in a partial", @store.read('views/test.host/functional_caching/js_fragment_cached_with_partial')
end
def test_html_formatted_fragment_caching
get :formatted_fragment_cached, :format => "html"
assert_response :success
@@ -729,15 +722,4 @@ CACHED
assert_equal " <p>Builder</p>\n", @store.read('views/test.host/functional_caching/formatted_fragment_cached')
end
def test_js_formatted_fragment_caching
get :formatted_fragment_cached, :format => "js"
assert_response :success
expected_body = %(title = "Hey";\n$("element_1").visualEffect("highlight");\n) +
%($("element_2").visualEffect("highlight");\nfooter = "Bye";)
assert_equal expected_body, @response.body
assert_equal ['$("element_1").visualEffect("highlight");', '$("element_2").visualEffect("highlight");'],
@store.read('views/test.host/functional_caching/formatted_fragment_cached')
end
end

View File

@@ -30,9 +30,6 @@ class ContentTypeController < ActionController::Base
def render_default_for_rxml
end
def render_default_for_rjs
end
def render_change_for_rxml
response.content_type = Mime::HTML
render :action => "render_default_for_rxml"
@@ -123,12 +120,6 @@ class ContentTypeTest < ActionController::TestCase
assert_equal "utf-8", @response.charset
end
def test_default_for_rjs
xhr :post, :render_default_for_rjs
assert_equal Mime::JS, @response.content_type
assert_equal "utf-8", @response.charset
end
def test_change_for_rxml
get :render_change_for_rxml
assert_equal Mime::HTML, @response.content_type

View File

@@ -255,11 +255,6 @@ class MimeControllerTest < ActionController::TestCase
assert_equal "text/html", @response.content_type
assert_equal 'Hello world!', @response.body
@request.accept = "text/javascript"
get :using_defaults
assert_equal "text/javascript", @response.content_type
assert_equal '$("body").visualEffect("highlight");', @response.body
@request.accept = "application/xml"
get :using_defaults
assert_equal "application/xml", @response.content_type
@@ -272,11 +267,6 @@ class MimeControllerTest < ActionController::TestCase
assert_equal "text/html", @response.content_type
assert_equal 'Hello world!', @response.body
@request.accept = "text/javascript"
get :using_defaults_with_type_list
assert_equal "text/javascript", @response.content_type
assert_equal '$("body").visualEffect("highlight");', @response.body
@request.accept = "application/xml"
get :using_defaults_with_type_list
assert_equal "application/xml", @response.content_type
@@ -372,26 +362,12 @@ class MimeControllerTest < ActionController::TestCase
assert_equal 'Whatever you ask for, I got it', @response.body
end
def test_rjs_type_skips_layout
@request.accept = "text/javascript"
get :all_types_with_layout
assert_equal 'RJS for all_types_with_layout', @response.body
end
def test_html_type_with_layout
@request.accept = "text/html"
get :all_types_with_layout
assert_equal '<html><div id="html">HTML for all_types_with_layout</div></html>', @response.body
end
def test_xhr
xhr :get, :js_or_html
assert_equal 'JS', @response.body
xhr :get, :using_defaults
assert_equal '$("body").visualEffect("highlight");', @response.body
end
def test_custom_constant
get :custom_constant_handling, :format => "mobile"
assert_equal "text/x-mobile", @response.content_type

View File

@@ -221,12 +221,6 @@ class TestController < ActionController::Base
render :text => "hello world", :status => 404
end
def render_custom_code_rjs
render :update, :status => 404 do |page|
page.replace :foo, :partial => 'partial'
end
end
def render_text_with_nil
render :text => nil
end
@@ -448,30 +442,6 @@ class TestController < ActionController::Base
render :template => "test/hello_world_from_rxml.builder"
end
module RenderTestHelper
def rjs_helper_method_from_module
page.visual_effect :highlight
end
end
helper RenderTestHelper
helper do
def rjs_helper_method(value)
page.visual_effect :highlight, value
end
end
def enum_rjs_test
render :update do |page|
page.select('.product').each do |value|
page.rjs_helper_method_from_module
page.rjs_helper_method(value)
page.sortable(value, :url => { :action => "order" })
page.draggable(value)
end
end
end
def delete_with_js
@project_id = 4
end
@@ -486,28 +456,6 @@ class TestController < ActionController::Base
render :action => 'delete_with_js'
end
def update_page
render :update do |page|
page.replace_html 'balance', '$37,000,000.00'
page.visual_effect :highlight, 'balance'
end
end
def update_page_with_instance_variables
@money = '$37,000,000.00'
@div_id = 'balance'
render :update do |page|
page.replace_html @div_id, @money
page.visual_effect :highlight, @div_id
end
end
def update_page_with_view_method
render :update do |page|
page.replace_html 'person', pluralize(2, 'person')
end
end
def action_talk_to_layout
# Action template sets variable that's picked up by layout
end
@@ -585,35 +533,10 @@ class TestController < ActionController::Base
render :partial => 'partial.html.erb'
end
def partial_as_rjs
render :update do |page|
page.replace :foo, :partial => 'partial'
end
end
def respond_to_partial_as_rjs
respond_to do |format|
format.js do
render :update do |page|
page.replace :foo, :partial => 'partial'
end
end
end
end
def partial
render :partial => 'partial'
end
def render_alternate_default
# For this test, the method "default_render" is overridden:
@alternate_default_render = lambda do
render :update do |page|
page.replace :foo, :partial => 'partial'
end
end
end
def partial_only_with_layout
render :partial => "partial_only", :layout => true
end
@@ -944,12 +867,6 @@ class RenderTest < ActionController::TestCase
assert_equal 'hello world', @response.body
end
def test_render_custom_code_rjs
get :render_custom_code_rjs
assert_response 404
assert_equal %(Element.replace("foo", "partial html");), @response.body
end
def test_render_text_with_nil
get :render_text_with_nil
assert_response 200
@@ -1023,20 +940,6 @@ class RenderTest < ActionController::TestCase
assert_equal "<test>\n <hello/>\n</test>\n", @response.body
end
def test_enum_rjs_test
ActiveSupport::SecureRandom.stubs(:base64).returns("asdf")
get :enum_rjs_test
body = %{
$$(".product").each(function(value, index) {
new Effect.Highlight(element,{});
new Effect.Highlight(value,{});
Sortable.create(value, {onUpdate:function(){new Ajax.Request('/test/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(value) + '&authenticity_token=' + encodeURIComponent('asdf')})}});
new Draggable(value, {});
});
}.gsub(/^ /, '').strip
assert_equal body, @response.body
end
def test_layout_rendering
get :layout_test
assert_equal "<html>Hello world!</html>", @response.body
@@ -1083,24 +986,6 @@ class RenderTest < ActionController::TestCase
assert_equal "Goodbye, Local David", @response.body
end
def test_render_in_an_rjs_template_should_pick_html_templates_when_available
[:js, "js"].each do |format|
assert_nothing_raised do
get :render_implicit_html_template, :format => format
assert_equal %(document.write("Hello world\\n");), @response.body
end
end
end
def test_explicitly_rendering_an_html_template_with_implicit_html_template_renders_should_be_possible_from_an_rjs_template
[:js, "js"].each do |format|
assert_nothing_raised do
get :render_explicit_html_template, :format => format
assert_equal %(document.write("Hello world\\n");), @response.body
end
end
end
def test_should_implicitly_render_html_template_from_xhr_request
xhr :get, :render_implicit_html_template_from_xhr_request
assert_equal "XHR!\nHello HTML!", @response.body
@@ -1142,26 +1027,6 @@ class RenderTest < ActionController::TestCase
assert_equal "application/atomsvc+xml", @response.content_type
end
def test_render_with_default_from_accept_header
xhr :get, :greeting
assert_equal "$(\"body\").visualEffect(\"highlight\");", @response.body
end
def test_render_rjs_with_default
get :delete_with_js
assert_equal %!Element.remove("person");\nnew Effect.Highlight(\"project-4\",{});!, @response.body
end
def test_render_rjs_template_explicitly
get :render_js_with_explicit_template
assert_equal %!Element.remove("person");\nnew Effect.Highlight(\"project-4\",{});!, @response.body
end
def test_rendering_rjs_action_explicitly
get :render_js_with_explicit_action_template
assert_equal %!Element.remove("person");\nnew Effect.Highlight(\"project-4\",{});!, @response.body
end
def test_layout_test_with_different_layout
get :layout_test_with_different_layout
assert_equal "<html>Hello world!</html>", @response.body
@@ -1267,28 +1132,6 @@ class RenderTest < ActionController::TestCase
assert_equal "The secret is area51\n", @response.body
end
def test_update_page
get :update_page
assert_template nil
assert_equal 'text/javascript; charset=utf-8', @response.headers['Content-Type']
assert_equal 2, @response.body.split($/).length
end
def test_update_page_with_instance_variables
get :update_page_with_instance_variables
assert_template nil
assert_equal 'text/javascript; charset=utf-8', @response.headers["Content-Type"]
assert_match /balance/, @response.body
assert_match /\$37/, @response.body
end
def test_update_page_with_view_method
get :update_page_with_view_method
assert_template nil
assert_equal 'text/javascript; charset=utf-8', @response.headers["Content-Type"]
assert_match /2 people/, @response.body
end
def test_yield_content_for
assert_not_deprecated { get :yield_content_for }
assert_equal "<title>Putting stuff in the title!</title>\n\nGreat stuff!\n", @response.body
@@ -1414,26 +1257,11 @@ class RenderTest < ActionController::TestCase
assert_equal 'partial html', @response.body
end
def test_should_render_html_formatted_partial_with_rjs
xhr :get, :partial_as_rjs
assert_equal %(Element.replace("foo", "partial html");), @response.body
end
def test_should_render_html_formatted_partial_with_rjs_and_js_format
xhr :get, :respond_to_partial_as_rjs
assert_equal %(Element.replace("foo", "partial html");), @response.body
end
def test_should_render_js_partial
xhr :get, :partial, :format => 'js'
assert_equal 'partial js', @response.body
end
def test_should_render_with_alternate_default_render
xhr :get, :render_alternate_default
assert_equal %(Element.replace("foo", "partial html");), @response.body
end
def test_partial_only_with_layout
get :partial_only_with_layout
assert_equal "<html>only partial</html>", @response.body

View File

@@ -357,24 +357,6 @@ class UrlWriterTests < ActionController::TestCase
ActionController::Routing::Routes.load!
end
def test_formatted_url_methods_are_deprecated
ActionController::Routing::Routes.draw do |map|
map.resources :posts
end
# We need to create a new class in order to install the new named route.
kls = Class.new { include ActionController::UrlWriter }
controller = kls.new
params = {:id => 1, :format => :xml}
assert_deprecated do
assert_equal("/posts/1.xml", controller.send(:formatted_post_path, params))
end
assert_deprecated do
assert_equal("/posts/1.xml", controller.send(:formatted_post_path, 1, :xml))
end
ensure
ActionController::Routing::Routes.load!
end
def test_multiple_includes_maintain_distinct_options
first_class = Class.new { include ActionController::UrlWriter }
second_class = Class.new { include ActionController::UrlWriter }

View File

@@ -1 +0,0 @@
page.alert 'hello world!'

View File

@@ -1,6 +0,0 @@
page.assign 'title', 'Hey'
cache do
page['element_1'].visual_effect :highlight
page['element_2'].visual_effect :highlight
end
page.assign 'footer', 'Bye'

View File

@@ -1 +0,0 @@
page.replace_html 'notices', :partial => 'partial'

View File

@@ -1 +0,0 @@
page << "RJS for all_types_with_layout"

View File

@@ -1 +0,0 @@
page[:body].visual_effect :highlight

View File

@@ -1 +0,0 @@
page[:body].visual_effect :highlight

View File

@@ -1,2 +0,0 @@
page.remove 'person'
page.visual_effect :highlight, "project-#{@project_id}"

View File

@@ -1,6 +0,0 @@
page.select('.product').each do |value|
page.visual_effect :highlight
page.visual_effect :highlight, value
page.sortable(value, :url => { :action => "order" })
page.draggable(value)
end

View File

@@ -1 +0,0 @@
page[:body].visual_effect :highlight

View File

@@ -1 +0,0 @@
page.call "document.write", render(:partial => "one.html.erb")

View File

@@ -1 +0,0 @@
page.call "document.write", render(:partial => "one")

View File

@@ -1244,28 +1244,6 @@ class FormHelperTest < ActionView::TestCase
end
# Perhaps this test should be moved to prototype helper tests.
def test_remote_form_for_with_labelled_builder
failed_pre_200
self.extend ActionView::Helpers::PrototypeHelper
remote_form_for(:post, @post, :builder => LabelledFormBuilder) do |f|
concat f.text_field(:title)
concat f.text_area(:body)
concat f.check_box(:secret)
end
expected =
%(<form action="http://www.example.com" onsubmit="new Ajax.Request('http://www.example.com', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;" method="post">) +
"<label for='title'>Title:</label> <input name='post[title]' size='30' type='text' id='post_title' value='Hello World' /><br/>" +
"<label for='body'>Body:</label> <textarea name='post[body]' id='post_body' rows='20' cols='40'>Back to the hill and over it again!</textarea><br/>" +
"<label for='secret'>Secret:</label> <input name='post[secret]' type='hidden' value='0' /><input name='post[secret]' checked='checked' type='checkbox' id='post_secret' value='1' /><br/>" +
"</form>"
assert_dom_equal expected, output_buffer
end
def test_fields_for_with_labelled_builder
fields_for(:post, @post, :builder => LabelledFormBuilder) do |f|
concat f.text_field(:title)
@@ -1412,17 +1390,6 @@ class FormHelperTest < ActionView::TestCase
assert_equal expected, output_buffer
end
def test_remote_form_for_with_html_options_adds_options_to_form_tag
failed_pre_200
self.extend ActionView::Helpers::PrototypeHelper
remote_form_for(:post, @post, :html => {:id => 'some_form', :class => 'some_class'}) do |f| end
expected = "<form action=\"http://www.example.com\" class=\"some_class\" id=\"some_form\" method=\"post\" onsubmit=\"new Ajax.Request('http://www.example.com', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;\"></form>"
assert_dom_equal expected, output_buffer
end
protected
def comments_path(post)
"/posts/#{post.id}/comments"

View File

@@ -16,74 +16,6 @@ class JavaScriptHelperTest < ActionView::TestCase
assert_equal %(dont <\\/close> tags), escape_javascript(%(dont </close> tags))
end
def test_link_to_function
failed_pre_200
assert_dom_equal %(<a href="#" onclick="alert('Hello world!'); return false;">Greeting</a>),
link_to_function("Greeting", "alert('Hello world!')")
end
def test_link_to_function_with_existing_onclick
failed_pre_200
assert_dom_equal %(<a href="#" onclick="confirm('Sanity!'); alert('Hello world!'); return false;">Greeting</a>),
link_to_function("Greeting", "alert('Hello world!')", :onclick => "confirm('Sanity!')")
end
def test_link_to_function_with_rjs_block
html = link_to_function( "Greet me!" ) do |page|
page.replace_html 'header', "<h1>Greetings</h1>"
end
assert_dom_equal %(<a href="#" onclick="Element.update(&quot;header&quot;, &quot;\\u003Ch1\\u003EGreetings\\u003C/h1\\u003E&quot;);; return false;">Greet me!</a>), html
end
def test_link_to_function_with_rjs_block_and_options
html = link_to_function( "Greet me!", :class => "updater" ) do |page|
page.replace_html 'header', "<h1>Greetings</h1>"
end
assert_dom_equal %(<a href="#" class="updater" onclick="Element.update(&quot;header&quot;, &quot;\\u003Ch1\\u003EGreetings\\u003C/h1\\u003E&quot;);; return false;">Greet me!</a>), html
end
def test_link_to_function_with_href
failed_pre_200
assert_dom_equal %(<a href="http://example.com/" onclick="alert('Hello world!'); return false;">Greeting</a>),
link_to_function("Greeting", "alert('Hello world!')", :href => 'http://example.com/')
end
def test_button_to_function
failed_pre_200
assert_dom_equal %(<input type="button" onclick="alert('Hello world!');" value="Greeting" />),
button_to_function("Greeting", "alert('Hello world!')")
end
def test_button_to_function_with_rjs_block
html = button_to_function( "Greet me!" ) do |page|
page.replace_html 'header', "<h1>Greetings</h1>"
end
assert_dom_equal %(<input type="button" onclick="Element.update(&quot;header&quot;, &quot;\\u003Ch1\\u003EGreetings\\u003C/h1\\u003E&quot;);;" value="Greet me!" />), html
end
def test_button_to_function_with_rjs_block_and_options
html = button_to_function( "Greet me!", :class => "greeter" ) do |page|
page.replace_html 'header', "<h1>Greetings</h1>"
end
assert_dom_equal %(<input type="button" class="greeter" onclick="Element.update(&quot;header&quot;, &quot;\\u003Ch1\\u003EGreetings\\u003C\/h1\\u003E&quot;);;" value="Greet me!" />), html
end
def test_button_to_function_with_onclick
failed_pre_200
assert_dom_equal "<input onclick=\"alert('Goodbye World :('); alert('Hello world!');\" type=\"button\" value=\"Greeting\" />",
button_to_function("Greeting", "alert('Hello world!')", :onclick => "alert('Goodbye World :(')")
end
def test_button_to_function_without_function
assert_dom_equal "<input onclick=\";\" type=\"button\" value=\"Greeting\" />",
button_to_function("Greeting")
end
def test_javascript_tag
self.output_buffer = 'foo'

View File

@@ -1,666 +0,0 @@
require 'abstract_unit'
Bunny = Struct.new(:Bunny, :id)
class Author
attr_reader :id
def save; @id = 1 end
def new_record?; @id.nil? end
def name
@id.nil? ? 'new author' : "author ##{@id}"
end
end
class Article
attr_reader :id
attr_reader :author_id
def save; @id = 1; @author_id = 1 end
def new_record?; @id.nil? end
def name
@id.nil? ? 'new article' : "article ##{@id}"
end
end
class Author::Nested < Author; end
class PrototypeHelperBaseTest < ActionView::TestCase
attr_accessor :template_format, :output_buffer
def setup
@template = self
@controller = Class.new do
def url_for(options)
if options.is_a?(String)
options
else
url = "http://www.example.com/"
url << options[:action].to_s if options and options[:action]
url << "?a=#{options[:a]}" if options && options[:a]
url << "&b=#{options[:b]}" if options && options[:a] && options[:b]
url
end
end
end.new
end
protected
def request_forgery_protection_token
nil
end
def protect_against_forgery?
false
end
def create_generator
block = Proc.new { |*args| yield *args if block_given? }
JavaScriptGenerator.new self, &block
end
end
class PrototypeHelperTest < PrototypeHelperBaseTest
def setup
@record = @author = Author.new
@article = Article.new
super
end
def test_link_to_remote
failed_pre_200
assert_dom_equal %(<a class=\"fine\" href=\"#\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true}); return false;\">Remote outauthor</a>),
link_to_remote("Remote outauthor", { :url => { :action => "whatnot" }}, { :class => "fine" })
assert_dom_equal %(<a href=\"#\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true, onComplete:function(request){alert(request.responseText)}}); return false;\">Remote outauthor</a>),
link_to_remote("Remote outauthor", :complete => "alert(request.responseText)", :url => { :action => "whatnot" })
assert_dom_equal %(<a href=\"#\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true, onSuccess:function(request){alert(request.responseText)}}); return false;\">Remote outauthor</a>),
link_to_remote("Remote outauthor", :success => "alert(request.responseText)", :url => { :action => "whatnot" })
assert_dom_equal %(<a href=\"#\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true, onFailure:function(request){alert(request.responseText)}}); return false;\">Remote outauthor</a>),
link_to_remote("Remote outauthor", :failure => "alert(request.responseText)", :url => { :action => "whatnot" })
assert_dom_equal %(<a href=\"#\" onclick=\"new Ajax.Request('http://www.example.com/whatnot?a=10&amp;b=20', {asynchronous:true, evalScripts:true, onFailure:function(request){alert(request.responseText)}}); return false;\">Remote outauthor</a>),
link_to_remote("Remote outauthor", :failure => "alert(request.responseText)", :url => { :action => "whatnot", :a => '10', :b => '20' })
assert_dom_equal %(<a href=\"#\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:false, evalScripts:true}); return false;\">Remote outauthor</a>),
link_to_remote("Remote outauthor", :url => { :action => "whatnot" }, :type => :synchronous)
assert_dom_equal %(<a href=\"#\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true, insertion:'bottom'}); return false;\">Remote outauthor</a>),
link_to_remote("Remote outauthor", :url => { :action => "whatnot" }, :position => :bottom)
end
def test_link_to_remote_html_options
failed_pre_200
assert_dom_equal %(<a class=\"fine\" href=\"#\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true}); return false;\">Remote outauthor</a>),
link_to_remote("Remote outauthor", { :url => { :action => "whatnot" }, :html => { :class => "fine" } })
end
def test_link_to_remote_url_quote_escaping
failed_pre_200
assert_dom_equal %(<a href="#" onclick="new Ajax.Request('http://www.example.com/whatnot\\\'s', {asynchronous:true, evalScripts:true}); return false;">Remote</a>),
link_to_remote("Remote", { :url => { :action => "whatnot's" } })
end
def test_button_to_remote
failed_pre_200
assert_dom_equal %(<input class=\"fine\" type=\"button\" value=\"Remote outpost\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true});\" />),
button_to_remote("Remote outpost", { :url => { :action => "whatnot" }}, { :class => "fine" })
assert_dom_equal %(<input type=\"button\" value=\"Remote outpost\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true, onComplete:function(request){alert(request.reponseText)}});\" />),
button_to_remote("Remote outpost", :complete => "alert(request.reponseText)", :url => { :action => "whatnot" })
assert_dom_equal %(<input type=\"button\" value=\"Remote outpost\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true, onSuccess:function(request){alert(request.reponseText)}});\" />),
button_to_remote("Remote outpost", :success => "alert(request.reponseText)", :url => { :action => "whatnot" })
assert_dom_equal %(<input type=\"button\" value=\"Remote outpost\" onclick=\"new Ajax.Request('http://www.example.com/whatnot', {asynchronous:true, evalScripts:true, onFailure:function(request){alert(request.reponseText)}});\" />),
button_to_remote("Remote outpost", :failure => "alert(request.reponseText)", :url => { :action => "whatnot" })
assert_dom_equal %(<input type=\"button\" value=\"Remote outpost\" onclick=\"new Ajax.Request('http://www.example.com/whatnot?a=10&amp;b=20', {asynchronous:true, evalScripts:true, onFailure:function(request){alert(request.reponseText)}});\" />),
button_to_remote("Remote outpost", :failure => "alert(request.reponseText)", :url => { :action => "whatnot", :a => '10', :b => '20' })
end
def test_periodically_call_remote
assert_dom_equal %(<script type="text/javascript">\n//<![CDATA[\nnew PeriodicalExecuter(function() {new Ajax.Updater('schremser_bier', 'http://www.example.com/mehr_bier', {asynchronous:true, evalScripts:true})}, 10)\n//]]>\n</script>),
periodically_call_remote(:update => "schremser_bier", :url => { :action => "mehr_bier" })
end
def test_periodically_call_remote_with_frequency
assert_dom_equal(
"<script type=\"text/javascript\">\n//<![CDATA[\nnew PeriodicalExecuter(function() {new Ajax.Request('http://www.example.com/', {asynchronous:true, evalScripts:true})}, 2)\n//]]>\n</script>",
periodically_call_remote(:frequency => 2)
)
end
def test_form_remote_tag
failed_pre_200
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;\">),
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast })
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater({success:'glass_of_beer'}, 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;\">),
form_remote_tag(:update => { :success => "glass_of_beer" }, :url => { :action => :fast })
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater({failure:'glass_of_water'}, 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;\">),
form_remote_tag(:update => { :failure => "glass_of_water" }, :url => { :action => :fast })
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater({success:'glass_of_beer',failure:'glass_of_water'}, 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;\">),
form_remote_tag(:update => { :success => 'glass_of_beer', :failure => "glass_of_water" }, :url => { :action => :fast })
end
def test_form_remote_tag_with_method
failed_pre_200
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;\"><div style='margin:0;padding:0;display:inline'><input name='_method' type='hidden' value='put' /></div>),
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }, :html => { :method => :put })
end
def test_form_remote_tag_with_block_in_erb
failed_pre_200
__in_erb_template = ''
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }) { concat "Hello world!" }
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;\">Hello world!</form>), output_buffer
end
def test_remote_form_for_with_record_identification_with_new_record
failed_pre_200
remote_form_for(@record, {:html => { :id => 'create-author' }}) {}
expected = %(<form action='#{authors_path}' onsubmit="new Ajax.Request('#{authors_path}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;" class='new_author' id='create-author' method='post'></form>)
assert_dom_equal expected, output_buffer
end
def test_remote_form_for_with_record_identification_without_html_options
failed_pre_200
remote_form_for(@record) {}
expected = %(<form action='#{authors_path}' onsubmit="new Ajax.Request('#{authors_path}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;" class='new_author' method='post' id='new_author'></form>)
assert_dom_equal expected, output_buffer
end
def test_remote_form_for_with_record_identification_with_existing_record
failed_pre_200
@record.save
remote_form_for(@record) {}
expected = %(<form action='#{author_path(@record)}' id='edit_author_1' method='post' onsubmit="new Ajax.Request('#{author_path(@record)}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;" class='edit_author'><div style='margin:0;padding:0;display:inline'><input name='_method' type='hidden' value='put' /></div></form>)
assert_dom_equal expected, output_buffer
end
def test_remote_form_for_with_new_object_in_list
failed_pre_200
remote_form_for([@author, @article]) {}
expected = %(<form action='#{author_articles_path(@author)}' onsubmit="new Ajax.Request('#{author_articles_path(@author)}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;" class='new_article' method='post' id='new_article'></form>)
assert_dom_equal expected, output_buffer
end
def test_remote_form_for_with_existing_object_in_list
failed_pre_200
@author.save
@article.save
remote_form_for([@author, @article]) {}
expected = %(<form action='#{author_article_path(@author, @article)}' id='edit_article_1' method='post' onsubmit="new Ajax.Request('#{author_article_path(@author, @article)}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;" class='edit_article'><div style='margin:0;padding:0;display:inline'><input name='_method' type='hidden' value='put' /></div></form>)
assert_dom_equal expected, output_buffer
end
def test_on_callbacks
failed_pre_200
callbacks = [:uninitialized, :loading, :loaded, :interactive, :complete, :success, :failure]
callbacks.each do |callback|
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, on#{callback.to_s.capitalize}:function(request){monkeys();}, parameters:Form.serialize(this)}); return false;">),
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }, callback=>"monkeys();")
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater({success:'glass_of_beer'}, 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, on#{callback.to_s.capitalize}:function(request){monkeys();}, parameters:Form.serialize(this)}); return false;">),
form_remote_tag(:update => { :success => "glass_of_beer" }, :url => { :action => :fast }, callback=>"monkeys();")
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater({failure:'glass_of_beer'}, 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, on#{callback.to_s.capitalize}:function(request){monkeys();}, parameters:Form.serialize(this)}); return false;">),
form_remote_tag(:update => { :failure => "glass_of_beer" }, :url => { :action => :fast }, callback=>"monkeys();")
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater({success:'glass_of_beer',failure:'glass_of_water'}, 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, on#{callback.to_s.capitalize}:function(request){monkeys();}, parameters:Form.serialize(this)}); return false;">),
form_remote_tag(:update => { :success => "glass_of_beer", :failure => "glass_of_water" }, :url => { :action => :fast }, callback=>"monkeys();")
end
#HTTP status codes 200 up to 599 have callbacks
#these should work
100.upto(599) do |callback|
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, on#{callback.to_s.capitalize}:function(request){monkeys();}, parameters:Form.serialize(this)}); return false;">),
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }, callback=>"monkeys();")
end
#test 200 and 404
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, on200:function(request){monkeys();}, on404:function(request){bananas();}, parameters:Form.serialize(this)}); return false;">),
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }, 200=>"monkeys();", 404=>"bananas();")
#these shouldn't
1.upto(99) do |callback|
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;">),
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }, callback=>"monkeys();")
end
600.upto(999) do |callback|
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;">),
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }, callback=>"monkeys();")
end
#test ultimate combo
assert_dom_equal %(<form action=\"http://www.example.com/fast\" method=\"post\" onsubmit=\"new Ajax.Updater('glass_of_beer', 'http://www.example.com/fast', {asynchronous:true, evalScripts:true, on200:function(request){monkeys();}, on404:function(request){bananas();}, onComplete:function(request){c();}, onFailure:function(request){f();}, onLoading:function(request){c1()}, onSuccess:function(request){s()}, parameters:Form.serialize(this)}); return false;\">),
form_remote_tag(:update => "glass_of_beer", :url => { :action => :fast }, :loading => "c1()", :success => "s()", :failure => "f();", :complete => "c();", 200=>"monkeys();", 404=>"bananas();")
end
def test_submit_to_remote
failed_pre_200
assert_dom_equal %(<input name=\"More beer!\" onclick=\"new Ajax.Updater('empty_bottle', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)});\" type=\"button\" value=\"1000000\" />),
submit_to_remote("More beer!", 1_000_000, :update => "empty_bottle")
end
def test_observe_field
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Form.Element.Observer('glass', 300, function(element, value) {new Ajax.Request('http://www.example.com/reorder_if_empty', {asynchronous:true, evalScripts:true, parameters:value})})\n//]]>\n</script>),
observe_field("glass", :frequency => 5.minutes, :url => { :action => "reorder_if_empty" })
end
def test_observe_field_using_with_option
expected = %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Form.Element.Observer('glass', 300, function(element, value) {new Ajax.Request('http://www.example.com/check_value', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(value)})})\n//]]>\n</script>)
assert_dom_equal expected, observe_field("glass", :frequency => 5.minutes, :url => { :action => "check_value" }, :with => 'id')
assert_dom_equal expected, observe_field("glass", :frequency => 5.minutes, :url => { :action => "check_value" }, :with => "'id=' + encodeURIComponent(value)")
end
def test_observe_field_using_json_in_with_option
expected = %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Form.Element.Observer('glass', 300, function(element, value) {new Ajax.Request('http://www.example.com/check_value', {asynchronous:true, evalScripts:true, parameters:{'id':value}})})\n//]]>\n</script>)
assert_dom_equal expected, observe_field("glass", :frequency => 5.minutes, :url => { :action => "check_value" }, :with => "{'id':value}")
end
def test_observe_field_using_function_for_callback
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Form.Element.Observer('glass', 300, function(element, value) {alert('Element changed')})\n//]]>\n</script>),
observe_field("glass", :frequency => 5.minutes, :function => "alert('Element changed')")
end
def test_observe_form
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Form.Observer('cart', 2, function(element, value) {new Ajax.Request('http://www.example.com/cart_changed', {asynchronous:true, evalScripts:true, parameters:value})})\n//]]>\n</script>),
observe_form("cart", :frequency => 2, :url => { :action => "cart_changed" })
end
def test_observe_form_using_function_for_callback
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Form.Observer('cart', 2, function(element, value) {alert('Form changed')})\n//]]>\n</script>),
observe_form("cart", :frequency => 2, :function => "alert('Form changed')")
end
def test_observe_field_without_frequency
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Form.Element.EventObserver('glass', function(element, value) {new Ajax.Request('http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:value})})\n//]]>\n</script>),
observe_field("glass")
end
def test_update_page
old_output_buffer = output_buffer
block = Proc.new { |page| page.replace_html('foo', 'bar') }
assert_equal create_generator(&block).to_s, update_page(&block)
assert_equal old_output_buffer, output_buffer
end
def test_update_page_tag
block = Proc.new { |page| page.replace_html('foo', 'bar') }
assert_equal javascript_tag(create_generator(&block).to_s), update_page_tag(&block)
end
def test_update_page_tag_with_html_options
block = Proc.new { |page| page.replace_html('foo', 'bar') }
assert_equal javascript_tag(create_generator(&block).to_s, {:defer => 'true'}), update_page_tag({:defer => 'true'}, &block)
end
protected
def author_path(record)
"/authors/#{record.id}"
end
def authors_path
"/authors"
end
def author_articles_path(author)
"/authors/#{author.id}/articles"
end
def author_article_path(author, article)
"/authors/#{author.id}/articles/#{article.id}"
end
end
class JavaScriptGeneratorTest < PrototypeHelperBaseTest
def setup
super
@generator = create_generator
end
def test_insert_html_with_string
assert_equal 'Element.insert("element", { top: "\\u003Cp\\u003EThis is a test\\u003C/p\\u003E" });',
@generator.insert_html(:top, 'element', '<p>This is a test</p>')
assert_equal 'Element.insert("element", { bottom: "\\u003Cp\u003EThis is a test\\u003C/p\u003E" });',
@generator.insert_html(:bottom, 'element', '<p>This is a test</p>')
assert_equal 'Element.insert("element", { before: "\\u003Cp\u003EThis is a test\\u003C/p\u003E" });',
@generator.insert_html(:before, 'element', '<p>This is a test</p>')
assert_equal 'Element.insert("element", { after: "\\u003Cp\u003EThis is a test\\u003C/p\u003E" });',
@generator.insert_html(:after, 'element', '<p>This is a test</p>')
end
def test_replace_html_with_string
assert_equal 'Element.update("element", "\\u003Cp\\u003EThis is a test\\u003C/p\\u003E");',
@generator.replace_html('element', '<p>This is a test</p>')
end
def test_replace_element_with_string
assert_equal 'Element.replace("element", "\\u003Cdiv id=\"element\"\\u003E\\u003Cp\\u003EThis is a test\\u003C/p\\u003E\\u003C/div\\u003E");',
@generator.replace('element', '<div id="element"><p>This is a test</p></div>')
end
def test_remove
assert_equal 'Element.remove("foo");',
@generator.remove('foo')
assert_equal '["foo","bar","baz"].each(Element.remove);',
@generator.remove('foo', 'bar', 'baz')
end
def test_show
assert_equal 'Element.show("foo");',
@generator.show('foo')
assert_equal '["foo","bar","baz"].each(Element.show);',
@generator.show('foo', 'bar', 'baz')
end
def test_hide
assert_equal 'Element.hide("foo");',
@generator.hide('foo')
assert_equal '["foo","bar","baz"].each(Element.hide);',
@generator.hide('foo', 'bar', 'baz')
end
def test_toggle
assert_equal 'Element.toggle("foo");',
@generator.toggle('foo')
assert_equal '["foo","bar","baz"].each(Element.toggle);',
@generator.toggle('foo', 'bar', 'baz')
end
def test_alert
assert_equal 'alert("hello");', @generator.alert('hello')
end
def test_redirect_to
assert_equal 'window.location.href = "http://www.example.com/welcome";',
@generator.redirect_to(:action => 'welcome')
assert_equal 'window.location.href = "http://www.example.com/welcome?a=b&c=d";',
@generator.redirect_to("http://www.example.com/welcome?a=b&c=d")
end
def test_reload
assert_equal 'window.location.reload();',
@generator.reload
end
def test_delay
@generator.delay(20) do
@generator.hide('foo')
end
assert_equal "setTimeout(function() {\n;\nElement.hide(\"foo\");\n}, 20000);", @generator.to_s
end
def test_to_s
@generator.insert_html(:top, 'element', '<p>This is a test</p>')
@generator.insert_html(:bottom, 'element', '<p>This is a test</p>')
@generator.remove('foo', 'bar')
@generator.replace_html('baz', '<p>This is a test</p>')
assert_equal <<-EOS.chomp, @generator.to_s
Element.insert("element", { top: "\\u003Cp\\u003EThis is a test\\u003C/p\\u003E" });
Element.insert("element", { bottom: "\\u003Cp\\u003EThis is a test\\u003C/p\\u003E" });
["foo","bar"].each(Element.remove);
Element.update("baz", "\\u003Cp\\u003EThis is a test\\u003C/p\\u003E");
EOS
end
def test_element_access
assert_equal %($("hello");), @generator['hello']
end
def test_element_access_on_records
assert_equal %($("bunny_5");), @generator[Bunny.new(:id => 5)]
assert_equal %($("new_bunny");), @generator[Bunny.new]
end
def test_element_proxy_one_deep
@generator['hello'].hide
assert_equal %($("hello").hide();), @generator.to_s
end
def test_element_proxy_variable_access
@generator['hello']['style']
assert_equal %($("hello").style;), @generator.to_s
end
def test_element_proxy_variable_access_with_assignment
@generator['hello']['style']['color'] = 'red'
assert_equal %($("hello").style.color = "red";), @generator.to_s
end
def test_element_proxy_assignment
@generator['hello'].width = 400
assert_equal %($("hello").width = 400;), @generator.to_s
end
def test_element_proxy_two_deep
@generator['hello'].hide("first").clean_whitespace
assert_equal %($("hello").hide("first").cleanWhitespace();), @generator.to_s
end
def test_select_access
assert_equal %($$("div.hello");), @generator.select('div.hello')
end
def test_select_proxy_one_deep
@generator.select('p.welcome b').first.hide
assert_equal %($$("p.welcome b").first().hide();), @generator.to_s
end
def test_visual_effect
assert_equal %(new Effect.Puff("blah",{});),
@generator.visual_effect(:puff,'blah')
end
def test_visual_effect_toggle
assert_equal %(Effect.toggle("blah",'appear',{});),
@generator.visual_effect(:toggle_appear,'blah')
end
def test_sortable
assert_equal %(Sortable.create("blah", {onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize("blah")})}});),
@generator.sortable('blah', :url => { :action => "order" })
assert_equal %(Sortable.create("blah", {onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:false, evalScripts:true, parameters:Sortable.serialize("blah")})}});),
@generator.sortable('blah', :url => { :action => "order" }, :type => :synchronous)
end
def test_draggable
assert_equal %(new Draggable("blah", {});),
@generator.draggable('blah')
end
def test_drop_receiving
assert_equal %(Droppables.add("blah", {onDrop:function(element){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}});),
@generator.drop_receiving('blah', :url => { :action => "order" })
assert_equal %(Droppables.add("blah", {onDrop:function(element){new Ajax.Request('http://www.example.com/order', {asynchronous:false, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}});),
@generator.drop_receiving('blah', :url => { :action => "order" }, :type => :synchronous)
end
def test_collection_first_and_last
@generator.select('p.welcome b').first.hide()
@generator.select('p.welcome b').last.show()
assert_equal <<-EOS.strip, @generator.to_s
$$("p.welcome b").first().hide();
$$("p.welcome b").last().show();
EOS
end
def test_collection_proxy_with_each
@generator.select('p.welcome b').each do |value|
value.remove_class_name 'selected'
end
@generator.select('p.welcome b').each do |value, index|
@generator.visual_effect :highlight, value
end
assert_equal <<-EOS.strip, @generator.to_s
$$("p.welcome b").each(function(value, index) {
value.removeClassName("selected");
});
$$("p.welcome b").each(function(value, index) {
new Effect.Highlight(value,{});
});
EOS
end
def test_collection_proxy_on_collect
@generator.select('p').collect('a') { |para| para.show }
@generator.select('p').collect { |para| para.hide }
assert_equal <<-EOS.strip, @generator.to_s
var a = $$("p").collect(function(value, index) {
return value.show();
});
$$("p").collect(function(value, index) {
return value.hide();
});
EOS
@generator = create_generator
end
def test_collection_proxy_with_grep
@generator.select('p').grep 'a', /^a/ do |value|
@generator << '(value.className == "welcome")'
end
@generator.select('p').grep 'b', /b$/ do |value, index|
@generator.call 'alert', value
@generator << '(value.className == "welcome")'
end
assert_equal <<-EOS.strip, @generator.to_s
var a = $$("p").grep(/^a/, function(value, index) {
return (value.className == "welcome");
});
var b = $$("p").grep(/b$/, function(value, index) {
alert(value);
return (value.className == "welcome");
});
EOS
end
def test_collection_proxy_with_inject
@generator.select('p').inject 'a', [] do |memo, value|
@generator << '(value.className == "welcome")'
end
@generator.select('p').inject 'b', nil do |memo, value, index|
@generator.call 'alert', memo
@generator << '(value.className == "welcome")'
end
assert_equal <<-EOS.strip, @generator.to_s
var a = $$("p").inject([], function(memo, value, index) {
return (value.className == "welcome");
});
var b = $$("p").inject(null, function(memo, value, index) {
alert(memo);
return (value.className == "welcome");
});
EOS
end
def test_collection_proxy_with_pluck
@generator.select('p').pluck('a', 'className')
assert_equal %(var a = $$("p").pluck("className");), @generator.to_s
end
def test_collection_proxy_with_zip
ActionView::Helpers::JavaScriptCollectionProxy.new(@generator, '[1, 2, 3]').zip('a', [4, 5, 6], [7, 8, 9])
ActionView::Helpers::JavaScriptCollectionProxy.new(@generator, '[1, 2, 3]').zip('b', [4, 5, 6], [7, 8, 9]) do |array|
@generator.call 'array.reverse'
end
assert_equal <<-EOS.strip, @generator.to_s
var a = [1, 2, 3].zip([4,5,6], [7,8,9]);
var b = [1, 2, 3].zip([4,5,6], [7,8,9], function(array) {
return array.reverse();
});
EOS
end
def test_collection_proxy_with_find_all
@generator.select('p').find_all 'a' do |value, index|
@generator << '(value.className == "welcome")'
end
assert_equal <<-EOS.strip, @generator.to_s
var a = $$("p").findAll(function(value, index) {
return (value.className == "welcome");
});
EOS
end
def test_collection_proxy_with_in_groups_of
@generator.select('p').in_groups_of('a', 3)
@generator.select('p').in_groups_of('a', 3, 'x')
assert_equal <<-EOS.strip, @generator.to_s
var a = $$("p").inGroupsOf(3);
var a = $$("p").inGroupsOf(3, "x");
EOS
end
def test_collection_proxy_with_each_slice
@generator.select('p').each_slice('a', 3)
@generator.select('p').each_slice('a', 3) do |group, index|
group.reverse
end
assert_equal <<-EOS.strip, @generator.to_s
var a = $$("p").eachSlice(3);
var a = $$("p").eachSlice(3, function(value, index) {
return value.reverse();
});
EOS
end
def test_debug_rjs
ActionView::Base.debug_rjs = true
@generator['welcome'].replace_html 'Welcome'
assert_equal "try {\n$(\"welcome\").update(\"Welcome\");\n} catch (e) { alert('RJS error:\\n\\n' + e.toString()); alert('$(\\\"welcome\\\").update(\\\"Welcome\\\");'); throw e }", @generator.to_s
ensure
ActionView::Base.debug_rjs = false
end
def test_literal
literal = @generator.literal("function() {}")
assert_equal "function() {}", ActiveSupport::JSON.encode(literal)
assert_equal "", @generator.to_s
end
def test_class_proxy
@generator.form.focus('my_field')
assert_equal "Form.focus(\"my_field\");", @generator.to_s
end
def test_call_with_block
@generator.call(:before)
@generator.call(:my_method) do |p|
p[:one].show
p[:two].hide
end
@generator.call(:in_between)
@generator.call(:my_method_with_arguments, true, "hello") do |p|
p[:three].visual_effect(:highlight)
end
assert_equal "before();\nmy_method(function() { $(\"one\").show();\n$(\"two\").hide(); });\nin_between();\nmy_method_with_arguments(true, \"hello\", function() { $(\"three\").visualEffect(\"highlight\"); });", @generator.to_s
end
def test_class_proxy_call_with_block
@generator.my_object.my_method do |p|
p[:one].show
p[:two].hide
end
assert_equal "MyObject.myMethod(function() { $(\"one\").show();\n$(\"two\").hide(); });", @generator.to_s
end
end

View File

@@ -89,12 +89,6 @@ module RenderTestCases
assert_equal "test/template.erb", @view.render(:file => "test/template.erb")
end
def test_render_update
# TODO: You should not have to stub out template because template is self!
@view.instance_variable_set(:@template, @view)
assert_equal 'alert("Hello, World!");', @view.render(:update) { |page| page.alert('Hello, World!') }
end
def test_render_partial_from_default
assert_equal "only partial", @view.render("test/partial_only")
end

View File

@@ -1,90 +0,0 @@
require 'abstract_unit'
class ScriptaculousHelperTest < ActionView::TestCase
tests ActionView::Helpers::ScriptaculousHelper
def setup
@controller = Class.new do
def url_for(options)
url = "http://www.example.com/"
url << options[:action].to_s if options and options[:action]
url
end
end.new
end
def test_effect
assert_equal "new Effect.Highlight(\"posts\",{});", visual_effect(:highlight, "posts")
assert_equal "new Effect.Highlight(\"posts\",{});", visual_effect("highlight", :posts)
assert_equal "new Effect.Highlight(\"posts\",{});", visual_effect(:highlight, :posts)
assert_equal "new Effect.Fade(\"fademe\",{duration:4.0});", visual_effect(:fade, "fademe", :duration => 4.0)
assert_equal "new Effect.Shake(element,{});", visual_effect(:shake)
assert_equal "new Effect.DropOut(\"dropme\",{queue:'end'});", visual_effect(:drop_out, 'dropme', :queue => :end)
assert_equal "new Effect.Highlight(\"status\",{endcolor:'#EEEEEE'});", visual_effect(:highlight, 'status', :endcolor => '#EEEEEE')
assert_equal "new Effect.Highlight(\"status\",{restorecolor:'#500000', startcolor:'#FEFEFE'});", visual_effect(:highlight, 'status', :restorecolor => '#500000', :startcolor => '#FEFEFE')
# chop the queue params into a comma separated list
beginning, ending = 'new Effect.DropOut("dropme",{queue:{', '}});'
ve = [
visual_effect(:drop_out, 'dropme', :queue => {:position => "end", :scope => "test", :limit => 2}),
visual_effect(:drop_out, 'dropme', :queue => {:scope => :list, :limit => 2}),
visual_effect(:drop_out, 'dropme', :queue => {:position => :end, :scope => :test, :limit => 2})
].collect { |v| v[beginning.length..-ending.length-1].split(',') }
assert ve[0].include?("limit:2")
assert ve[0].include?("scope:'test'")
assert ve[0].include?("position:'end'")
assert ve[1].include?("limit:2")
assert ve[1].include?("scope:'list'")
assert ve[2].include?("limit:2")
assert ve[2].include?("scope:'test'")
assert ve[2].include?("position:'end'")
end
def test_toggle_effects
assert_equal "Effect.toggle(\"posts\",'appear',{});", visual_effect(:toggle_appear, "posts")
assert_equal "Effect.toggle(\"posts\",'slide',{});", visual_effect(:toggle_slide, "posts")
assert_equal "Effect.toggle(\"posts\",'blind',{});", visual_effect(:toggle_blind, "posts")
assert_equal "Effect.toggle(\"posts\",'appear',{});", visual_effect("toggle_appear", "posts")
assert_equal "Effect.toggle(\"posts\",'slide',{});", visual_effect("toggle_slide", "posts")
assert_equal "Effect.toggle(\"posts\",'blind',{});", visual_effect("toggle_blind", "posts")
end
def test_sortable_element
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nSortable.create(\"mylist\", {onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(\"mylist\")})}})\n//]]>\n</script>),
sortable_element("mylist", :url => { :action => "order" })
assert_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nSortable.create(\"mylist\", {constraint:'horizontal', onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(\"mylist\")})}, tag:'div'})\n//]]>\n</script>),
sortable_element("mylist", :tag => "div", :constraint => "horizontal", :url => { :action => "order" })
assert_dom_equal %|<script type=\"text/javascript\">\n//<![CDATA[\nSortable.create(\"mylist\", {constraint:'horizontal', containment:['list1','list2'], onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(\"mylist\")})}})\n//]]>\n</script>|,
sortable_element("mylist", :containment => ['list1','list2'], :constraint => "horizontal", :url => { :action => "order" })
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nSortable.create(\"mylist\", {constraint:'horizontal', containment:'list1', onUpdate:function(){new Ajax.Request('http://www.example.com/order', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize(\"mylist\")})}})\n//]]>\n</script>),
sortable_element("mylist", :containment => 'list1', :constraint => "horizontal", :url => { :action => "order" })
end
def test_draggable_element
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Draggable(\"product_13\", {})\n//]]>\n</script>),
draggable_element("product_13")
assert_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nnew Draggable(\"product_13\", {revert:true})\n//]]>\n</script>),
draggable_element("product_13", :revert => true)
end
def test_drop_receiving_element
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {onDrop:function(element){new Ajax.Request('http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
drop_receiving_element("droptarget1")
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {accept:'products', onDrop:function(element){new Ajax.Request('http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
drop_receiving_element("droptarget1", :accept => 'products')
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {accept:'products', onDrop:function(element){new Ajax.Updater('infobox', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
drop_receiving_element("droptarget1", :accept => 'products', :update => 'infobox')
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add(\"droptarget1\", {accept:['tshirts','mugs'], onDrop:function(element){new Ajax.Updater('infobox', 'http://www.example.com/', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)})}})\n//]]>\n</script>),
drop_receiving_element("droptarget1", :accept => ['tshirts','mugs'], :update => 'infobox')
assert_dom_equal %(<script type=\"text/javascript\">\n//<![CDATA[\nDroppables.add("droptarget1", {hoverclass:'dropready', onDrop:function(element){if (confirm('Are you sure?')) { new Ajax.Request('http://www.example.com/update_drop', {asynchronous:true, evalScripts:true, parameters:'id=' + encodeURIComponent(element.id)}); }}})\n//]]>\n</script>),
drop_receiving_element('droptarget1', :hoverclass=>'dropready', :url=>{:action=>'update_drop'}, :confirm => 'Are you sure?')
end
def protect_against_forgery?
false
end
end

View File

@@ -261,7 +261,7 @@ module ActiveRecord
key_records = key_records.inject({}) { |hsh, r| hsh.merge(r.id => r) }
end
calculated_data.inject(ActiveSupport::OrderedHash.new) do |all, row|
calculated_data.inject({}) do |all, row|
key = group_aliases.map{|group_alias| type_cast_calculated_value(row[group_alias], group_columns[group_alias])}
key = key.first if key.size == 1
key = key_records[key] if associated

View File

@@ -295,7 +295,7 @@ module ActiveRecord
# Removes all errors that have been added.
def clear
@errors = ActiveSupport::OrderedHash.new
@errors = {}
end
# Returns the total number of errors added. Two errors added to the same attribute will be counted as such.

View File

@@ -552,7 +552,7 @@ module NestedAttributesOnACollectionAssociationTests
end
def test_should_sort_the_hash_by_the_keys_before_building_new_associated_models
attributes = ActiveSupport::OrderedHash.new
attributes = {}
attributes['123726353'] = { :name => 'Grace OMalley' }
attributes['2'] = { :name => 'Privateers Greed' } # 2 is lower then 123726353
@pirate.send(association_setter, attributes)
@@ -562,7 +562,6 @@ module NestedAttributesOnACollectionAssociationTests
def test_should_raise_an_argument_error_if_something_else_than_a_hash_is_passed
assert_nothing_raised(ArgumentError) { @pirate.send(association_setter, {}) }
assert_nothing_raised(ArgumentError) { @pirate.send(association_setter, ActiveSupport::OrderedHash.new) }
assert_raise_with_message ArgumentError, 'Hash or Array expected, got String ("foo")' do
@pirate.send(association_setter, "foo")

View File

@@ -9,6 +9,4 @@ Gem::Specification.new do |s|
s.homepage = 'http://www.rubyonrails.org'
s.require_path = 'lib'
s.add_dependency "tzinfo", "0.3.37"
end

View File

@@ -1,40 +1,6 @@
require 'active_support/ordered_hash'
module Enumerable
# Ruby 1.8.7 introduces group_by, but the result isn't ordered. Override it.
remove_method(:group_by) if [].respond_to?(:group_by) && RUBY_VERSION < '1.9'
# Collect an enumerable into sets, grouped by the result of a block. Useful,
# for example, for grouping records by date.
#
# Example:
#
# latest_transcripts.group_by(&:day).each do |day, transcripts|
# p "#{day} -> #{transcripts.map(&:class).join(', ')}"
# end
# "2006-03-01 -> Transcript"
# "2006-02-28 -> Transcript"
# "2006-02-27 -> Transcript, Transcript"
# "2006-02-26 -> Transcript, Transcript"
# "2006-02-25 -> Transcript"
# "2006-02-24 -> Transcript, Transcript"
# "2006-02-23 -> Transcript"
def group_by
assoc = ActiveSupport::OrderedHash.new
each do |element|
key = yield(element)
if assoc.has_key?(key)
assoc[key] << element
else
assoc[key] = [element]
end
end
assoc
end unless [].respond_to?(:group_by)
# Calculates a sum from the elements. Examples:
#
# payments.sum { |p| p.price * p.tax_rate }
@@ -62,26 +28,6 @@ module Enumerable
end
end
# Iterates over a collection, passing the current element *and* the
# +memo+ to the block. Handy for building up hashes or
# reducing collections down to one object. Examples:
#
# %w(foo bar).each_with_object({}) { |str, hsh| hsh[str] = str.upcase } #=> {'foo' => 'FOO', 'bar' => 'BAR'}
#
# *Note* that you can't use immutable objects like numbers, true or false as
# the memo. You would think the following returns 120, but since the memo is
# never changed, it does not.
#
# (1..5).each_with_object(1) { |value, memo| memo *= value } # => 1
#
def each_with_object(memo, &block)
memo.tap do |m|
each do |element|
block.call(element, m)
end
end
end unless [].respond_to?(:each_with_object)
# Convert an enumerable to a hash. Examples:
#
# people.index_by(&:login)
@@ -103,15 +49,6 @@ module Enumerable
size > 1
end
# Returns true if none of the elements match the given block.
#
# success = responses.none? {|r| r.status / 100 == 5 }
#
# This is a builtin method in Ruby 1.8.7 and later.
def none?(&block)
!any?(&block)
end unless [].respond_to?(:none?)
# The negative of the Enumerable#include?. Returns true if the collection does not include the object.
def exclude?(object)

View File

@@ -1,168 +1 @@
require 'yaml'
YAML.add_builtin_type("omap") do |type, val|
ActiveSupport::OrderedHash[val.map(&:to_a).map(&:first)]
end
# OrderedHash is namespaced to prevent conflicts with other implementations
module ActiveSupport
class OrderedHash < ::Hash #:nodoc:
def to_yaml_type
"!tag:yaml.org,2002:omap"
end
def to_yaml(opts = {})
YAML.quick_emit(self, opts) do |out|
out.seq(taguri, to_yaml_style) do |seq|
each do |k, v|
seq.add(k => v)
end
end
end
end
# Hash is ordered in Ruby 1.9!
if RUBY_VERSION < '1.9'
def initialize(*args, &block)
super
@keys = []
end
def self.[](*args)
ordered_hash = new
if (args.length == 1 && args.first.is_a?(Array))
args.first.each do |key_value_pair|
next unless (key_value_pair.is_a?(Array))
ordered_hash[key_value_pair[0]] = key_value_pair[1]
end
return ordered_hash
end
unless (args.size % 2 == 0)
raise ArgumentError.new("odd number of arguments for Hash")
end
args.each_with_index do |val, ind|
next if (ind % 2 != 0)
ordered_hash[val] = args[ind + 1]
end
ordered_hash
end
def initialize_copy(other)
super
# make a deep copy of keys
@keys = other.keys
end
def []=(key, value)
@keys << key if !has_key?(key)
super
end
def delete(key)
if has_key? key
index = @keys.index(key)
@keys.delete_at index
end
super
end
def delete_if
super
sync_keys!
self
end
def reject!
super
sync_keys!
self
end
def reject(&block)
dup.reject!(&block)
end
def keys
@keys.dup
end
def values
@keys.collect { |key| self[key] }
end
def to_hash
self
end
def to_a
@keys.map { |key| [ key, self[key] ] }
end
def each_key
@keys.each { |key| yield key }
end
def each_value
@keys.each { |key| yield self[key]}
end
def each
@keys.each {|key| yield [key, self[key]]}
end
alias_method :each_pair, :each
def clear
super
@keys.clear
self
end
def shift
k = @keys.first
v = delete(k)
[k, v]
end
def merge!(other_hash)
if block_given?
other_hash.each { |k, v| self[k] = key?(k) ? yield(k, self[k], v) : v }
else
other_hash.each { |k, v| self[k] = v }
end
self
end
alias_method :update, :merge!
def merge(other_hash, &block)
dup.merge!(other_hash, &block)
end
# When replacing with another hash, the initial order of our keys must come from the other hash -ordered or not.
def replace(other)
super
@keys = other.keys
self
end
def invert
OrderedHash[self.to_a.map!{|key_value_pair| key_value_pair.reverse}]
end
def inspect
"#<OrderedHash #{super}>"
end
private
def sync_keys!
@keys.delete_if {|k| !has_key?(k)}
end
end
end
end
ActiveSupport::OrderedHash = Hash

View File

@@ -1,5 +1,5 @@
module ActiveSupport #:nodoc:
class OrderedOptions < OrderedHash #:nodoc:
class OrderedOptions < Hash #:nodoc:
def []=(key, value)
super(key.to_sym, value)
end

View File

@@ -14,6 +14,12 @@ rescue Gem::LoadError
$:.unshift "#{File.dirname(__FILE__)}/vendor/memcache-client-1.7.4"
end
begin
gem 'tzinfo', '~> 0.3.12'
rescue Gem::LoadError
$:.unshift "#{File.dirname(__FILE__)}/vendor/tzinfo-0.3.12"
end
begin
gem 'i18n', '>= 0.4.1'
rescue Gem::LoadError

View File

@@ -0,0 +1,33 @@
#--
# Copyright (c) 2005-2006 Philip Ross
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#++
# Add the directory containing this file to the start of the load path if it
# isn't there already.
$:.unshift(File.dirname(__FILE__)) unless
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
require 'tzinfo/timezone'
# require 'tzinfo/country'
# require 'tzinfo/tzdataparser'
# require 'tzinfo/timezone_proxy'
require 'tzinfo/data_timezone'
require 'tzinfo/linked_timezone'

View File

@@ -0,0 +1,47 @@
#--
# Copyright (c) 2006 Philip Ross
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#++
require 'tzinfo/info_timezone'
module TZInfo
# A Timezone based on a DataTimezoneInfo.
class DataTimezone < InfoTimezone #:nodoc:
# Returns the TimezonePeriod for the given UTC time. utc can either be
# a DateTime, Time or integer timestamp (Time.to_i). Any timezone
# information in utc is ignored (it is treated as a UTC time).
#
# If no TimezonePeriod could be found, PeriodNotFound is raised.
def period_for_utc(utc)
info.period_for_utc(utc)
end
# Returns the set of TimezonePeriod instances that are valid for the given
# local time as an array. If you just want a single period, use
# period_for_local instead and specify how abiguities should be resolved.
# Raises PeriodNotFound if no periods are found for the given time.
def periods_for_local(local)
info.periods_for_local(local)
end
end
end

View File

@@ -0,0 +1,228 @@
#--
# Copyright (c) 2006 Philip Ross
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#++
require 'tzinfo/time_or_datetime'
require 'tzinfo/timezone_info'
require 'tzinfo/timezone_offset_info'
require 'tzinfo/timezone_period'
require 'tzinfo/timezone_transition_info'
module TZInfo
# Thrown if no offsets have been defined when calling period_for_utc or
# periods_for_local. Indicates an error in the timezone data.
class NoOffsetsDefined < StandardError
end
# Represents a (non-linked) timezone defined in a data module.
class DataTimezoneInfo < TimezoneInfo #:nodoc:
# Constructs a new TimezoneInfo with its identifier.
def initialize(identifier)
super(identifier)
@offsets = {}
@transitions = []
@previous_offset = nil
@transitions_index = nil
end
# Defines a offset. The id uniquely identifies this offset within the
# timezone. utc_offset and std_offset define the offset in seconds of
# standard time from UTC and daylight savings from standard time
# respectively. abbreviation describes the timezone offset (e.g. GMT, BST,
# EST or EDT).
#
# The first offset to be defined is treated as the offset that applies
# until the first transition. This will usually be in Local Mean Time (LMT).
#
# ArgumentError will be raised if the id is already defined.
def offset(id, utc_offset, std_offset, abbreviation)
raise ArgumentError, 'Offset already defined' if @offsets.has_key?(id)
offset = TimezoneOffsetInfo.new(utc_offset, std_offset, abbreviation)
@offsets[id] = offset
@previous_offset = offset unless @previous_offset
end
# Defines a transition. Transitions must be defined in chronological order.
# ArgumentError will be raised if a transition is added out of order.
# offset_id refers to an id defined with offset. ArgumentError will be
# raised if the offset_id cannot be found. numerator_or_time and
# denomiator specify the time the transition occurs as. See
# TimezoneTransitionInfo for more detail about specifying times.
def transition(year, month, offset_id, numerator_or_time, denominator = nil)
offset = @offsets[offset_id]
raise ArgumentError, 'Offset not found' unless offset
if @transitions_index
if year < @last_year || (year == @last_year && month < @last_month)
raise ArgumentError, 'Transitions must be increasing date order'
end
# Record the position of the first transition with this index.
index = transition_index(year, month)
@transitions_index[index] ||= @transitions.length
# Fill in any gaps
(index - 1).downto(0) do |i|
break if @transitions_index[i]
@transitions_index[i] = @transitions.length
end
else
@transitions_index = [@transitions.length]
@start_year = year
@start_month = month
end
@transitions << TimezoneTransitionInfo.new(offset, @previous_offset,
numerator_or_time, denominator)
@last_year = year
@last_month = month
@previous_offset = offset
end
# Returns the TimezonePeriod for the given UTC time.
# Raises NoOffsetsDefined if no offsets have been defined.
def period_for_utc(utc)
unless @transitions.empty?
utc = TimeOrDateTime.wrap(utc)
index = transition_index(utc.year, utc.mon)
start_transition = nil
start = transition_before_end(index)
if start
start.downto(0) do |i|
if @transitions[i].at <= utc
start_transition = @transitions[i]
break
end
end
end
end_transition = nil
start = transition_after_start(index)
if start
start.upto(@transitions.length - 1) do |i|
if @transitions[i].at > utc
end_transition = @transitions[i]
break
end
end
end
if start_transition || end_transition
TimezonePeriod.new(start_transition, end_transition)
else
# Won't happen since there are transitions. Must always find one
# transition that is either >= or < the specified time.
raise 'No transitions found in search'
end
else
raise NoOffsetsDefined, 'No offsets have been defined' unless @previous_offset
TimezonePeriod.new(nil, nil, @previous_offset)
end
end
# Returns the set of TimezonePeriods for the given local time as an array.
# Results returned are ordered by increasing UTC start date.
# Returns an empty array if no periods are found for the given time.
# Raises NoOffsetsDefined if no offsets have been defined.
def periods_for_local(local)
unless @transitions.empty?
local = TimeOrDateTime.wrap(local)
index = transition_index(local.year, local.mon)
result = []
start_index = transition_after_start(index - 1)
if start_index && @transitions[start_index].local_end > local
if start_index > 0
if @transitions[start_index - 1].local_start <= local
result << TimezonePeriod.new(@transitions[start_index - 1], @transitions[start_index])
end
else
result << TimezonePeriod.new(nil, @transitions[start_index])
end
end
end_index = transition_before_end(index + 1)
if end_index
start_index = end_index unless start_index
start_index.upto(transition_before_end(index + 1)) do |i|
if @transitions[i].local_start <= local
if i + 1 < @transitions.length
if @transitions[i + 1].local_end > local
result << TimezonePeriod.new(@transitions[i], @transitions[i + 1])
end
else
result << TimezonePeriod.new(@transitions[i], nil)
end
end
end
end
result
else
raise NoOffsetsDefined, 'No offsets have been defined' unless @previous_offset
[TimezonePeriod.new(nil, nil, @previous_offset)]
end
end
private
# Returns the index into the @transitions_index array for a given year
# and month.
def transition_index(year, month)
index = (year - @start_year) * 2
index += 1 if month > 6
index -= 1 if @start_month > 6
index
end
# Returns the index into @transitions of the first transition that occurs
# on or after the start of the given index into @transitions_index.
# Returns nil if there are no such transitions.
def transition_after_start(index)
if index >= @transitions_index.length
nil
else
index = 0 if index < 0
@transitions_index[index]
end
end
# Returns the index into @transitions of the first transition that occurs
# before the end of the given index into @transitions_index.
# Returns nil if there are no such transitions.
def transition_before_end(index)
index = index + 1
if index <= 0
nil
elsif index >= @transitions_index.length
@transitions.length - 1
else
@transitions_index[index] - 1
end
end
end
end

View File

@@ -0,0 +1,55 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Africa
module Algiers
include TimezoneDefinition
timezone 'Africa/Algiers' do |tz|
tz.offset :o0, 732, 0, :LMT
tz.offset :o1, 561, 0, :PMT
tz.offset :o2, 0, 0, :WET
tz.offset :o3, 0, 3600, :WEST
tz.offset :o4, 3600, 0, :CET
tz.offset :o5, 3600, 3600, :CEST
tz.transition 1891, 3, :o1, 2170625843, 900
tz.transition 1911, 3, :o2, 69670267013, 28800
tz.transition 1916, 6, :o3, 58104707, 24
tz.transition 1916, 10, :o2, 58107323, 24
tz.transition 1917, 3, :o3, 58111499, 24
tz.transition 1917, 10, :o2, 58116227, 24
tz.transition 1918, 3, :o3, 58119899, 24
tz.transition 1918, 10, :o2, 58124963, 24
tz.transition 1919, 3, :o3, 58128467, 24
tz.transition 1919, 10, :o2, 58133699, 24
tz.transition 1920, 2, :o3, 58136867, 24
tz.transition 1920, 10, :o2, 58142915, 24
tz.transition 1921, 3, :o3, 58146323, 24
tz.transition 1921, 6, :o2, 58148699, 24
tz.transition 1939, 9, :o3, 58308443, 24
tz.transition 1939, 11, :o2, 4859173, 2
tz.transition 1940, 2, :o4, 29156215, 12
tz.transition 1944, 4, :o5, 58348405, 24
tz.transition 1944, 10, :o4, 4862743, 2
tz.transition 1945, 4, :o5, 58357141, 24
tz.transition 1945, 9, :o4, 58361147, 24
tz.transition 1946, 10, :o2, 58370411, 24
tz.transition 1956, 1, :o4, 4871003, 2
tz.transition 1963, 4, :o2, 58515203, 24
tz.transition 1971, 4, :o3, 41468400
tz.transition 1971, 9, :o2, 54774000
tz.transition 1977, 5, :o3, 231724800
tz.transition 1977, 10, :o4, 246236400
tz.transition 1978, 3, :o5, 259545600
tz.transition 1978, 9, :o4, 275274000
tz.transition 1979, 10, :o2, 309740400
tz.transition 1980, 4, :o3, 325468800
tz.transition 1980, 10, :o2, 341802000
tz.transition 1981, 5, :o4, 357523200
end
end
end
end
end

View File

@@ -0,0 +1,219 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Africa
module Cairo
include TimezoneDefinition
timezone 'Africa/Cairo' do |tz|
tz.offset :o0, 7500, 0, :LMT
tz.offset :o1, 7200, 0, :EET
tz.offset :o2, 7200, 3600, :EEST
tz.transition 1900, 9, :o1, 695604503, 288
tz.transition 1940, 7, :o2, 29157905, 12
tz.transition 1940, 9, :o1, 19439227, 8
tz.transition 1941, 4, :o2, 29161193, 12
tz.transition 1941, 9, :o1, 19442027, 8
tz.transition 1942, 3, :o2, 29165405, 12
tz.transition 1942, 10, :o1, 19445275, 8
tz.transition 1943, 3, :o2, 29169785, 12
tz.transition 1943, 10, :o1, 19448235, 8
tz.transition 1944, 3, :o2, 29174177, 12
tz.transition 1944, 10, :o1, 19451163, 8
tz.transition 1945, 4, :o2, 29178737, 12
tz.transition 1945, 10, :o1, 19454083, 8
tz.transition 1957, 5, :o2, 29231621, 12
tz.transition 1957, 9, :o1, 19488899, 8
tz.transition 1958, 4, :o2, 29235893, 12
tz.transition 1958, 9, :o1, 19491819, 8
tz.transition 1959, 4, :o2, 58480547, 24
tz.transition 1959, 9, :o1, 4873683, 2
tz.transition 1960, 4, :o2, 58489331, 24
tz.transition 1960, 9, :o1, 4874415, 2
tz.transition 1961, 4, :o2, 58498091, 24
tz.transition 1961, 9, :o1, 4875145, 2
tz.transition 1962, 4, :o2, 58506851, 24
tz.transition 1962, 9, :o1, 4875875, 2
tz.transition 1963, 4, :o2, 58515611, 24
tz.transition 1963, 9, :o1, 4876605, 2
tz.transition 1964, 4, :o2, 58524395, 24
tz.transition 1964, 9, :o1, 4877337, 2
tz.transition 1965, 4, :o2, 58533155, 24
tz.transition 1965, 9, :o1, 4878067, 2
tz.transition 1966, 4, :o2, 58541915, 24
tz.transition 1966, 10, :o1, 4878799, 2
tz.transition 1967, 4, :o2, 58550675, 24
tz.transition 1967, 10, :o1, 4879529, 2
tz.transition 1968, 4, :o2, 58559459, 24
tz.transition 1968, 10, :o1, 4880261, 2
tz.transition 1969, 4, :o2, 58568219, 24
tz.transition 1969, 10, :o1, 4880991, 2
tz.transition 1970, 4, :o2, 10364400
tz.transition 1970, 10, :o1, 23587200
tz.transition 1971, 4, :o2, 41900400
tz.transition 1971, 10, :o1, 55123200
tz.transition 1972, 4, :o2, 73522800
tz.transition 1972, 10, :o1, 86745600
tz.transition 1973, 4, :o2, 105058800
tz.transition 1973, 10, :o1, 118281600
tz.transition 1974, 4, :o2, 136594800
tz.transition 1974, 10, :o1, 149817600
tz.transition 1975, 4, :o2, 168130800
tz.transition 1975, 10, :o1, 181353600
tz.transition 1976, 4, :o2, 199753200
tz.transition 1976, 10, :o1, 212976000
tz.transition 1977, 4, :o2, 231289200
tz.transition 1977, 10, :o1, 244512000
tz.transition 1978, 4, :o2, 262825200
tz.transition 1978, 10, :o1, 276048000
tz.transition 1979, 4, :o2, 294361200
tz.transition 1979, 10, :o1, 307584000
tz.transition 1980, 4, :o2, 325983600
tz.transition 1980, 10, :o1, 339206400
tz.transition 1981, 4, :o2, 357519600
tz.transition 1981, 10, :o1, 370742400
tz.transition 1982, 7, :o2, 396399600
tz.transition 1982, 10, :o1, 402278400
tz.transition 1983, 7, :o2, 426812400
tz.transition 1983, 10, :o1, 433814400
tz.transition 1984, 4, :o2, 452214000
tz.transition 1984, 10, :o1, 465436800
tz.transition 1985, 4, :o2, 483750000
tz.transition 1985, 10, :o1, 496972800
tz.transition 1986, 4, :o2, 515286000
tz.transition 1986, 10, :o1, 528508800
tz.transition 1987, 4, :o2, 546822000
tz.transition 1987, 10, :o1, 560044800
tz.transition 1988, 4, :o2, 578444400
tz.transition 1988, 10, :o1, 591667200
tz.transition 1989, 5, :o2, 610412400
tz.transition 1989, 10, :o1, 623203200
tz.transition 1990, 4, :o2, 641516400
tz.transition 1990, 10, :o1, 654739200
tz.transition 1991, 4, :o2, 673052400
tz.transition 1991, 10, :o1, 686275200
tz.transition 1992, 4, :o2, 704674800
tz.transition 1992, 10, :o1, 717897600
tz.transition 1993, 4, :o2, 736210800
tz.transition 1993, 10, :o1, 749433600
tz.transition 1994, 4, :o2, 767746800
tz.transition 1994, 10, :o1, 780969600
tz.transition 1995, 4, :o2, 799020000
tz.transition 1995, 9, :o1, 812322000
tz.transition 1996, 4, :o2, 830469600
tz.transition 1996, 9, :o1, 843771600
tz.transition 1997, 4, :o2, 861919200
tz.transition 1997, 9, :o1, 875221200
tz.transition 1998, 4, :o2, 893368800
tz.transition 1998, 9, :o1, 906670800
tz.transition 1999, 4, :o2, 925423200
tz.transition 1999, 9, :o1, 938725200
tz.transition 2000, 4, :o2, 956872800
tz.transition 2000, 9, :o1, 970174800
tz.transition 2001, 4, :o2, 988322400
tz.transition 2001, 9, :o1, 1001624400
tz.transition 2002, 4, :o2, 1019772000
tz.transition 2002, 9, :o1, 1033074000
tz.transition 2003, 4, :o2, 1051221600
tz.transition 2003, 9, :o1, 1064523600
tz.transition 2004, 4, :o2, 1083276000
tz.transition 2004, 9, :o1, 1096578000
tz.transition 2005, 4, :o2, 1114725600
tz.transition 2005, 9, :o1, 1128027600
tz.transition 2006, 4, :o2, 1146175200
tz.transition 2006, 9, :o1, 1158872400
tz.transition 2007, 4, :o2, 1177624800
tz.transition 2007, 9, :o1, 1189112400
tz.transition 2008, 4, :o2, 1209074400
tz.transition 2008, 8, :o1, 1219957200
tz.transition 2009, 4, :o2, 1240524000
tz.transition 2009, 8, :o1, 1251406800
tz.transition 2010, 4, :o2, 1272578400
tz.transition 2010, 8, :o1, 1282856400
tz.transition 2011, 4, :o2, 1304028000
tz.transition 2011, 8, :o1, 1314306000
tz.transition 2012, 4, :o2, 1335477600
tz.transition 2012, 8, :o1, 1346360400
tz.transition 2013, 4, :o2, 1366927200
tz.transition 2013, 8, :o1, 1377810000
tz.transition 2014, 4, :o2, 1398376800
tz.transition 2014, 8, :o1, 1409259600
tz.transition 2015, 4, :o2, 1429826400
tz.transition 2015, 8, :o1, 1440709200
tz.transition 2016, 4, :o2, 1461880800
tz.transition 2016, 8, :o1, 1472158800
tz.transition 2017, 4, :o2, 1493330400
tz.transition 2017, 8, :o1, 1504213200
tz.transition 2018, 4, :o2, 1524780000
tz.transition 2018, 8, :o1, 1535662800
tz.transition 2019, 4, :o2, 1556229600
tz.transition 2019, 8, :o1, 1567112400
tz.transition 2020, 4, :o2, 1587679200
tz.transition 2020, 8, :o1, 1598562000
tz.transition 2021, 4, :o2, 1619733600
tz.transition 2021, 8, :o1, 1630011600
tz.transition 2022, 4, :o2, 1651183200
tz.transition 2022, 8, :o1, 1661461200
tz.transition 2023, 4, :o2, 1682632800
tz.transition 2023, 8, :o1, 1693515600
tz.transition 2024, 4, :o2, 1714082400
tz.transition 2024, 8, :o1, 1724965200
tz.transition 2025, 4, :o2, 1745532000
tz.transition 2025, 8, :o1, 1756414800
tz.transition 2026, 4, :o2, 1776981600
tz.transition 2026, 8, :o1, 1787864400
tz.transition 2027, 4, :o2, 1809036000
tz.transition 2027, 8, :o1, 1819314000
tz.transition 2028, 4, :o2, 1840485600
tz.transition 2028, 8, :o1, 1851368400
tz.transition 2029, 4, :o2, 1871935200
tz.transition 2029, 8, :o1, 1882818000
tz.transition 2030, 4, :o2, 1903384800
tz.transition 2030, 8, :o1, 1914267600
tz.transition 2031, 4, :o2, 1934834400
tz.transition 2031, 8, :o1, 1945717200
tz.transition 2032, 4, :o2, 1966888800
tz.transition 2032, 8, :o1, 1977166800
tz.transition 2033, 4, :o2, 1998338400
tz.transition 2033, 8, :o1, 2008616400
tz.transition 2034, 4, :o2, 2029788000
tz.transition 2034, 8, :o1, 2040670800
tz.transition 2035, 4, :o2, 2061237600
tz.transition 2035, 8, :o1, 2072120400
tz.transition 2036, 4, :o2, 2092687200
tz.transition 2036, 8, :o1, 2103570000
tz.transition 2037, 4, :o2, 2124136800
tz.transition 2037, 8, :o1, 2135019600
tz.transition 2038, 4, :o2, 29586521, 12
tz.transition 2038, 8, :o1, 19725299, 8
tz.transition 2039, 4, :o2, 29590889, 12
tz.transition 2039, 8, :o1, 19728211, 8
tz.transition 2040, 4, :o2, 29595257, 12
tz.transition 2040, 8, :o1, 19731179, 8
tz.transition 2041, 4, :o2, 29599625, 12
tz.transition 2041, 8, :o1, 19734091, 8
tz.transition 2042, 4, :o2, 29603993, 12
tz.transition 2042, 8, :o1, 19737003, 8
tz.transition 2043, 4, :o2, 29608361, 12
tz.transition 2043, 8, :o1, 19739915, 8
tz.transition 2044, 4, :o2, 29612813, 12
tz.transition 2044, 8, :o1, 19742827, 8
tz.transition 2045, 4, :o2, 29617181, 12
tz.transition 2045, 8, :o1, 19745795, 8
tz.transition 2046, 4, :o2, 29621549, 12
tz.transition 2046, 8, :o1, 19748707, 8
tz.transition 2047, 4, :o2, 29625917, 12
tz.transition 2047, 8, :o1, 19751619, 8
tz.transition 2048, 4, :o2, 29630285, 12
tz.transition 2048, 8, :o1, 19754531, 8
tz.transition 2049, 4, :o2, 29634737, 12
tz.transition 2049, 8, :o1, 19757443, 8
tz.transition 2050, 4, :o2, 29639105, 12
tz.transition 2050, 8, :o1, 19760355, 8
end
end
end
end
end

View File

@@ -0,0 +1,40 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Africa
module Casablanca
include TimezoneDefinition
timezone 'Africa/Casablanca' do |tz|
tz.offset :o0, -1820, 0, :LMT
tz.offset :o1, 0, 0, :WET
tz.offset :o2, 0, 3600, :WEST
tz.offset :o3, 3600, 0, :CET
tz.transition 1913, 10, :o1, 10454687371, 4320
tz.transition 1939, 9, :o2, 4859037, 2
tz.transition 1939, 11, :o1, 58310075, 24
tz.transition 1940, 2, :o2, 4859369, 2
tz.transition 1945, 11, :o1, 58362659, 24
tz.transition 1950, 6, :o2, 4866887, 2
tz.transition 1950, 10, :o1, 58406003, 24
tz.transition 1967, 6, :o2, 2439645, 1
tz.transition 1967, 9, :o1, 58554347, 24
tz.transition 1974, 6, :o2, 141264000
tz.transition 1974, 8, :o1, 147222000
tz.transition 1976, 5, :o2, 199756800
tz.transition 1976, 7, :o1, 207702000
tz.transition 1977, 5, :o2, 231292800
tz.transition 1977, 9, :o1, 244249200
tz.transition 1978, 6, :o2, 265507200
tz.transition 1978, 8, :o1, 271033200
tz.transition 1984, 3, :o3, 448243200
tz.transition 1985, 12, :o1, 504918000
tz.transition 2008, 6, :o2, 1212278400
tz.transition 2008, 8, :o1, 1220223600
end
end
end
end
end

View File

@@ -0,0 +1,18 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Africa
module Harare
include TimezoneDefinition
timezone 'Africa/Harare' do |tz|
tz.offset :o0, 7452, 0, :LMT
tz.offset :o1, 7200, 0, :CAT
tz.transition 1903, 2, :o1, 1932939531, 800
end
end
end
end
end

View File

@@ -0,0 +1,25 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Africa
module Johannesburg
include TimezoneDefinition
timezone 'Africa/Johannesburg' do |tz|
tz.offset :o0, 6720, 0, :LMT
tz.offset :o1, 5400, 0, :SAST
tz.offset :o2, 7200, 0, :SAST
tz.offset :o3, 7200, 3600, :SAST
tz.transition 1892, 2, :o1, 108546139, 45
tz.transition 1903, 2, :o2, 38658791, 16
tz.transition 1942, 9, :o3, 4861245, 2
tz.transition 1943, 3, :o2, 58339307, 24
tz.transition 1943, 9, :o3, 4861973, 2
tz.transition 1944, 3, :o2, 58348043, 24
end
end
end
end
end

View File

@@ -0,0 +1,22 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Africa
module Monrovia
include TimezoneDefinition
timezone 'Africa/Monrovia' do |tz|
tz.offset :o0, -2588, 0, :LMT
tz.offset :o1, -2588, 0, :MMT
tz.offset :o2, -2670, 0, :LRT
tz.offset :o3, 0, 0, :GMT
tz.transition 1882, 1, :o1, 52022445047, 21600
tz.transition 1919, 3, :o2, 52315600247, 21600
tz.transition 1972, 5, :o3, 73529070
end
end
end
end
end

View File

@@ -0,0 +1,23 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Africa
module Nairobi
include TimezoneDefinition
timezone 'Africa/Nairobi' do |tz|
tz.offset :o0, 8836, 0, :LMT
tz.offset :o1, 10800, 0, :EAT
tz.offset :o2, 9000, 0, :BEAT
tz.offset :o3, 9885, 0, :BEAUT
tz.transition 1928, 6, :o1, 52389253391, 21600
tz.transition 1929, 12, :o2, 19407819, 8
tz.transition 1939, 12, :o3, 116622211, 48
tz.transition 1959, 12, :o1, 14036742061, 5760
end
end
end
end
end

View File

@@ -0,0 +1,166 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Argentina
module Buenos_Aires
include TimezoneDefinition
timezone 'America/Argentina/Buenos_Aires' do |tz|
tz.offset :o0, -14028, 0, :LMT
tz.offset :o1, -15408, 0, :CMT
tz.offset :o2, -14400, 0, :ART
tz.offset :o3, -14400, 3600, :ARST
tz.offset :o4, -10800, 0, :ART
tz.offset :o5, -10800, 3600, :ARST
tz.transition 1894, 10, :o1, 17374555169, 7200
tz.transition 1920, 5, :o2, 1453467407, 600
tz.transition 1930, 12, :o3, 7278935, 3
tz.transition 1931, 4, :o2, 19411461, 8
tz.transition 1931, 10, :o3, 7279889, 3
tz.transition 1932, 3, :o2, 19414141, 8
tz.transition 1932, 11, :o3, 7281038, 3
tz.transition 1933, 3, :o2, 19417061, 8
tz.transition 1933, 11, :o3, 7282133, 3
tz.transition 1934, 3, :o2, 19419981, 8
tz.transition 1934, 11, :o3, 7283228, 3
tz.transition 1935, 3, :o2, 19422901, 8
tz.transition 1935, 11, :o3, 7284323, 3
tz.transition 1936, 3, :o2, 19425829, 8
tz.transition 1936, 11, :o3, 7285421, 3
tz.transition 1937, 3, :o2, 19428749, 8
tz.transition 1937, 11, :o3, 7286516, 3
tz.transition 1938, 3, :o2, 19431669, 8
tz.transition 1938, 11, :o3, 7287611, 3
tz.transition 1939, 3, :o2, 19434589, 8
tz.transition 1939, 11, :o3, 7288706, 3
tz.transition 1940, 3, :o2, 19437517, 8
tz.transition 1940, 7, :o3, 7289435, 3
tz.transition 1941, 6, :o2, 19441285, 8
tz.transition 1941, 10, :o3, 7290848, 3
tz.transition 1943, 8, :o2, 19447501, 8
tz.transition 1943, 10, :o3, 7293038, 3
tz.transition 1946, 3, :o2, 19455045, 8
tz.transition 1946, 10, :o3, 7296284, 3
tz.transition 1963, 10, :o2, 19506429, 8
tz.transition 1963, 12, :o3, 7315136, 3
tz.transition 1964, 3, :o2, 19507645, 8
tz.transition 1964, 10, :o3, 7316051, 3
tz.transition 1965, 3, :o2, 19510565, 8
tz.transition 1965, 10, :o3, 7317146, 3
tz.transition 1966, 3, :o2, 19513485, 8
tz.transition 1966, 10, :o3, 7318241, 3
tz.transition 1967, 4, :o2, 19516661, 8
tz.transition 1967, 10, :o3, 7319294, 3
tz.transition 1968, 4, :o2, 19519629, 8
tz.transition 1968, 10, :o3, 7320407, 3
tz.transition 1969, 4, :o2, 19522541, 8
tz.transition 1969, 10, :o4, 7321499, 3
tz.transition 1974, 1, :o5, 128142000
tz.transition 1974, 5, :o4, 136605600
tz.transition 1988, 12, :o5, 596948400
tz.transition 1989, 3, :o4, 605066400
tz.transition 1989, 10, :o5, 624423600
tz.transition 1990, 3, :o4, 636516000
tz.transition 1990, 10, :o5, 656478000
tz.transition 1991, 3, :o4, 667965600
tz.transition 1991, 10, :o5, 687927600
tz.transition 1992, 3, :o4, 699415200
tz.transition 1992, 10, :o5, 719377200
tz.transition 1993, 3, :o4, 731469600
tz.transition 1999, 10, :o3, 938919600
tz.transition 2000, 3, :o4, 952052400
tz.transition 2007, 12, :o5, 1198983600
tz.transition 2008, 3, :o4, 1205632800
tz.transition 2008, 10, :o5, 1224385200
tz.transition 2009, 3, :o4, 1237082400
tz.transition 2009, 10, :o5, 1255834800
tz.transition 2010, 3, :o4, 1269136800
tz.transition 2010, 10, :o5, 1287284400
tz.transition 2011, 3, :o4, 1300586400
tz.transition 2011, 10, :o5, 1318734000
tz.transition 2012, 3, :o4, 1332036000
tz.transition 2012, 10, :o5, 1350788400
tz.transition 2013, 3, :o4, 1363485600
tz.transition 2013, 10, :o5, 1382238000
tz.transition 2014, 3, :o4, 1394935200
tz.transition 2014, 10, :o5, 1413687600
tz.transition 2015, 3, :o4, 1426384800
tz.transition 2015, 10, :o5, 1445137200
tz.transition 2016, 3, :o4, 1458439200
tz.transition 2016, 10, :o5, 1476586800
tz.transition 2017, 3, :o4, 1489888800
tz.transition 2017, 10, :o5, 1508036400
tz.transition 2018, 3, :o4, 1521338400
tz.transition 2018, 10, :o5, 1540090800
tz.transition 2019, 3, :o4, 1552788000
tz.transition 2019, 10, :o5, 1571540400
tz.transition 2020, 3, :o4, 1584237600
tz.transition 2020, 10, :o5, 1602990000
tz.transition 2021, 3, :o4, 1616292000
tz.transition 2021, 10, :o5, 1634439600
tz.transition 2022, 3, :o4, 1647741600
tz.transition 2022, 10, :o5, 1665889200
tz.transition 2023, 3, :o4, 1679191200
tz.transition 2023, 10, :o5, 1697338800
tz.transition 2024, 3, :o4, 1710640800
tz.transition 2024, 10, :o5, 1729393200
tz.transition 2025, 3, :o4, 1742090400
tz.transition 2025, 10, :o5, 1760842800
tz.transition 2026, 3, :o4, 1773540000
tz.transition 2026, 10, :o5, 1792292400
tz.transition 2027, 3, :o4, 1805594400
tz.transition 2027, 10, :o5, 1823742000
tz.transition 2028, 3, :o4, 1837044000
tz.transition 2028, 10, :o5, 1855191600
tz.transition 2029, 3, :o4, 1868493600
tz.transition 2029, 10, :o5, 1887246000
tz.transition 2030, 3, :o4, 1899943200
tz.transition 2030, 10, :o5, 1918695600
tz.transition 2031, 3, :o4, 1931392800
tz.transition 2031, 10, :o5, 1950145200
tz.transition 2032, 3, :o4, 1963447200
tz.transition 2032, 10, :o5, 1981594800
tz.transition 2033, 3, :o4, 1994896800
tz.transition 2033, 10, :o5, 2013044400
tz.transition 2034, 3, :o4, 2026346400
tz.transition 2034, 10, :o5, 2044494000
tz.transition 2035, 3, :o4, 2057796000
tz.transition 2035, 10, :o5, 2076548400
tz.transition 2036, 3, :o4, 2089245600
tz.transition 2036, 10, :o5, 2107998000
tz.transition 2037, 3, :o4, 2120695200
tz.transition 2037, 10, :o5, 2139447600
tz.transition 2038, 3, :o4, 29586043, 12
tz.transition 2038, 10, :o5, 19725709, 8
tz.transition 2039, 3, :o4, 29590411, 12
tz.transition 2039, 10, :o5, 19728621, 8
tz.transition 2040, 3, :o4, 29594779, 12
tz.transition 2040, 10, :o5, 19731589, 8
tz.transition 2041, 3, :o4, 29599147, 12
tz.transition 2041, 10, :o5, 19734501, 8
tz.transition 2042, 3, :o4, 29603515, 12
tz.transition 2042, 10, :o5, 19737413, 8
tz.transition 2043, 3, :o4, 29607883, 12
tz.transition 2043, 10, :o5, 19740325, 8
tz.transition 2044, 3, :o4, 29612335, 12
tz.transition 2044, 10, :o5, 19743237, 8
tz.transition 2045, 3, :o4, 29616703, 12
tz.transition 2045, 10, :o5, 19746149, 8
tz.transition 2046, 3, :o4, 29621071, 12
tz.transition 2046, 10, :o5, 19749117, 8
tz.transition 2047, 3, :o4, 29625439, 12
tz.transition 2047, 10, :o5, 19752029, 8
tz.transition 2048, 3, :o4, 29629807, 12
tz.transition 2048, 10, :o5, 19754941, 8
tz.transition 2049, 3, :o4, 29634259, 12
tz.transition 2049, 10, :o5, 19757853, 8
tz.transition 2050, 3, :o4, 29638627, 12
end
end
end
end
end
end

View File

@@ -0,0 +1,86 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Argentina
module San_Juan
include TimezoneDefinition
timezone 'America/Argentina/San_Juan' do |tz|
tz.offset :o0, -16444, 0, :LMT
tz.offset :o1, -15408, 0, :CMT
tz.offset :o2, -14400, 0, :ART
tz.offset :o3, -14400, 3600, :ARST
tz.offset :o4, -10800, 0, :ART
tz.offset :o5, -10800, 3600, :ARST
tz.offset :o6, -14400, 0, :WART
tz.transition 1894, 10, :o1, 52123666111, 21600
tz.transition 1920, 5, :o2, 1453467407, 600
tz.transition 1930, 12, :o3, 7278935, 3
tz.transition 1931, 4, :o2, 19411461, 8
tz.transition 1931, 10, :o3, 7279889, 3
tz.transition 1932, 3, :o2, 19414141, 8
tz.transition 1932, 11, :o3, 7281038, 3
tz.transition 1933, 3, :o2, 19417061, 8
tz.transition 1933, 11, :o3, 7282133, 3
tz.transition 1934, 3, :o2, 19419981, 8
tz.transition 1934, 11, :o3, 7283228, 3
tz.transition 1935, 3, :o2, 19422901, 8
tz.transition 1935, 11, :o3, 7284323, 3
tz.transition 1936, 3, :o2, 19425829, 8
tz.transition 1936, 11, :o3, 7285421, 3
tz.transition 1937, 3, :o2, 19428749, 8
tz.transition 1937, 11, :o3, 7286516, 3
tz.transition 1938, 3, :o2, 19431669, 8
tz.transition 1938, 11, :o3, 7287611, 3
tz.transition 1939, 3, :o2, 19434589, 8
tz.transition 1939, 11, :o3, 7288706, 3
tz.transition 1940, 3, :o2, 19437517, 8
tz.transition 1940, 7, :o3, 7289435, 3
tz.transition 1941, 6, :o2, 19441285, 8
tz.transition 1941, 10, :o3, 7290848, 3
tz.transition 1943, 8, :o2, 19447501, 8
tz.transition 1943, 10, :o3, 7293038, 3
tz.transition 1946, 3, :o2, 19455045, 8
tz.transition 1946, 10, :o3, 7296284, 3
tz.transition 1963, 10, :o2, 19506429, 8
tz.transition 1963, 12, :o3, 7315136, 3
tz.transition 1964, 3, :o2, 19507645, 8
tz.transition 1964, 10, :o3, 7316051, 3
tz.transition 1965, 3, :o2, 19510565, 8
tz.transition 1965, 10, :o3, 7317146, 3
tz.transition 1966, 3, :o2, 19513485, 8
tz.transition 1966, 10, :o3, 7318241, 3
tz.transition 1967, 4, :o2, 19516661, 8
tz.transition 1967, 10, :o3, 7319294, 3
tz.transition 1968, 4, :o2, 19519629, 8
tz.transition 1968, 10, :o3, 7320407, 3
tz.transition 1969, 4, :o2, 19522541, 8
tz.transition 1969, 10, :o4, 7321499, 3
tz.transition 1974, 1, :o5, 128142000
tz.transition 1974, 5, :o4, 136605600
tz.transition 1988, 12, :o5, 596948400
tz.transition 1989, 3, :o4, 605066400
tz.transition 1989, 10, :o5, 624423600
tz.transition 1990, 3, :o4, 636516000
tz.transition 1990, 10, :o5, 656478000
tz.transition 1991, 3, :o6, 667792800
tz.transition 1991, 5, :o4, 673588800
tz.transition 1991, 10, :o5, 687927600
tz.transition 1992, 3, :o4, 699415200
tz.transition 1992, 10, :o5, 719377200
tz.transition 1993, 3, :o4, 731469600
tz.transition 1999, 10, :o3, 938919600
tz.transition 2000, 3, :o4, 952052400
tz.transition 2004, 5, :o6, 1085972400
tz.transition 2004, 7, :o4, 1090728000
tz.transition 2007, 12, :o5, 1198983600
tz.transition 2008, 3, :o4, 1205632800
end
end
end
end
end
end

View File

@@ -0,0 +1,23 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Bogota
include TimezoneDefinition
timezone 'America/Bogota' do |tz|
tz.offset :o0, -17780, 0, :LMT
tz.offset :o1, -17780, 0, :BMT
tz.offset :o2, -18000, 0, :COT
tz.offset :o3, -18000, 3600, :COST
tz.transition 1884, 3, :o1, 10407954409, 4320
tz.transition 1914, 11, :o2, 10456385929, 4320
tz.transition 1992, 5, :o3, 704869200
tz.transition 1993, 4, :o2, 733896000
end
end
end
end
end

View File

@@ -0,0 +1,23 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Caracas
include TimezoneDefinition
timezone 'America/Caracas' do |tz|
tz.offset :o0, -16064, 0, :LMT
tz.offset :o1, -16060, 0, :CMT
tz.offset :o2, -16200, 0, :VET
tz.offset :o3, -14400, 0, :VET
tz.transition 1890, 1, :o1, 1627673863, 675
tz.transition 1912, 2, :o2, 10452001043, 4320
tz.transition 1965, 1, :o3, 39020187, 16
tz.transition 2007, 12, :o2, 1197183600
end
end
end
end
end

View File

@@ -0,0 +1,283 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Chicago
include TimezoneDefinition
timezone 'America/Chicago' do |tz|
tz.offset :o0, -21036, 0, :LMT
tz.offset :o1, -21600, 0, :CST
tz.offset :o2, -21600, 3600, :CDT
tz.offset :o3, -18000, 0, :EST
tz.offset :o4, -21600, 3600, :CWT
tz.offset :o5, -21600, 3600, :CPT
tz.transition 1883, 11, :o1, 9636533, 4
tz.transition 1918, 3, :o2, 14530103, 6
tz.transition 1918, 10, :o1, 58125451, 24
tz.transition 1919, 3, :o2, 14532287, 6
tz.transition 1919, 10, :o1, 58134187, 24
tz.transition 1920, 6, :o2, 14534933, 6
tz.transition 1920, 10, :o1, 58143091, 24
tz.transition 1921, 3, :o2, 14536655, 6
tz.transition 1921, 10, :o1, 58151827, 24
tz.transition 1922, 4, :o2, 14539049, 6
tz.transition 1922, 9, :o1, 58159723, 24
tz.transition 1923, 4, :o2, 14541233, 6
tz.transition 1923, 9, :o1, 58168627, 24
tz.transition 1924, 4, :o2, 14543417, 6
tz.transition 1924, 9, :o1, 58177363, 24
tz.transition 1925, 4, :o2, 14545601, 6
tz.transition 1925, 9, :o1, 58186099, 24
tz.transition 1926, 4, :o2, 14547785, 6
tz.transition 1926, 9, :o1, 58194835, 24
tz.transition 1927, 4, :o2, 14549969, 6
tz.transition 1927, 9, :o1, 58203571, 24
tz.transition 1928, 4, :o2, 14552195, 6
tz.transition 1928, 9, :o1, 58212475, 24
tz.transition 1929, 4, :o2, 14554379, 6
tz.transition 1929, 9, :o1, 58221211, 24
tz.transition 1930, 4, :o2, 14556563, 6
tz.transition 1930, 9, :o1, 58229947, 24
tz.transition 1931, 4, :o2, 14558747, 6
tz.transition 1931, 9, :o1, 58238683, 24
tz.transition 1932, 4, :o2, 14560931, 6
tz.transition 1932, 9, :o1, 58247419, 24
tz.transition 1933, 4, :o2, 14563157, 6
tz.transition 1933, 9, :o1, 58256155, 24
tz.transition 1934, 4, :o2, 14565341, 6
tz.transition 1934, 9, :o1, 58265059, 24
tz.transition 1935, 4, :o2, 14567525, 6
tz.transition 1935, 9, :o1, 58273795, 24
tz.transition 1936, 3, :o3, 14569373, 6
tz.transition 1936, 11, :o1, 58283707, 24
tz.transition 1937, 4, :o2, 14571893, 6
tz.transition 1937, 9, :o1, 58291267, 24
tz.transition 1938, 4, :o2, 14574077, 6
tz.transition 1938, 9, :o1, 58300003, 24
tz.transition 1939, 4, :o2, 14576303, 6
tz.transition 1939, 9, :o1, 58308739, 24
tz.transition 1940, 4, :o2, 14578487, 6
tz.transition 1940, 9, :o1, 58317643, 24
tz.transition 1941, 4, :o2, 14580671, 6
tz.transition 1941, 9, :o1, 58326379, 24
tz.transition 1942, 2, :o4, 14582399, 6
tz.transition 1945, 8, :o5, 58360379, 24
tz.transition 1945, 9, :o1, 58361491, 24
tz.transition 1946, 4, :o2, 14591633, 6
tz.transition 1946, 9, :o1, 58370227, 24
tz.transition 1947, 4, :o2, 14593817, 6
tz.transition 1947, 9, :o1, 58378963, 24
tz.transition 1948, 4, :o2, 14596001, 6
tz.transition 1948, 9, :o1, 58387699, 24
tz.transition 1949, 4, :o2, 14598185, 6
tz.transition 1949, 9, :o1, 58396435, 24
tz.transition 1950, 4, :o2, 14600411, 6
tz.transition 1950, 9, :o1, 58405171, 24
tz.transition 1951, 4, :o2, 14602595, 6
tz.transition 1951, 9, :o1, 58414075, 24
tz.transition 1952, 4, :o2, 14604779, 6
tz.transition 1952, 9, :o1, 58422811, 24
tz.transition 1953, 4, :o2, 14606963, 6
tz.transition 1953, 9, :o1, 58431547, 24
tz.transition 1954, 4, :o2, 14609147, 6
tz.transition 1954, 9, :o1, 58440283, 24
tz.transition 1955, 4, :o2, 14611331, 6
tz.transition 1955, 10, :o1, 58449859, 24
tz.transition 1956, 4, :o2, 14613557, 6
tz.transition 1956, 10, :o1, 58458595, 24
tz.transition 1957, 4, :o2, 14615741, 6
tz.transition 1957, 10, :o1, 58467331, 24
tz.transition 1958, 4, :o2, 14617925, 6
tz.transition 1958, 10, :o1, 58476067, 24
tz.transition 1959, 4, :o2, 14620109, 6
tz.transition 1959, 10, :o1, 58484803, 24
tz.transition 1960, 4, :o2, 14622293, 6
tz.transition 1960, 10, :o1, 58493707, 24
tz.transition 1961, 4, :o2, 14624519, 6
tz.transition 1961, 10, :o1, 58502443, 24
tz.transition 1962, 4, :o2, 14626703, 6
tz.transition 1962, 10, :o1, 58511179, 24
tz.transition 1963, 4, :o2, 14628887, 6
tz.transition 1963, 10, :o1, 58519915, 24
tz.transition 1964, 4, :o2, 14631071, 6
tz.transition 1964, 10, :o1, 58528651, 24
tz.transition 1965, 4, :o2, 14633255, 6
tz.transition 1965, 10, :o1, 58537555, 24
tz.transition 1966, 4, :o2, 14635439, 6
tz.transition 1966, 10, :o1, 58546291, 24
tz.transition 1967, 4, :o2, 14637665, 6
tz.transition 1967, 10, :o1, 58555027, 24
tz.transition 1968, 4, :o2, 14639849, 6
tz.transition 1968, 10, :o1, 58563763, 24
tz.transition 1969, 4, :o2, 14642033, 6
tz.transition 1969, 10, :o1, 58572499, 24
tz.transition 1970, 4, :o2, 9964800
tz.transition 1970, 10, :o1, 25686000
tz.transition 1971, 4, :o2, 41414400
tz.transition 1971, 10, :o1, 57740400
tz.transition 1972, 4, :o2, 73468800
tz.transition 1972, 10, :o1, 89190000
tz.transition 1973, 4, :o2, 104918400
tz.transition 1973, 10, :o1, 120639600
tz.transition 1974, 1, :o2, 126691200
tz.transition 1974, 10, :o1, 152089200
tz.transition 1975, 2, :o2, 162374400
tz.transition 1975, 10, :o1, 183538800
tz.transition 1976, 4, :o2, 199267200
tz.transition 1976, 10, :o1, 215593200
tz.transition 1977, 4, :o2, 230716800
tz.transition 1977, 10, :o1, 247042800
tz.transition 1978, 4, :o2, 262771200
tz.transition 1978, 10, :o1, 278492400
tz.transition 1979, 4, :o2, 294220800
tz.transition 1979, 10, :o1, 309942000
tz.transition 1980, 4, :o2, 325670400
tz.transition 1980, 10, :o1, 341391600
tz.transition 1981, 4, :o2, 357120000
tz.transition 1981, 10, :o1, 372841200
tz.transition 1982, 4, :o2, 388569600
tz.transition 1982, 10, :o1, 404895600
tz.transition 1983, 4, :o2, 420019200
tz.transition 1983, 10, :o1, 436345200
tz.transition 1984, 4, :o2, 452073600
tz.transition 1984, 10, :o1, 467794800
tz.transition 1985, 4, :o2, 483523200
tz.transition 1985, 10, :o1, 499244400
tz.transition 1986, 4, :o2, 514972800
tz.transition 1986, 10, :o1, 530694000
tz.transition 1987, 4, :o2, 544608000
tz.transition 1987, 10, :o1, 562143600
tz.transition 1988, 4, :o2, 576057600
tz.transition 1988, 10, :o1, 594198000
tz.transition 1989, 4, :o2, 607507200
tz.transition 1989, 10, :o1, 625647600
tz.transition 1990, 4, :o2, 638956800
tz.transition 1990, 10, :o1, 657097200
tz.transition 1991, 4, :o2, 671011200
tz.transition 1991, 10, :o1, 688546800
tz.transition 1992, 4, :o2, 702460800
tz.transition 1992, 10, :o1, 719996400
tz.transition 1993, 4, :o2, 733910400
tz.transition 1993, 10, :o1, 752050800
tz.transition 1994, 4, :o2, 765360000
tz.transition 1994, 10, :o1, 783500400
tz.transition 1995, 4, :o2, 796809600
tz.transition 1995, 10, :o1, 814950000
tz.transition 1996, 4, :o2, 828864000
tz.transition 1996, 10, :o1, 846399600
tz.transition 1997, 4, :o2, 860313600
tz.transition 1997, 10, :o1, 877849200
tz.transition 1998, 4, :o2, 891763200
tz.transition 1998, 10, :o1, 909298800
tz.transition 1999, 4, :o2, 923212800
tz.transition 1999, 10, :o1, 941353200
tz.transition 2000, 4, :o2, 954662400
tz.transition 2000, 10, :o1, 972802800
tz.transition 2001, 4, :o2, 986112000
tz.transition 2001, 10, :o1, 1004252400
tz.transition 2002, 4, :o2, 1018166400
tz.transition 2002, 10, :o1, 1035702000
tz.transition 2003, 4, :o2, 1049616000
tz.transition 2003, 10, :o1, 1067151600
tz.transition 2004, 4, :o2, 1081065600
tz.transition 2004, 10, :o1, 1099206000
tz.transition 2005, 4, :o2, 1112515200
tz.transition 2005, 10, :o1, 1130655600
tz.transition 2006, 4, :o2, 1143964800
tz.transition 2006, 10, :o1, 1162105200
tz.transition 2007, 3, :o2, 1173600000
tz.transition 2007, 11, :o1, 1194159600
tz.transition 2008, 3, :o2, 1205049600
tz.transition 2008, 11, :o1, 1225609200
tz.transition 2009, 3, :o2, 1236499200
tz.transition 2009, 11, :o1, 1257058800
tz.transition 2010, 3, :o2, 1268553600
tz.transition 2010, 11, :o1, 1289113200
tz.transition 2011, 3, :o2, 1300003200
tz.transition 2011, 11, :o1, 1320562800
tz.transition 2012, 3, :o2, 1331452800
tz.transition 2012, 11, :o1, 1352012400
tz.transition 2013, 3, :o2, 1362902400
tz.transition 2013, 11, :o1, 1383462000
tz.transition 2014, 3, :o2, 1394352000
tz.transition 2014, 11, :o1, 1414911600
tz.transition 2015, 3, :o2, 1425801600
tz.transition 2015, 11, :o1, 1446361200
tz.transition 2016, 3, :o2, 1457856000
tz.transition 2016, 11, :o1, 1478415600
tz.transition 2017, 3, :o2, 1489305600
tz.transition 2017, 11, :o1, 1509865200
tz.transition 2018, 3, :o2, 1520755200
tz.transition 2018, 11, :o1, 1541314800
tz.transition 2019, 3, :o2, 1552204800
tz.transition 2019, 11, :o1, 1572764400
tz.transition 2020, 3, :o2, 1583654400
tz.transition 2020, 11, :o1, 1604214000
tz.transition 2021, 3, :o2, 1615708800
tz.transition 2021, 11, :o1, 1636268400
tz.transition 2022, 3, :o2, 1647158400
tz.transition 2022, 11, :o1, 1667718000
tz.transition 2023, 3, :o2, 1678608000
tz.transition 2023, 11, :o1, 1699167600
tz.transition 2024, 3, :o2, 1710057600
tz.transition 2024, 11, :o1, 1730617200
tz.transition 2025, 3, :o2, 1741507200
tz.transition 2025, 11, :o1, 1762066800
tz.transition 2026, 3, :o2, 1772956800
tz.transition 2026, 11, :o1, 1793516400
tz.transition 2027, 3, :o2, 1805011200
tz.transition 2027, 11, :o1, 1825570800
tz.transition 2028, 3, :o2, 1836460800
tz.transition 2028, 11, :o1, 1857020400
tz.transition 2029, 3, :o2, 1867910400
tz.transition 2029, 11, :o1, 1888470000
tz.transition 2030, 3, :o2, 1899360000
tz.transition 2030, 11, :o1, 1919919600
tz.transition 2031, 3, :o2, 1930809600
tz.transition 2031, 11, :o1, 1951369200
tz.transition 2032, 3, :o2, 1962864000
tz.transition 2032, 11, :o1, 1983423600
tz.transition 2033, 3, :o2, 1994313600
tz.transition 2033, 11, :o1, 2014873200
tz.transition 2034, 3, :o2, 2025763200
tz.transition 2034, 11, :o1, 2046322800
tz.transition 2035, 3, :o2, 2057212800
tz.transition 2035, 11, :o1, 2077772400
tz.transition 2036, 3, :o2, 2088662400
tz.transition 2036, 11, :o1, 2109222000
tz.transition 2037, 3, :o2, 2120112000
tz.transition 2037, 11, :o1, 2140671600
tz.transition 2038, 3, :o2, 14792981, 6
tz.transition 2038, 11, :o1, 59177635, 24
tz.transition 2039, 3, :o2, 14795165, 6
tz.transition 2039, 11, :o1, 59186371, 24
tz.transition 2040, 3, :o2, 14797349, 6
tz.transition 2040, 11, :o1, 59195107, 24
tz.transition 2041, 3, :o2, 14799533, 6
tz.transition 2041, 11, :o1, 59203843, 24
tz.transition 2042, 3, :o2, 14801717, 6
tz.transition 2042, 11, :o1, 59212579, 24
tz.transition 2043, 3, :o2, 14803901, 6
tz.transition 2043, 11, :o1, 59221315, 24
tz.transition 2044, 3, :o2, 14806127, 6
tz.transition 2044, 11, :o1, 59230219, 24
tz.transition 2045, 3, :o2, 14808311, 6
tz.transition 2045, 11, :o1, 59238955, 24
tz.transition 2046, 3, :o2, 14810495, 6
tz.transition 2046, 11, :o1, 59247691, 24
tz.transition 2047, 3, :o2, 14812679, 6
tz.transition 2047, 11, :o1, 59256427, 24
tz.transition 2048, 3, :o2, 14814863, 6
tz.transition 2048, 11, :o1, 59265163, 24
tz.transition 2049, 3, :o2, 14817089, 6
tz.transition 2049, 11, :o1, 59274067, 24
tz.transition 2050, 3, :o2, 14819273, 6
tz.transition 2050, 11, :o1, 59282803, 24
end
end
end
end
end

View File

@@ -0,0 +1,136 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Chihuahua
include TimezoneDefinition
timezone 'America/Chihuahua' do |tz|
tz.offset :o0, -25460, 0, :LMT
tz.offset :o1, -25200, 0, :MST
tz.offset :o2, -21600, 0, :CST
tz.offset :o3, -21600, 3600, :CDT
tz.offset :o4, -25200, 3600, :MDT
tz.transition 1922, 1, :o1, 58153339, 24
tz.transition 1927, 6, :o2, 9700171, 4
tz.transition 1930, 11, :o1, 9705183, 4
tz.transition 1931, 5, :o2, 9705855, 4
tz.transition 1931, 10, :o1, 9706463, 4
tz.transition 1932, 4, :o2, 58243171, 24
tz.transition 1996, 4, :o3, 828864000
tz.transition 1996, 10, :o2, 846399600
tz.transition 1997, 4, :o3, 860313600
tz.transition 1997, 10, :o2, 877849200
tz.transition 1998, 4, :o4, 891766800
tz.transition 1998, 10, :o1, 909302400
tz.transition 1999, 4, :o4, 923216400
tz.transition 1999, 10, :o1, 941356800
tz.transition 2000, 4, :o4, 954666000
tz.transition 2000, 10, :o1, 972806400
tz.transition 2001, 5, :o4, 989139600
tz.transition 2001, 9, :o1, 1001836800
tz.transition 2002, 4, :o4, 1018170000
tz.transition 2002, 10, :o1, 1035705600
tz.transition 2003, 4, :o4, 1049619600
tz.transition 2003, 10, :o1, 1067155200
tz.transition 2004, 4, :o4, 1081069200
tz.transition 2004, 10, :o1, 1099209600
tz.transition 2005, 4, :o4, 1112518800
tz.transition 2005, 10, :o1, 1130659200
tz.transition 2006, 4, :o4, 1143968400
tz.transition 2006, 10, :o1, 1162108800
tz.transition 2007, 4, :o4, 1175418000
tz.transition 2007, 10, :o1, 1193558400
tz.transition 2008, 4, :o4, 1207472400
tz.transition 2008, 10, :o1, 1225008000
tz.transition 2009, 4, :o4, 1238922000
tz.transition 2009, 10, :o1, 1256457600
tz.transition 2010, 4, :o4, 1270371600
tz.transition 2010, 10, :o1, 1288512000
tz.transition 2011, 4, :o4, 1301821200
tz.transition 2011, 10, :o1, 1319961600
tz.transition 2012, 4, :o4, 1333270800
tz.transition 2012, 10, :o1, 1351411200
tz.transition 2013, 4, :o4, 1365325200
tz.transition 2013, 10, :o1, 1382860800
tz.transition 2014, 4, :o4, 1396774800
tz.transition 2014, 10, :o1, 1414310400
tz.transition 2015, 4, :o4, 1428224400
tz.transition 2015, 10, :o1, 1445760000
tz.transition 2016, 4, :o4, 1459674000
tz.transition 2016, 10, :o1, 1477814400
tz.transition 2017, 4, :o4, 1491123600
tz.transition 2017, 10, :o1, 1509264000
tz.transition 2018, 4, :o4, 1522573200
tz.transition 2018, 10, :o1, 1540713600
tz.transition 2019, 4, :o4, 1554627600
tz.transition 2019, 10, :o1, 1572163200
tz.transition 2020, 4, :o4, 1586077200
tz.transition 2020, 10, :o1, 1603612800
tz.transition 2021, 4, :o4, 1617526800
tz.transition 2021, 10, :o1, 1635667200
tz.transition 2022, 4, :o4, 1648976400
tz.transition 2022, 10, :o1, 1667116800
tz.transition 2023, 4, :o4, 1680426000
tz.transition 2023, 10, :o1, 1698566400
tz.transition 2024, 4, :o4, 1712480400
tz.transition 2024, 10, :o1, 1730016000
tz.transition 2025, 4, :o4, 1743930000
tz.transition 2025, 10, :o1, 1761465600
tz.transition 2026, 4, :o4, 1775379600
tz.transition 2026, 10, :o1, 1792915200
tz.transition 2027, 4, :o4, 1806829200
tz.transition 2027, 10, :o1, 1824969600
tz.transition 2028, 4, :o4, 1838278800
tz.transition 2028, 10, :o1, 1856419200
tz.transition 2029, 4, :o4, 1869728400
tz.transition 2029, 10, :o1, 1887868800
tz.transition 2030, 4, :o4, 1901782800
tz.transition 2030, 10, :o1, 1919318400
tz.transition 2031, 4, :o4, 1933232400
tz.transition 2031, 10, :o1, 1950768000
tz.transition 2032, 4, :o4, 1964682000
tz.transition 2032, 10, :o1, 1982822400
tz.transition 2033, 4, :o4, 1996131600
tz.transition 2033, 10, :o1, 2014272000
tz.transition 2034, 4, :o4, 2027581200
tz.transition 2034, 10, :o1, 2045721600
tz.transition 2035, 4, :o4, 2059030800
tz.transition 2035, 10, :o1, 2077171200
tz.transition 2036, 4, :o4, 2091085200
tz.transition 2036, 10, :o1, 2108620800
tz.transition 2037, 4, :o4, 2122534800
tz.transition 2037, 10, :o1, 2140070400
tz.transition 2038, 4, :o4, 19724143, 8
tz.transition 2038, 10, :o1, 14794367, 6
tz.transition 2039, 4, :o4, 19727055, 8
tz.transition 2039, 10, :o1, 14796551, 6
tz.transition 2040, 4, :o4, 19729967, 8
tz.transition 2040, 10, :o1, 14798735, 6
tz.transition 2041, 4, :o4, 19732935, 8
tz.transition 2041, 10, :o1, 14800919, 6
tz.transition 2042, 4, :o4, 19735847, 8
tz.transition 2042, 10, :o1, 14803103, 6
tz.transition 2043, 4, :o4, 19738759, 8
tz.transition 2043, 10, :o1, 14805287, 6
tz.transition 2044, 4, :o4, 19741671, 8
tz.transition 2044, 10, :o1, 14807513, 6
tz.transition 2045, 4, :o4, 19744583, 8
tz.transition 2045, 10, :o1, 14809697, 6
tz.transition 2046, 4, :o4, 19747495, 8
tz.transition 2046, 10, :o1, 14811881, 6
tz.transition 2047, 4, :o4, 19750463, 8
tz.transition 2047, 10, :o1, 14814065, 6
tz.transition 2048, 4, :o4, 19753375, 8
tz.transition 2048, 10, :o1, 14816249, 6
tz.transition 2049, 4, :o4, 19756287, 8
tz.transition 2049, 10, :o1, 14818475, 6
tz.transition 2050, 4, :o4, 19759199, 8
tz.transition 2050, 10, :o1, 14820659, 6
end
end
end
end
end

View File

@@ -0,0 +1,204 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Denver
include TimezoneDefinition
timezone 'America/Denver' do |tz|
tz.offset :o0, -25196, 0, :LMT
tz.offset :o1, -25200, 0, :MST
tz.offset :o2, -25200, 3600, :MDT
tz.offset :o3, -25200, 3600, :MWT
tz.offset :o4, -25200, 3600, :MPT
tz.transition 1883, 11, :o1, 57819199, 24
tz.transition 1918, 3, :o2, 19373471, 8
tz.transition 1918, 10, :o1, 14531363, 6
tz.transition 1919, 3, :o2, 19376383, 8
tz.transition 1919, 10, :o1, 14533547, 6
tz.transition 1920, 3, :o2, 19379295, 8
tz.transition 1920, 10, :o1, 14535773, 6
tz.transition 1921, 3, :o2, 19382207, 8
tz.transition 1921, 5, :o1, 14536991, 6
tz.transition 1942, 2, :o3, 19443199, 8
tz.transition 1945, 8, :o4, 58360379, 24
tz.transition 1945, 9, :o1, 14590373, 6
tz.transition 1965, 4, :o2, 19511007, 8
tz.transition 1965, 10, :o1, 14634389, 6
tz.transition 1966, 4, :o2, 19513919, 8
tz.transition 1966, 10, :o1, 14636573, 6
tz.transition 1967, 4, :o2, 19516887, 8
tz.transition 1967, 10, :o1, 14638757, 6
tz.transition 1968, 4, :o2, 19519799, 8
tz.transition 1968, 10, :o1, 14640941, 6
tz.transition 1969, 4, :o2, 19522711, 8
tz.transition 1969, 10, :o1, 14643125, 6
tz.transition 1970, 4, :o2, 9968400
tz.transition 1970, 10, :o1, 25689600
tz.transition 1971, 4, :o2, 41418000
tz.transition 1971, 10, :o1, 57744000
tz.transition 1972, 4, :o2, 73472400
tz.transition 1972, 10, :o1, 89193600
tz.transition 1973, 4, :o2, 104922000
tz.transition 1973, 10, :o1, 120643200
tz.transition 1974, 1, :o2, 126694800
tz.transition 1974, 10, :o1, 152092800
tz.transition 1975, 2, :o2, 162378000
tz.transition 1975, 10, :o1, 183542400
tz.transition 1976, 4, :o2, 199270800
tz.transition 1976, 10, :o1, 215596800
tz.transition 1977, 4, :o2, 230720400
tz.transition 1977, 10, :o1, 247046400
tz.transition 1978, 4, :o2, 262774800
tz.transition 1978, 10, :o1, 278496000
tz.transition 1979, 4, :o2, 294224400
tz.transition 1979, 10, :o1, 309945600
tz.transition 1980, 4, :o2, 325674000
tz.transition 1980, 10, :o1, 341395200
tz.transition 1981, 4, :o2, 357123600
tz.transition 1981, 10, :o1, 372844800
tz.transition 1982, 4, :o2, 388573200
tz.transition 1982, 10, :o1, 404899200
tz.transition 1983, 4, :o2, 420022800
tz.transition 1983, 10, :o1, 436348800
tz.transition 1984, 4, :o2, 452077200
tz.transition 1984, 10, :o1, 467798400
tz.transition 1985, 4, :o2, 483526800
tz.transition 1985, 10, :o1, 499248000
tz.transition 1986, 4, :o2, 514976400
tz.transition 1986, 10, :o1, 530697600
tz.transition 1987, 4, :o2, 544611600
tz.transition 1987, 10, :o1, 562147200
tz.transition 1988, 4, :o2, 576061200
tz.transition 1988, 10, :o1, 594201600
tz.transition 1989, 4, :o2, 607510800
tz.transition 1989, 10, :o1, 625651200
tz.transition 1990, 4, :o2, 638960400
tz.transition 1990, 10, :o1, 657100800
tz.transition 1991, 4, :o2, 671014800
tz.transition 1991, 10, :o1, 688550400
tz.transition 1992, 4, :o2, 702464400
tz.transition 1992, 10, :o1, 720000000
tz.transition 1993, 4, :o2, 733914000
tz.transition 1993, 10, :o1, 752054400
tz.transition 1994, 4, :o2, 765363600
tz.transition 1994, 10, :o1, 783504000
tz.transition 1995, 4, :o2, 796813200
tz.transition 1995, 10, :o1, 814953600
tz.transition 1996, 4, :o2, 828867600
tz.transition 1996, 10, :o1, 846403200
tz.transition 1997, 4, :o2, 860317200
tz.transition 1997, 10, :o1, 877852800
tz.transition 1998, 4, :o2, 891766800
tz.transition 1998, 10, :o1, 909302400
tz.transition 1999, 4, :o2, 923216400
tz.transition 1999, 10, :o1, 941356800
tz.transition 2000, 4, :o2, 954666000
tz.transition 2000, 10, :o1, 972806400
tz.transition 2001, 4, :o2, 986115600
tz.transition 2001, 10, :o1, 1004256000
tz.transition 2002, 4, :o2, 1018170000
tz.transition 2002, 10, :o1, 1035705600
tz.transition 2003, 4, :o2, 1049619600
tz.transition 2003, 10, :o1, 1067155200
tz.transition 2004, 4, :o2, 1081069200
tz.transition 2004, 10, :o1, 1099209600
tz.transition 2005, 4, :o2, 1112518800
tz.transition 2005, 10, :o1, 1130659200
tz.transition 2006, 4, :o2, 1143968400
tz.transition 2006, 10, :o1, 1162108800
tz.transition 2007, 3, :o2, 1173603600
tz.transition 2007, 11, :o1, 1194163200
tz.transition 2008, 3, :o2, 1205053200
tz.transition 2008, 11, :o1, 1225612800
tz.transition 2009, 3, :o2, 1236502800
tz.transition 2009, 11, :o1, 1257062400
tz.transition 2010, 3, :o2, 1268557200
tz.transition 2010, 11, :o1, 1289116800
tz.transition 2011, 3, :o2, 1300006800
tz.transition 2011, 11, :o1, 1320566400
tz.transition 2012, 3, :o2, 1331456400
tz.transition 2012, 11, :o1, 1352016000
tz.transition 2013, 3, :o2, 1362906000
tz.transition 2013, 11, :o1, 1383465600
tz.transition 2014, 3, :o2, 1394355600
tz.transition 2014, 11, :o1, 1414915200
tz.transition 2015, 3, :o2, 1425805200
tz.transition 2015, 11, :o1, 1446364800
tz.transition 2016, 3, :o2, 1457859600
tz.transition 2016, 11, :o1, 1478419200
tz.transition 2017, 3, :o2, 1489309200
tz.transition 2017, 11, :o1, 1509868800
tz.transition 2018, 3, :o2, 1520758800
tz.transition 2018, 11, :o1, 1541318400
tz.transition 2019, 3, :o2, 1552208400
tz.transition 2019, 11, :o1, 1572768000
tz.transition 2020, 3, :o2, 1583658000
tz.transition 2020, 11, :o1, 1604217600
tz.transition 2021, 3, :o2, 1615712400
tz.transition 2021, 11, :o1, 1636272000
tz.transition 2022, 3, :o2, 1647162000
tz.transition 2022, 11, :o1, 1667721600
tz.transition 2023, 3, :o2, 1678611600
tz.transition 2023, 11, :o1, 1699171200
tz.transition 2024, 3, :o2, 1710061200
tz.transition 2024, 11, :o1, 1730620800
tz.transition 2025, 3, :o2, 1741510800
tz.transition 2025, 11, :o1, 1762070400
tz.transition 2026, 3, :o2, 1772960400
tz.transition 2026, 11, :o1, 1793520000
tz.transition 2027, 3, :o2, 1805014800
tz.transition 2027, 11, :o1, 1825574400
tz.transition 2028, 3, :o2, 1836464400
tz.transition 2028, 11, :o1, 1857024000
tz.transition 2029, 3, :o2, 1867914000
tz.transition 2029, 11, :o1, 1888473600
tz.transition 2030, 3, :o2, 1899363600
tz.transition 2030, 11, :o1, 1919923200
tz.transition 2031, 3, :o2, 1930813200
tz.transition 2031, 11, :o1, 1951372800
tz.transition 2032, 3, :o2, 1962867600
tz.transition 2032, 11, :o1, 1983427200
tz.transition 2033, 3, :o2, 1994317200
tz.transition 2033, 11, :o1, 2014876800
tz.transition 2034, 3, :o2, 2025766800
tz.transition 2034, 11, :o1, 2046326400
tz.transition 2035, 3, :o2, 2057216400
tz.transition 2035, 11, :o1, 2077776000
tz.transition 2036, 3, :o2, 2088666000
tz.transition 2036, 11, :o1, 2109225600
tz.transition 2037, 3, :o2, 2120115600
tz.transition 2037, 11, :o1, 2140675200
tz.transition 2038, 3, :o2, 19723975, 8
tz.transition 2038, 11, :o1, 14794409, 6
tz.transition 2039, 3, :o2, 19726887, 8
tz.transition 2039, 11, :o1, 14796593, 6
tz.transition 2040, 3, :o2, 19729799, 8
tz.transition 2040, 11, :o1, 14798777, 6
tz.transition 2041, 3, :o2, 19732711, 8
tz.transition 2041, 11, :o1, 14800961, 6
tz.transition 2042, 3, :o2, 19735623, 8
tz.transition 2042, 11, :o1, 14803145, 6
tz.transition 2043, 3, :o2, 19738535, 8
tz.transition 2043, 11, :o1, 14805329, 6
tz.transition 2044, 3, :o2, 19741503, 8
tz.transition 2044, 11, :o1, 14807555, 6
tz.transition 2045, 3, :o2, 19744415, 8
tz.transition 2045, 11, :o1, 14809739, 6
tz.transition 2046, 3, :o2, 19747327, 8
tz.transition 2046, 11, :o1, 14811923, 6
tz.transition 2047, 3, :o2, 19750239, 8
tz.transition 2047, 11, :o1, 14814107, 6
tz.transition 2048, 3, :o2, 19753151, 8
tz.transition 2048, 11, :o1, 14816291, 6
tz.transition 2049, 3, :o2, 19756119, 8
tz.transition 2049, 11, :o1, 14818517, 6
tz.transition 2050, 3, :o2, 19759031, 8
tz.transition 2050, 11, :o1, 14820701, 6
end
end
end
end
end

View File

@@ -0,0 +1,161 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Godthab
include TimezoneDefinition
timezone 'America/Godthab' do |tz|
tz.offset :o0, -12416, 0, :LMT
tz.offset :o1, -10800, 0, :WGT
tz.offset :o2, -10800, 3600, :WGST
tz.transition 1916, 7, :o1, 3268448069, 1350
tz.transition 1980, 4, :o2, 323845200
tz.transition 1980, 9, :o1, 338950800
tz.transition 1981, 3, :o2, 354675600
tz.transition 1981, 9, :o1, 370400400
tz.transition 1982, 3, :o2, 386125200
tz.transition 1982, 9, :o1, 401850000
tz.transition 1983, 3, :o2, 417574800
tz.transition 1983, 9, :o1, 433299600
tz.transition 1984, 3, :o2, 449024400
tz.transition 1984, 9, :o1, 465354000
tz.transition 1985, 3, :o2, 481078800
tz.transition 1985, 9, :o1, 496803600
tz.transition 1986, 3, :o2, 512528400
tz.transition 1986, 9, :o1, 528253200
tz.transition 1987, 3, :o2, 543978000
tz.transition 1987, 9, :o1, 559702800
tz.transition 1988, 3, :o2, 575427600
tz.transition 1988, 9, :o1, 591152400
tz.transition 1989, 3, :o2, 606877200
tz.transition 1989, 9, :o1, 622602000
tz.transition 1990, 3, :o2, 638326800
tz.transition 1990, 9, :o1, 654656400
tz.transition 1991, 3, :o2, 670381200
tz.transition 1991, 9, :o1, 686106000
tz.transition 1992, 3, :o2, 701830800
tz.transition 1992, 9, :o1, 717555600
tz.transition 1993, 3, :o2, 733280400
tz.transition 1993, 9, :o1, 749005200
tz.transition 1994, 3, :o2, 764730000
tz.transition 1994, 9, :o1, 780454800
tz.transition 1995, 3, :o2, 796179600
tz.transition 1995, 9, :o1, 811904400
tz.transition 1996, 3, :o2, 828234000
tz.transition 1996, 10, :o1, 846378000
tz.transition 1997, 3, :o2, 859683600
tz.transition 1997, 10, :o1, 877827600
tz.transition 1998, 3, :o2, 891133200
tz.transition 1998, 10, :o1, 909277200
tz.transition 1999, 3, :o2, 922582800
tz.transition 1999, 10, :o1, 941331600
tz.transition 2000, 3, :o2, 954032400
tz.transition 2000, 10, :o1, 972781200
tz.transition 2001, 3, :o2, 985482000
tz.transition 2001, 10, :o1, 1004230800
tz.transition 2002, 3, :o2, 1017536400
tz.transition 2002, 10, :o1, 1035680400
tz.transition 2003, 3, :o2, 1048986000
tz.transition 2003, 10, :o1, 1067130000
tz.transition 2004, 3, :o2, 1080435600
tz.transition 2004, 10, :o1, 1099184400
tz.transition 2005, 3, :o2, 1111885200
tz.transition 2005, 10, :o1, 1130634000
tz.transition 2006, 3, :o2, 1143334800
tz.transition 2006, 10, :o1, 1162083600
tz.transition 2007, 3, :o2, 1174784400
tz.transition 2007, 10, :o1, 1193533200
tz.transition 2008, 3, :o2, 1206838800
tz.transition 2008, 10, :o1, 1224982800
tz.transition 2009, 3, :o2, 1238288400
tz.transition 2009, 10, :o1, 1256432400
tz.transition 2010, 3, :o2, 1269738000
tz.transition 2010, 10, :o1, 1288486800
tz.transition 2011, 3, :o2, 1301187600
tz.transition 2011, 10, :o1, 1319936400
tz.transition 2012, 3, :o2, 1332637200
tz.transition 2012, 10, :o1, 1351386000
tz.transition 2013, 3, :o2, 1364691600
tz.transition 2013, 10, :o1, 1382835600
tz.transition 2014, 3, :o2, 1396141200
tz.transition 2014, 10, :o1, 1414285200
tz.transition 2015, 3, :o2, 1427590800
tz.transition 2015, 10, :o1, 1445734800
tz.transition 2016, 3, :o2, 1459040400
tz.transition 2016, 10, :o1, 1477789200
tz.transition 2017, 3, :o2, 1490490000
tz.transition 2017, 10, :o1, 1509238800
tz.transition 2018, 3, :o2, 1521939600
tz.transition 2018, 10, :o1, 1540688400
tz.transition 2019, 3, :o2, 1553994000
tz.transition 2019, 10, :o1, 1572138000
tz.transition 2020, 3, :o2, 1585443600
tz.transition 2020, 10, :o1, 1603587600
tz.transition 2021, 3, :o2, 1616893200
tz.transition 2021, 10, :o1, 1635642000
tz.transition 2022, 3, :o2, 1648342800
tz.transition 2022, 10, :o1, 1667091600
tz.transition 2023, 3, :o2, 1679792400
tz.transition 2023, 10, :o1, 1698541200
tz.transition 2024, 3, :o2, 1711846800
tz.transition 2024, 10, :o1, 1729990800
tz.transition 2025, 3, :o2, 1743296400
tz.transition 2025, 10, :o1, 1761440400
tz.transition 2026, 3, :o2, 1774746000
tz.transition 2026, 10, :o1, 1792890000
tz.transition 2027, 3, :o2, 1806195600
tz.transition 2027, 10, :o1, 1824944400
tz.transition 2028, 3, :o2, 1837645200
tz.transition 2028, 10, :o1, 1856394000
tz.transition 2029, 3, :o2, 1869094800
tz.transition 2029, 10, :o1, 1887843600
tz.transition 2030, 3, :o2, 1901149200
tz.transition 2030, 10, :o1, 1919293200
tz.transition 2031, 3, :o2, 1932598800
tz.transition 2031, 10, :o1, 1950742800
tz.transition 2032, 3, :o2, 1964048400
tz.transition 2032, 10, :o1, 1982797200
tz.transition 2033, 3, :o2, 1995498000
tz.transition 2033, 10, :o1, 2014246800
tz.transition 2034, 3, :o2, 2026947600
tz.transition 2034, 10, :o1, 2045696400
tz.transition 2035, 3, :o2, 2058397200
tz.transition 2035, 10, :o1, 2077146000
tz.transition 2036, 3, :o2, 2090451600
tz.transition 2036, 10, :o1, 2108595600
tz.transition 2037, 3, :o2, 2121901200
tz.transition 2037, 10, :o1, 2140045200
tz.transition 2038, 3, :o2, 59172253, 24
tz.transition 2038, 10, :o1, 59177461, 24
tz.transition 2039, 3, :o2, 59180989, 24
tz.transition 2039, 10, :o1, 59186197, 24
tz.transition 2040, 3, :o2, 59189725, 24
tz.transition 2040, 10, :o1, 59194933, 24
tz.transition 2041, 3, :o2, 59198629, 24
tz.transition 2041, 10, :o1, 59203669, 24
tz.transition 2042, 3, :o2, 59207365, 24
tz.transition 2042, 10, :o1, 59212405, 24
tz.transition 2043, 3, :o2, 59216101, 24
tz.transition 2043, 10, :o1, 59221141, 24
tz.transition 2044, 3, :o2, 59224837, 24
tz.transition 2044, 10, :o1, 59230045, 24
tz.transition 2045, 3, :o2, 59233573, 24
tz.transition 2045, 10, :o1, 59238781, 24
tz.transition 2046, 3, :o2, 59242309, 24
tz.transition 2046, 10, :o1, 59247517, 24
tz.transition 2047, 3, :o2, 59251213, 24
tz.transition 2047, 10, :o1, 59256253, 24
tz.transition 2048, 3, :o2, 59259949, 24
tz.transition 2048, 10, :o1, 59264989, 24
tz.transition 2049, 3, :o2, 59268685, 24
tz.transition 2049, 10, :o1, 59273893, 24
tz.transition 2050, 3, :o2, 59277421, 24
tz.transition 2050, 10, :o1, 59282629, 24
end
end
end
end
end

View File

@@ -0,0 +1,27 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Guatemala
include TimezoneDefinition
timezone 'America/Guatemala' do |tz|
tz.offset :o0, -21724, 0, :LMT
tz.offset :o1, -21600, 0, :CST
tz.offset :o2, -21600, 3600, :CDT
tz.transition 1918, 10, :o1, 52312429831, 21600
tz.transition 1973, 11, :o2, 123055200
tz.transition 1974, 2, :o1, 130914000
tz.transition 1983, 5, :o2, 422344800
tz.transition 1983, 9, :o1, 433054800
tz.transition 1991, 3, :o2, 669708000
tz.transition 1991, 9, :o1, 684219600
tz.transition 2006, 4, :o2, 1146376800
tz.transition 2006, 10, :o1, 1159678800
end
end
end
end
end

View File

@@ -0,0 +1,274 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Halifax
include TimezoneDefinition
timezone 'America/Halifax' do |tz|
tz.offset :o0, -15264, 0, :LMT
tz.offset :o1, -14400, 0, :AST
tz.offset :o2, -14400, 3600, :ADT
tz.offset :o3, -14400, 3600, :AWT
tz.offset :o4, -14400, 3600, :APT
tz.transition 1902, 6, :o1, 724774703, 300
tz.transition 1916, 4, :o2, 7262864, 3
tz.transition 1916, 10, :o1, 19369101, 8
tz.transition 1918, 4, :o2, 9686791, 4
tz.transition 1918, 10, :o1, 58125545, 24
tz.transition 1920, 5, :o2, 7267361, 3
tz.transition 1920, 8, :o1, 19380525, 8
tz.transition 1921, 5, :o2, 7268447, 3
tz.transition 1921, 9, :o1, 19383501, 8
tz.transition 1922, 4, :o2, 7269524, 3
tz.transition 1922, 9, :o1, 19386421, 8
tz.transition 1923, 5, :o2, 7270637, 3
tz.transition 1923, 9, :o1, 19389333, 8
tz.transition 1924, 5, :o2, 7271729, 3
tz.transition 1924, 9, :o1, 19392349, 8
tz.transition 1925, 5, :o2, 7272821, 3
tz.transition 1925, 9, :o1, 19395373, 8
tz.transition 1926, 5, :o2, 7273955, 3
tz.transition 1926, 9, :o1, 19398173, 8
tz.transition 1927, 5, :o2, 7275005, 3
tz.transition 1927, 9, :o1, 19401197, 8
tz.transition 1928, 5, :o2, 7276139, 3
tz.transition 1928, 9, :o1, 19403989, 8
tz.transition 1929, 5, :o2, 7277231, 3
tz.transition 1929, 9, :o1, 19406861, 8
tz.transition 1930, 5, :o2, 7278323, 3
tz.transition 1930, 9, :o1, 19409877, 8
tz.transition 1931, 5, :o2, 7279415, 3
tz.transition 1931, 9, :o1, 19412901, 8
tz.transition 1932, 5, :o2, 7280486, 3
tz.transition 1932, 9, :o1, 19415813, 8
tz.transition 1933, 4, :o2, 7281578, 3
tz.transition 1933, 10, :o1, 19418781, 8
tz.transition 1934, 5, :o2, 7282733, 3
tz.transition 1934, 9, :o1, 19421573, 8
tz.transition 1935, 6, :o2, 7283867, 3
tz.transition 1935, 9, :o1, 19424605, 8
tz.transition 1936, 6, :o2, 7284962, 3
tz.transition 1936, 9, :o1, 19427405, 8
tz.transition 1937, 5, :o2, 7285967, 3
tz.transition 1937, 9, :o1, 19430429, 8
tz.transition 1938, 5, :o2, 7287059, 3
tz.transition 1938, 9, :o1, 19433341, 8
tz.transition 1939, 5, :o2, 7288235, 3
tz.transition 1939, 9, :o1, 19436253, 8
tz.transition 1940, 5, :o2, 7289264, 3
tz.transition 1940, 9, :o1, 19439221, 8
tz.transition 1941, 5, :o2, 7290356, 3
tz.transition 1941, 9, :o1, 19442133, 8
tz.transition 1942, 2, :o3, 9721599, 4
tz.transition 1945, 8, :o4, 58360379, 24
tz.transition 1945, 9, :o1, 58361489, 24
tz.transition 1946, 4, :o2, 9727755, 4
tz.transition 1946, 9, :o1, 58370225, 24
tz.transition 1947, 4, :o2, 9729211, 4
tz.transition 1947, 9, :o1, 58378961, 24
tz.transition 1948, 4, :o2, 9730667, 4
tz.transition 1948, 9, :o1, 58387697, 24
tz.transition 1949, 4, :o2, 9732123, 4
tz.transition 1949, 9, :o1, 58396433, 24
tz.transition 1951, 4, :o2, 9735063, 4
tz.transition 1951, 9, :o1, 58414073, 24
tz.transition 1952, 4, :o2, 9736519, 4
tz.transition 1952, 9, :o1, 58422809, 24
tz.transition 1953, 4, :o2, 9737975, 4
tz.transition 1953, 9, :o1, 58431545, 24
tz.transition 1954, 4, :o2, 9739431, 4
tz.transition 1954, 9, :o1, 58440281, 24
tz.transition 1956, 4, :o2, 9742371, 4
tz.transition 1956, 9, :o1, 58457921, 24
tz.transition 1957, 4, :o2, 9743827, 4
tz.transition 1957, 9, :o1, 58466657, 24
tz.transition 1958, 4, :o2, 9745283, 4
tz.transition 1958, 9, :o1, 58475393, 24
tz.transition 1959, 4, :o2, 9746739, 4
tz.transition 1959, 9, :o1, 58484129, 24
tz.transition 1962, 4, :o2, 9751135, 4
tz.transition 1962, 10, :o1, 58511177, 24
tz.transition 1963, 4, :o2, 9752591, 4
tz.transition 1963, 10, :o1, 58519913, 24
tz.transition 1964, 4, :o2, 9754047, 4
tz.transition 1964, 10, :o1, 58528649, 24
tz.transition 1965, 4, :o2, 9755503, 4
tz.transition 1965, 10, :o1, 58537553, 24
tz.transition 1966, 4, :o2, 9756959, 4
tz.transition 1966, 10, :o1, 58546289, 24
tz.transition 1967, 4, :o2, 9758443, 4
tz.transition 1967, 10, :o1, 58555025, 24
tz.transition 1968, 4, :o2, 9759899, 4
tz.transition 1968, 10, :o1, 58563761, 24
tz.transition 1969, 4, :o2, 9761355, 4
tz.transition 1969, 10, :o1, 58572497, 24
tz.transition 1970, 4, :o2, 9957600
tz.transition 1970, 10, :o1, 25678800
tz.transition 1971, 4, :o2, 41407200
tz.transition 1971, 10, :o1, 57733200
tz.transition 1972, 4, :o2, 73461600
tz.transition 1972, 10, :o1, 89182800
tz.transition 1973, 4, :o2, 104911200
tz.transition 1973, 10, :o1, 120632400
tz.transition 1974, 4, :o2, 136360800
tz.transition 1974, 10, :o1, 152082000
tz.transition 1975, 4, :o2, 167810400
tz.transition 1975, 10, :o1, 183531600
tz.transition 1976, 4, :o2, 199260000
tz.transition 1976, 10, :o1, 215586000
tz.transition 1977, 4, :o2, 230709600
tz.transition 1977, 10, :o1, 247035600
tz.transition 1978, 4, :o2, 262764000
tz.transition 1978, 10, :o1, 278485200
tz.transition 1979, 4, :o2, 294213600
tz.transition 1979, 10, :o1, 309934800
tz.transition 1980, 4, :o2, 325663200
tz.transition 1980, 10, :o1, 341384400
tz.transition 1981, 4, :o2, 357112800
tz.transition 1981, 10, :o1, 372834000
tz.transition 1982, 4, :o2, 388562400
tz.transition 1982, 10, :o1, 404888400
tz.transition 1983, 4, :o2, 420012000
tz.transition 1983, 10, :o1, 436338000
tz.transition 1984, 4, :o2, 452066400
tz.transition 1984, 10, :o1, 467787600
tz.transition 1985, 4, :o2, 483516000
tz.transition 1985, 10, :o1, 499237200
tz.transition 1986, 4, :o2, 514965600
tz.transition 1986, 10, :o1, 530686800
tz.transition 1987, 4, :o2, 544600800
tz.transition 1987, 10, :o1, 562136400
tz.transition 1988, 4, :o2, 576050400
tz.transition 1988, 10, :o1, 594190800
tz.transition 1989, 4, :o2, 607500000
tz.transition 1989, 10, :o1, 625640400
tz.transition 1990, 4, :o2, 638949600
tz.transition 1990, 10, :o1, 657090000
tz.transition 1991, 4, :o2, 671004000
tz.transition 1991, 10, :o1, 688539600
tz.transition 1992, 4, :o2, 702453600
tz.transition 1992, 10, :o1, 719989200
tz.transition 1993, 4, :o2, 733903200
tz.transition 1993, 10, :o1, 752043600
tz.transition 1994, 4, :o2, 765352800
tz.transition 1994, 10, :o1, 783493200
tz.transition 1995, 4, :o2, 796802400
tz.transition 1995, 10, :o1, 814942800
tz.transition 1996, 4, :o2, 828856800
tz.transition 1996, 10, :o1, 846392400
tz.transition 1997, 4, :o2, 860306400
tz.transition 1997, 10, :o1, 877842000
tz.transition 1998, 4, :o2, 891756000
tz.transition 1998, 10, :o1, 909291600
tz.transition 1999, 4, :o2, 923205600
tz.transition 1999, 10, :o1, 941346000
tz.transition 2000, 4, :o2, 954655200
tz.transition 2000, 10, :o1, 972795600
tz.transition 2001, 4, :o2, 986104800
tz.transition 2001, 10, :o1, 1004245200
tz.transition 2002, 4, :o2, 1018159200
tz.transition 2002, 10, :o1, 1035694800
tz.transition 2003, 4, :o2, 1049608800
tz.transition 2003, 10, :o1, 1067144400
tz.transition 2004, 4, :o2, 1081058400
tz.transition 2004, 10, :o1, 1099198800
tz.transition 2005, 4, :o2, 1112508000
tz.transition 2005, 10, :o1, 1130648400
tz.transition 2006, 4, :o2, 1143957600
tz.transition 2006, 10, :o1, 1162098000
tz.transition 2007, 3, :o2, 1173592800
tz.transition 2007, 11, :o1, 1194152400
tz.transition 2008, 3, :o2, 1205042400
tz.transition 2008, 11, :o1, 1225602000
tz.transition 2009, 3, :o2, 1236492000
tz.transition 2009, 11, :o1, 1257051600
tz.transition 2010, 3, :o2, 1268546400
tz.transition 2010, 11, :o1, 1289106000
tz.transition 2011, 3, :o2, 1299996000
tz.transition 2011, 11, :o1, 1320555600
tz.transition 2012, 3, :o2, 1331445600
tz.transition 2012, 11, :o1, 1352005200
tz.transition 2013, 3, :o2, 1362895200
tz.transition 2013, 11, :o1, 1383454800
tz.transition 2014, 3, :o2, 1394344800
tz.transition 2014, 11, :o1, 1414904400
tz.transition 2015, 3, :o2, 1425794400
tz.transition 2015, 11, :o1, 1446354000
tz.transition 2016, 3, :o2, 1457848800
tz.transition 2016, 11, :o1, 1478408400
tz.transition 2017, 3, :o2, 1489298400
tz.transition 2017, 11, :o1, 1509858000
tz.transition 2018, 3, :o2, 1520748000
tz.transition 2018, 11, :o1, 1541307600
tz.transition 2019, 3, :o2, 1552197600
tz.transition 2019, 11, :o1, 1572757200
tz.transition 2020, 3, :o2, 1583647200
tz.transition 2020, 11, :o1, 1604206800
tz.transition 2021, 3, :o2, 1615701600
tz.transition 2021, 11, :o1, 1636261200
tz.transition 2022, 3, :o2, 1647151200
tz.transition 2022, 11, :o1, 1667710800
tz.transition 2023, 3, :o2, 1678600800
tz.transition 2023, 11, :o1, 1699160400
tz.transition 2024, 3, :o2, 1710050400
tz.transition 2024, 11, :o1, 1730610000
tz.transition 2025, 3, :o2, 1741500000
tz.transition 2025, 11, :o1, 1762059600
tz.transition 2026, 3, :o2, 1772949600
tz.transition 2026, 11, :o1, 1793509200
tz.transition 2027, 3, :o2, 1805004000
tz.transition 2027, 11, :o1, 1825563600
tz.transition 2028, 3, :o2, 1836453600
tz.transition 2028, 11, :o1, 1857013200
tz.transition 2029, 3, :o2, 1867903200
tz.transition 2029, 11, :o1, 1888462800
tz.transition 2030, 3, :o2, 1899352800
tz.transition 2030, 11, :o1, 1919912400
tz.transition 2031, 3, :o2, 1930802400
tz.transition 2031, 11, :o1, 1951362000
tz.transition 2032, 3, :o2, 1962856800
tz.transition 2032, 11, :o1, 1983416400
tz.transition 2033, 3, :o2, 1994306400
tz.transition 2033, 11, :o1, 2014866000
tz.transition 2034, 3, :o2, 2025756000
tz.transition 2034, 11, :o1, 2046315600
tz.transition 2035, 3, :o2, 2057205600
tz.transition 2035, 11, :o1, 2077765200
tz.transition 2036, 3, :o2, 2088655200
tz.transition 2036, 11, :o1, 2109214800
tz.transition 2037, 3, :o2, 2120104800
tz.transition 2037, 11, :o1, 2140664400
tz.transition 2038, 3, :o2, 9861987, 4
tz.transition 2038, 11, :o1, 59177633, 24
tz.transition 2039, 3, :o2, 9863443, 4
tz.transition 2039, 11, :o1, 59186369, 24
tz.transition 2040, 3, :o2, 9864899, 4
tz.transition 2040, 11, :o1, 59195105, 24
tz.transition 2041, 3, :o2, 9866355, 4
tz.transition 2041, 11, :o1, 59203841, 24
tz.transition 2042, 3, :o2, 9867811, 4
tz.transition 2042, 11, :o1, 59212577, 24
tz.transition 2043, 3, :o2, 9869267, 4
tz.transition 2043, 11, :o1, 59221313, 24
tz.transition 2044, 3, :o2, 9870751, 4
tz.transition 2044, 11, :o1, 59230217, 24
tz.transition 2045, 3, :o2, 9872207, 4
tz.transition 2045, 11, :o1, 59238953, 24
tz.transition 2046, 3, :o2, 9873663, 4
tz.transition 2046, 11, :o1, 59247689, 24
tz.transition 2047, 3, :o2, 9875119, 4
tz.transition 2047, 11, :o1, 59256425, 24
tz.transition 2048, 3, :o2, 9876575, 4
tz.transition 2048, 11, :o1, 59265161, 24
tz.transition 2049, 3, :o2, 9878059, 4
tz.transition 2049, 11, :o1, 59274065, 24
tz.transition 2050, 3, :o2, 9879515, 4
tz.transition 2050, 11, :o1, 59282801, 24
end
end
end
end
end

View File

@@ -0,0 +1,149 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Indiana
module Indianapolis
include TimezoneDefinition
timezone 'America/Indiana/Indianapolis' do |tz|
tz.offset :o0, -20678, 0, :LMT
tz.offset :o1, -21600, 0, :CST
tz.offset :o2, -21600, 3600, :CDT
tz.offset :o3, -21600, 3600, :CWT
tz.offset :o4, -21600, 3600, :CPT
tz.offset :o5, -18000, 0, :EST
tz.offset :o6, -18000, 3600, :EDT
tz.transition 1883, 11, :o1, 9636533, 4
tz.transition 1918, 3, :o2, 14530103, 6
tz.transition 1918, 10, :o1, 58125451, 24
tz.transition 1919, 3, :o2, 14532287, 6
tz.transition 1919, 10, :o1, 58134187, 24
tz.transition 1941, 6, :o2, 14581007, 6
tz.transition 1941, 9, :o1, 58326379, 24
tz.transition 1942, 2, :o3, 14582399, 6
tz.transition 1945, 8, :o4, 58360379, 24
tz.transition 1945, 9, :o1, 58361491, 24
tz.transition 1946, 4, :o2, 14591633, 6
tz.transition 1946, 9, :o1, 58370227, 24
tz.transition 1947, 4, :o2, 14593817, 6
tz.transition 1947, 9, :o1, 58378963, 24
tz.transition 1948, 4, :o2, 14596001, 6
tz.transition 1948, 9, :o1, 58387699, 24
tz.transition 1949, 4, :o2, 14598185, 6
tz.transition 1949, 9, :o1, 58396435, 24
tz.transition 1950, 4, :o2, 14600411, 6
tz.transition 1950, 9, :o1, 58405171, 24
tz.transition 1951, 4, :o2, 14602595, 6
tz.transition 1951, 9, :o1, 58414075, 24
tz.transition 1952, 4, :o2, 14604779, 6
tz.transition 1952, 9, :o1, 58422811, 24
tz.transition 1953, 4, :o2, 14606963, 6
tz.transition 1953, 9, :o1, 58431547, 24
tz.transition 1954, 4, :o2, 14609147, 6
tz.transition 1954, 9, :o1, 58440283, 24
tz.transition 1955, 4, :o5, 14611331, 6
tz.transition 1957, 9, :o1, 58466659, 24
tz.transition 1958, 4, :o5, 14617925, 6
tz.transition 1969, 4, :o6, 58568131, 24
tz.transition 1969, 10, :o5, 9762083, 4
tz.transition 1970, 4, :o6, 9961200
tz.transition 1970, 10, :o5, 25682400
tz.transition 2006, 4, :o6, 1143961200
tz.transition 2006, 10, :o5, 1162101600
tz.transition 2007, 3, :o6, 1173596400
tz.transition 2007, 11, :o5, 1194156000
tz.transition 2008, 3, :o6, 1205046000
tz.transition 2008, 11, :o5, 1225605600
tz.transition 2009, 3, :o6, 1236495600
tz.transition 2009, 11, :o5, 1257055200
tz.transition 2010, 3, :o6, 1268550000
tz.transition 2010, 11, :o5, 1289109600
tz.transition 2011, 3, :o6, 1299999600
tz.transition 2011, 11, :o5, 1320559200
tz.transition 2012, 3, :o6, 1331449200
tz.transition 2012, 11, :o5, 1352008800
tz.transition 2013, 3, :o6, 1362898800
tz.transition 2013, 11, :o5, 1383458400
tz.transition 2014, 3, :o6, 1394348400
tz.transition 2014, 11, :o5, 1414908000
tz.transition 2015, 3, :o6, 1425798000
tz.transition 2015, 11, :o5, 1446357600
tz.transition 2016, 3, :o6, 1457852400
tz.transition 2016, 11, :o5, 1478412000
tz.transition 2017, 3, :o6, 1489302000
tz.transition 2017, 11, :o5, 1509861600
tz.transition 2018, 3, :o6, 1520751600
tz.transition 2018, 11, :o5, 1541311200
tz.transition 2019, 3, :o6, 1552201200
tz.transition 2019, 11, :o5, 1572760800
tz.transition 2020, 3, :o6, 1583650800
tz.transition 2020, 11, :o5, 1604210400
tz.transition 2021, 3, :o6, 1615705200
tz.transition 2021, 11, :o5, 1636264800
tz.transition 2022, 3, :o6, 1647154800
tz.transition 2022, 11, :o5, 1667714400
tz.transition 2023, 3, :o6, 1678604400
tz.transition 2023, 11, :o5, 1699164000
tz.transition 2024, 3, :o6, 1710054000
tz.transition 2024, 11, :o5, 1730613600
tz.transition 2025, 3, :o6, 1741503600
tz.transition 2025, 11, :o5, 1762063200
tz.transition 2026, 3, :o6, 1772953200
tz.transition 2026, 11, :o5, 1793512800
tz.transition 2027, 3, :o6, 1805007600
tz.transition 2027, 11, :o5, 1825567200
tz.transition 2028, 3, :o6, 1836457200
tz.transition 2028, 11, :o5, 1857016800
tz.transition 2029, 3, :o6, 1867906800
tz.transition 2029, 11, :o5, 1888466400
tz.transition 2030, 3, :o6, 1899356400
tz.transition 2030, 11, :o5, 1919916000
tz.transition 2031, 3, :o6, 1930806000
tz.transition 2031, 11, :o5, 1951365600
tz.transition 2032, 3, :o6, 1962860400
tz.transition 2032, 11, :o5, 1983420000
tz.transition 2033, 3, :o6, 1994310000
tz.transition 2033, 11, :o5, 2014869600
tz.transition 2034, 3, :o6, 2025759600
tz.transition 2034, 11, :o5, 2046319200
tz.transition 2035, 3, :o6, 2057209200
tz.transition 2035, 11, :o5, 2077768800
tz.transition 2036, 3, :o6, 2088658800
tz.transition 2036, 11, :o5, 2109218400
tz.transition 2037, 3, :o6, 2120108400
tz.transition 2037, 11, :o5, 2140668000
tz.transition 2038, 3, :o6, 59171923, 24
tz.transition 2038, 11, :o5, 9862939, 4
tz.transition 2039, 3, :o6, 59180659, 24
tz.transition 2039, 11, :o5, 9864395, 4
tz.transition 2040, 3, :o6, 59189395, 24
tz.transition 2040, 11, :o5, 9865851, 4
tz.transition 2041, 3, :o6, 59198131, 24
tz.transition 2041, 11, :o5, 9867307, 4
tz.transition 2042, 3, :o6, 59206867, 24
tz.transition 2042, 11, :o5, 9868763, 4
tz.transition 2043, 3, :o6, 59215603, 24
tz.transition 2043, 11, :o5, 9870219, 4
tz.transition 2044, 3, :o6, 59224507, 24
tz.transition 2044, 11, :o5, 9871703, 4
tz.transition 2045, 3, :o6, 59233243, 24
tz.transition 2045, 11, :o5, 9873159, 4
tz.transition 2046, 3, :o6, 59241979, 24
tz.transition 2046, 11, :o5, 9874615, 4
tz.transition 2047, 3, :o6, 59250715, 24
tz.transition 2047, 11, :o5, 9876071, 4
tz.transition 2048, 3, :o6, 59259451, 24
tz.transition 2048, 11, :o5, 9877527, 4
tz.transition 2049, 3, :o6, 59268355, 24
tz.transition 2049, 11, :o5, 9879011, 4
tz.transition 2050, 3, :o6, 59277091, 24
tz.transition 2050, 11, :o5, 9880467, 4
end
end
end
end
end
end

View File

@@ -0,0 +1,194 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Juneau
include TimezoneDefinition
timezone 'America/Juneau' do |tz|
tz.offset :o0, 54139, 0, :LMT
tz.offset :o1, -32261, 0, :LMT
tz.offset :o2, -28800, 0, :PST
tz.offset :o3, -28800, 3600, :PWT
tz.offset :o4, -28800, 3600, :PPT
tz.offset :o5, -28800, 3600, :PDT
tz.offset :o6, -32400, 0, :YST
tz.offset :o7, -32400, 0, :AKST
tz.offset :o8, -32400, 3600, :AKDT
tz.transition 1867, 10, :o1, 207641393861, 86400
tz.transition 1900, 8, :o2, 208677805061, 86400
tz.transition 1942, 2, :o3, 29164799, 12
tz.transition 1945, 8, :o4, 58360379, 24
tz.transition 1945, 9, :o2, 19453831, 8
tz.transition 1969, 4, :o5, 29284067, 12
tz.transition 1969, 10, :o2, 19524167, 8
tz.transition 1970, 4, :o5, 9972000
tz.transition 1970, 10, :o2, 25693200
tz.transition 1971, 4, :o5, 41421600
tz.transition 1971, 10, :o2, 57747600
tz.transition 1972, 4, :o5, 73476000
tz.transition 1972, 10, :o2, 89197200
tz.transition 1973, 4, :o5, 104925600
tz.transition 1973, 10, :o2, 120646800
tz.transition 1974, 1, :o5, 126698400
tz.transition 1974, 10, :o2, 152096400
tz.transition 1975, 2, :o5, 162381600
tz.transition 1975, 10, :o2, 183546000
tz.transition 1976, 4, :o5, 199274400
tz.transition 1976, 10, :o2, 215600400
tz.transition 1977, 4, :o5, 230724000
tz.transition 1977, 10, :o2, 247050000
tz.transition 1978, 4, :o5, 262778400
tz.transition 1978, 10, :o2, 278499600
tz.transition 1979, 4, :o5, 294228000
tz.transition 1979, 10, :o2, 309949200
tz.transition 1980, 4, :o5, 325677600
tz.transition 1980, 10, :o2, 341398800
tz.transition 1981, 4, :o5, 357127200
tz.transition 1981, 10, :o2, 372848400
tz.transition 1982, 4, :o5, 388576800
tz.transition 1982, 10, :o2, 404902800
tz.transition 1983, 4, :o5, 420026400
tz.transition 1983, 10, :o6, 436352400
tz.transition 1983, 11, :o7, 439030800
tz.transition 1984, 4, :o8, 452084400
tz.transition 1984, 10, :o7, 467805600
tz.transition 1985, 4, :o8, 483534000
tz.transition 1985, 10, :o7, 499255200
tz.transition 1986, 4, :o8, 514983600
tz.transition 1986, 10, :o7, 530704800
tz.transition 1987, 4, :o8, 544618800
tz.transition 1987, 10, :o7, 562154400
tz.transition 1988, 4, :o8, 576068400
tz.transition 1988, 10, :o7, 594208800
tz.transition 1989, 4, :o8, 607518000
tz.transition 1989, 10, :o7, 625658400
tz.transition 1990, 4, :o8, 638967600
tz.transition 1990, 10, :o7, 657108000
tz.transition 1991, 4, :o8, 671022000
tz.transition 1991, 10, :o7, 688557600
tz.transition 1992, 4, :o8, 702471600
tz.transition 1992, 10, :o7, 720007200
tz.transition 1993, 4, :o8, 733921200
tz.transition 1993, 10, :o7, 752061600
tz.transition 1994, 4, :o8, 765370800
tz.transition 1994, 10, :o7, 783511200
tz.transition 1995, 4, :o8, 796820400
tz.transition 1995, 10, :o7, 814960800
tz.transition 1996, 4, :o8, 828874800
tz.transition 1996, 10, :o7, 846410400
tz.transition 1997, 4, :o8, 860324400
tz.transition 1997, 10, :o7, 877860000
tz.transition 1998, 4, :o8, 891774000
tz.transition 1998, 10, :o7, 909309600
tz.transition 1999, 4, :o8, 923223600
tz.transition 1999, 10, :o7, 941364000
tz.transition 2000, 4, :o8, 954673200
tz.transition 2000, 10, :o7, 972813600
tz.transition 2001, 4, :o8, 986122800
tz.transition 2001, 10, :o7, 1004263200
tz.transition 2002, 4, :o8, 1018177200
tz.transition 2002, 10, :o7, 1035712800
tz.transition 2003, 4, :o8, 1049626800
tz.transition 2003, 10, :o7, 1067162400
tz.transition 2004, 4, :o8, 1081076400
tz.transition 2004, 10, :o7, 1099216800
tz.transition 2005, 4, :o8, 1112526000
tz.transition 2005, 10, :o7, 1130666400
tz.transition 2006, 4, :o8, 1143975600
tz.transition 2006, 10, :o7, 1162116000
tz.transition 2007, 3, :o8, 1173610800
tz.transition 2007, 11, :o7, 1194170400
tz.transition 2008, 3, :o8, 1205060400
tz.transition 2008, 11, :o7, 1225620000
tz.transition 2009, 3, :o8, 1236510000
tz.transition 2009, 11, :o7, 1257069600
tz.transition 2010, 3, :o8, 1268564400
tz.transition 2010, 11, :o7, 1289124000
tz.transition 2011, 3, :o8, 1300014000
tz.transition 2011, 11, :o7, 1320573600
tz.transition 2012, 3, :o8, 1331463600
tz.transition 2012, 11, :o7, 1352023200
tz.transition 2013, 3, :o8, 1362913200
tz.transition 2013, 11, :o7, 1383472800
tz.transition 2014, 3, :o8, 1394362800
tz.transition 2014, 11, :o7, 1414922400
tz.transition 2015, 3, :o8, 1425812400
tz.transition 2015, 11, :o7, 1446372000
tz.transition 2016, 3, :o8, 1457866800
tz.transition 2016, 11, :o7, 1478426400
tz.transition 2017, 3, :o8, 1489316400
tz.transition 2017, 11, :o7, 1509876000
tz.transition 2018, 3, :o8, 1520766000
tz.transition 2018, 11, :o7, 1541325600
tz.transition 2019, 3, :o8, 1552215600
tz.transition 2019, 11, :o7, 1572775200
tz.transition 2020, 3, :o8, 1583665200
tz.transition 2020, 11, :o7, 1604224800
tz.transition 2021, 3, :o8, 1615719600
tz.transition 2021, 11, :o7, 1636279200
tz.transition 2022, 3, :o8, 1647169200
tz.transition 2022, 11, :o7, 1667728800
tz.transition 2023, 3, :o8, 1678618800
tz.transition 2023, 11, :o7, 1699178400
tz.transition 2024, 3, :o8, 1710068400
tz.transition 2024, 11, :o7, 1730628000
tz.transition 2025, 3, :o8, 1741518000
tz.transition 2025, 11, :o7, 1762077600
tz.transition 2026, 3, :o8, 1772967600
tz.transition 2026, 11, :o7, 1793527200
tz.transition 2027, 3, :o8, 1805022000
tz.transition 2027, 11, :o7, 1825581600
tz.transition 2028, 3, :o8, 1836471600
tz.transition 2028, 11, :o7, 1857031200
tz.transition 2029, 3, :o8, 1867921200
tz.transition 2029, 11, :o7, 1888480800
tz.transition 2030, 3, :o8, 1899370800
tz.transition 2030, 11, :o7, 1919930400
tz.transition 2031, 3, :o8, 1930820400
tz.transition 2031, 11, :o7, 1951380000
tz.transition 2032, 3, :o8, 1962874800
tz.transition 2032, 11, :o7, 1983434400
tz.transition 2033, 3, :o8, 1994324400
tz.transition 2033, 11, :o7, 2014884000
tz.transition 2034, 3, :o8, 2025774000
tz.transition 2034, 11, :o7, 2046333600
tz.transition 2035, 3, :o8, 2057223600
tz.transition 2035, 11, :o7, 2077783200
tz.transition 2036, 3, :o8, 2088673200
tz.transition 2036, 11, :o7, 2109232800
tz.transition 2037, 3, :o8, 2120122800
tz.transition 2037, 11, :o7, 2140682400
tz.transition 2038, 3, :o8, 59171927, 24
tz.transition 2038, 11, :o7, 29588819, 12
tz.transition 2039, 3, :o8, 59180663, 24
tz.transition 2039, 11, :o7, 29593187, 12
tz.transition 2040, 3, :o8, 59189399, 24
tz.transition 2040, 11, :o7, 29597555, 12
tz.transition 2041, 3, :o8, 59198135, 24
tz.transition 2041, 11, :o7, 29601923, 12
tz.transition 2042, 3, :o8, 59206871, 24
tz.transition 2042, 11, :o7, 29606291, 12
tz.transition 2043, 3, :o8, 59215607, 24
tz.transition 2043, 11, :o7, 29610659, 12
tz.transition 2044, 3, :o8, 59224511, 24
tz.transition 2044, 11, :o7, 29615111, 12
tz.transition 2045, 3, :o8, 59233247, 24
tz.transition 2045, 11, :o7, 29619479, 12
tz.transition 2046, 3, :o8, 59241983, 24
tz.transition 2046, 11, :o7, 29623847, 12
tz.transition 2047, 3, :o8, 59250719, 24
tz.transition 2047, 11, :o7, 29628215, 12
tz.transition 2048, 3, :o8, 59259455, 24
tz.transition 2048, 11, :o7, 29632583, 12
tz.transition 2049, 3, :o8, 59268359, 24
tz.transition 2049, 11, :o7, 29637035, 12
tz.transition 2050, 3, :o8, 59277095, 24
tz.transition 2050, 11, :o7, 29641403, 12
end
end
end
end
end

View File

@@ -0,0 +1,22 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module La_Paz
include TimezoneDefinition
timezone 'America/La_Paz' do |tz|
tz.offset :o0, -16356, 0, :LMT
tz.offset :o1, -16356, 0, :CMT
tz.offset :o2, -16356, 3600, :BOST
tz.offset :o3, -14400, 0, :BOT
tz.transition 1890, 1, :o1, 17361854563, 7200
tz.transition 1931, 10, :o2, 17471733763, 7200
tz.transition 1932, 3, :o3, 17472871063, 7200
end
end
end
end
end

View File

@@ -0,0 +1,35 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Lima
include TimezoneDefinition
timezone 'America/Lima' do |tz|
tz.offset :o0, -18492, 0, :LMT
tz.offset :o1, -18516, 0, :LMT
tz.offset :o2, -18000, 0, :PET
tz.offset :o3, -18000, 3600, :PEST
tz.transition 1890, 1, :o1, 17361854741, 7200
tz.transition 1908, 7, :o2, 17410685143, 7200
tz.transition 1938, 1, :o3, 58293593, 24
tz.transition 1938, 4, :o2, 7286969, 3
tz.transition 1938, 9, :o3, 58300001, 24
tz.transition 1939, 3, :o2, 7288046, 3
tz.transition 1939, 9, :o3, 58308737, 24
tz.transition 1940, 3, :o2, 7289138, 3
tz.transition 1986, 1, :o3, 504939600
tz.transition 1986, 4, :o2, 512712000
tz.transition 1987, 1, :o3, 536475600
tz.transition 1987, 4, :o2, 544248000
tz.transition 1990, 1, :o3, 631170000
tz.transition 1990, 4, :o2, 638942400
tz.transition 1994, 1, :o3, 757400400
tz.transition 1994, 4, :o2, 765172800
end
end
end
end
end

View File

@@ -0,0 +1,232 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Los_Angeles
include TimezoneDefinition
timezone 'America/Los_Angeles' do |tz|
tz.offset :o0, -28378, 0, :LMT
tz.offset :o1, -28800, 0, :PST
tz.offset :o2, -28800, 3600, :PDT
tz.offset :o3, -28800, 3600, :PWT
tz.offset :o4, -28800, 3600, :PPT
tz.transition 1883, 11, :o1, 7227400, 3
tz.transition 1918, 3, :o2, 29060207, 12
tz.transition 1918, 10, :o1, 19375151, 8
tz.transition 1919, 3, :o2, 29064575, 12
tz.transition 1919, 10, :o1, 19378063, 8
tz.transition 1942, 2, :o3, 29164799, 12
tz.transition 1945, 8, :o4, 58360379, 24
tz.transition 1945, 9, :o1, 19453831, 8
tz.transition 1948, 3, :o2, 29191499, 12
tz.transition 1949, 1, :o1, 19463343, 8
tz.transition 1950, 4, :o2, 29200823, 12
tz.transition 1950, 9, :o1, 19468391, 8
tz.transition 1951, 4, :o2, 29205191, 12
tz.transition 1951, 9, :o1, 19471359, 8
tz.transition 1952, 4, :o2, 29209559, 12
tz.transition 1952, 9, :o1, 19474271, 8
tz.transition 1953, 4, :o2, 29213927, 12
tz.transition 1953, 9, :o1, 19477183, 8
tz.transition 1954, 4, :o2, 29218295, 12
tz.transition 1954, 9, :o1, 19480095, 8
tz.transition 1955, 4, :o2, 29222663, 12
tz.transition 1955, 9, :o1, 19483007, 8
tz.transition 1956, 4, :o2, 29227115, 12
tz.transition 1956, 9, :o1, 19485975, 8
tz.transition 1957, 4, :o2, 29231483, 12
tz.transition 1957, 9, :o1, 19488887, 8
tz.transition 1958, 4, :o2, 29235851, 12
tz.transition 1958, 9, :o1, 19491799, 8
tz.transition 1959, 4, :o2, 29240219, 12
tz.transition 1959, 9, :o1, 19494711, 8
tz.transition 1960, 4, :o2, 29244587, 12
tz.transition 1960, 9, :o1, 19497623, 8
tz.transition 1961, 4, :o2, 29249039, 12
tz.transition 1961, 9, :o1, 19500535, 8
tz.transition 1962, 4, :o2, 29253407, 12
tz.transition 1962, 10, :o1, 19503727, 8
tz.transition 1963, 4, :o2, 29257775, 12
tz.transition 1963, 10, :o1, 19506639, 8
tz.transition 1964, 4, :o2, 29262143, 12
tz.transition 1964, 10, :o1, 19509551, 8
tz.transition 1965, 4, :o2, 29266511, 12
tz.transition 1965, 10, :o1, 19512519, 8
tz.transition 1966, 4, :o2, 29270879, 12
tz.transition 1966, 10, :o1, 19515431, 8
tz.transition 1967, 4, :o2, 29275331, 12
tz.transition 1967, 10, :o1, 19518343, 8
tz.transition 1968, 4, :o2, 29279699, 12
tz.transition 1968, 10, :o1, 19521255, 8
tz.transition 1969, 4, :o2, 29284067, 12
tz.transition 1969, 10, :o1, 19524167, 8
tz.transition 1970, 4, :o2, 9972000
tz.transition 1970, 10, :o1, 25693200
tz.transition 1971, 4, :o2, 41421600
tz.transition 1971, 10, :o1, 57747600
tz.transition 1972, 4, :o2, 73476000
tz.transition 1972, 10, :o1, 89197200
tz.transition 1973, 4, :o2, 104925600
tz.transition 1973, 10, :o1, 120646800
tz.transition 1974, 1, :o2, 126698400
tz.transition 1974, 10, :o1, 152096400
tz.transition 1975, 2, :o2, 162381600
tz.transition 1975, 10, :o1, 183546000
tz.transition 1976, 4, :o2, 199274400
tz.transition 1976, 10, :o1, 215600400
tz.transition 1977, 4, :o2, 230724000
tz.transition 1977, 10, :o1, 247050000
tz.transition 1978, 4, :o2, 262778400
tz.transition 1978, 10, :o1, 278499600
tz.transition 1979, 4, :o2, 294228000
tz.transition 1979, 10, :o1, 309949200
tz.transition 1980, 4, :o2, 325677600
tz.transition 1980, 10, :o1, 341398800
tz.transition 1981, 4, :o2, 357127200
tz.transition 1981, 10, :o1, 372848400
tz.transition 1982, 4, :o2, 388576800
tz.transition 1982, 10, :o1, 404902800
tz.transition 1983, 4, :o2, 420026400
tz.transition 1983, 10, :o1, 436352400
tz.transition 1984, 4, :o2, 452080800
tz.transition 1984, 10, :o1, 467802000
tz.transition 1985, 4, :o2, 483530400
tz.transition 1985, 10, :o1, 499251600
tz.transition 1986, 4, :o2, 514980000
tz.transition 1986, 10, :o1, 530701200
tz.transition 1987, 4, :o2, 544615200
tz.transition 1987, 10, :o1, 562150800
tz.transition 1988, 4, :o2, 576064800
tz.transition 1988, 10, :o1, 594205200
tz.transition 1989, 4, :o2, 607514400
tz.transition 1989, 10, :o1, 625654800
tz.transition 1990, 4, :o2, 638964000
tz.transition 1990, 10, :o1, 657104400
tz.transition 1991, 4, :o2, 671018400
tz.transition 1991, 10, :o1, 688554000
tz.transition 1992, 4, :o2, 702468000
tz.transition 1992, 10, :o1, 720003600
tz.transition 1993, 4, :o2, 733917600
tz.transition 1993, 10, :o1, 752058000
tz.transition 1994, 4, :o2, 765367200
tz.transition 1994, 10, :o1, 783507600
tz.transition 1995, 4, :o2, 796816800
tz.transition 1995, 10, :o1, 814957200
tz.transition 1996, 4, :o2, 828871200
tz.transition 1996, 10, :o1, 846406800
tz.transition 1997, 4, :o2, 860320800
tz.transition 1997, 10, :o1, 877856400
tz.transition 1998, 4, :o2, 891770400
tz.transition 1998, 10, :o1, 909306000
tz.transition 1999, 4, :o2, 923220000
tz.transition 1999, 10, :o1, 941360400
tz.transition 2000, 4, :o2, 954669600
tz.transition 2000, 10, :o1, 972810000
tz.transition 2001, 4, :o2, 986119200
tz.transition 2001, 10, :o1, 1004259600
tz.transition 2002, 4, :o2, 1018173600
tz.transition 2002, 10, :o1, 1035709200
tz.transition 2003, 4, :o2, 1049623200
tz.transition 2003, 10, :o1, 1067158800
tz.transition 2004, 4, :o2, 1081072800
tz.transition 2004, 10, :o1, 1099213200
tz.transition 2005, 4, :o2, 1112522400
tz.transition 2005, 10, :o1, 1130662800
tz.transition 2006, 4, :o2, 1143972000
tz.transition 2006, 10, :o1, 1162112400
tz.transition 2007, 3, :o2, 1173607200
tz.transition 2007, 11, :o1, 1194166800
tz.transition 2008, 3, :o2, 1205056800
tz.transition 2008, 11, :o1, 1225616400
tz.transition 2009, 3, :o2, 1236506400
tz.transition 2009, 11, :o1, 1257066000
tz.transition 2010, 3, :o2, 1268560800
tz.transition 2010, 11, :o1, 1289120400
tz.transition 2011, 3, :o2, 1300010400
tz.transition 2011, 11, :o1, 1320570000
tz.transition 2012, 3, :o2, 1331460000
tz.transition 2012, 11, :o1, 1352019600
tz.transition 2013, 3, :o2, 1362909600
tz.transition 2013, 11, :o1, 1383469200
tz.transition 2014, 3, :o2, 1394359200
tz.transition 2014, 11, :o1, 1414918800
tz.transition 2015, 3, :o2, 1425808800
tz.transition 2015, 11, :o1, 1446368400
tz.transition 2016, 3, :o2, 1457863200
tz.transition 2016, 11, :o1, 1478422800
tz.transition 2017, 3, :o2, 1489312800
tz.transition 2017, 11, :o1, 1509872400
tz.transition 2018, 3, :o2, 1520762400
tz.transition 2018, 11, :o1, 1541322000
tz.transition 2019, 3, :o2, 1552212000
tz.transition 2019, 11, :o1, 1572771600
tz.transition 2020, 3, :o2, 1583661600
tz.transition 2020, 11, :o1, 1604221200
tz.transition 2021, 3, :o2, 1615716000
tz.transition 2021, 11, :o1, 1636275600
tz.transition 2022, 3, :o2, 1647165600
tz.transition 2022, 11, :o1, 1667725200
tz.transition 2023, 3, :o2, 1678615200
tz.transition 2023, 11, :o1, 1699174800
tz.transition 2024, 3, :o2, 1710064800
tz.transition 2024, 11, :o1, 1730624400
tz.transition 2025, 3, :o2, 1741514400
tz.transition 2025, 11, :o1, 1762074000
tz.transition 2026, 3, :o2, 1772964000
tz.transition 2026, 11, :o1, 1793523600
tz.transition 2027, 3, :o2, 1805018400
tz.transition 2027, 11, :o1, 1825578000
tz.transition 2028, 3, :o2, 1836468000
tz.transition 2028, 11, :o1, 1857027600
tz.transition 2029, 3, :o2, 1867917600
tz.transition 2029, 11, :o1, 1888477200
tz.transition 2030, 3, :o2, 1899367200
tz.transition 2030, 11, :o1, 1919926800
tz.transition 2031, 3, :o2, 1930816800
tz.transition 2031, 11, :o1, 1951376400
tz.transition 2032, 3, :o2, 1962871200
tz.transition 2032, 11, :o1, 1983430800
tz.transition 2033, 3, :o2, 1994320800
tz.transition 2033, 11, :o1, 2014880400
tz.transition 2034, 3, :o2, 2025770400
tz.transition 2034, 11, :o1, 2046330000
tz.transition 2035, 3, :o2, 2057220000
tz.transition 2035, 11, :o1, 2077779600
tz.transition 2036, 3, :o2, 2088669600
tz.transition 2036, 11, :o1, 2109229200
tz.transition 2037, 3, :o2, 2120119200
tz.transition 2037, 11, :o1, 2140678800
tz.transition 2038, 3, :o2, 29585963, 12
tz.transition 2038, 11, :o1, 19725879, 8
tz.transition 2039, 3, :o2, 29590331, 12
tz.transition 2039, 11, :o1, 19728791, 8
tz.transition 2040, 3, :o2, 29594699, 12
tz.transition 2040, 11, :o1, 19731703, 8
tz.transition 2041, 3, :o2, 29599067, 12
tz.transition 2041, 11, :o1, 19734615, 8
tz.transition 2042, 3, :o2, 29603435, 12
tz.transition 2042, 11, :o1, 19737527, 8
tz.transition 2043, 3, :o2, 29607803, 12
tz.transition 2043, 11, :o1, 19740439, 8
tz.transition 2044, 3, :o2, 29612255, 12
tz.transition 2044, 11, :o1, 19743407, 8
tz.transition 2045, 3, :o2, 29616623, 12
tz.transition 2045, 11, :o1, 19746319, 8
tz.transition 2046, 3, :o2, 29620991, 12
tz.transition 2046, 11, :o1, 19749231, 8
tz.transition 2047, 3, :o2, 29625359, 12
tz.transition 2047, 11, :o1, 19752143, 8
tz.transition 2048, 3, :o2, 29629727, 12
tz.transition 2048, 11, :o1, 19755055, 8
tz.transition 2049, 3, :o2, 29634179, 12
tz.transition 2049, 11, :o1, 19758023, 8
tz.transition 2050, 3, :o2, 29638547, 12
tz.transition 2050, 11, :o1, 19760935, 8
end
end
end
end
end

View File

@@ -0,0 +1,139 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Mazatlan
include TimezoneDefinition
timezone 'America/Mazatlan' do |tz|
tz.offset :o0, -25540, 0, :LMT
tz.offset :o1, -25200, 0, :MST
tz.offset :o2, -21600, 0, :CST
tz.offset :o3, -28800, 0, :PST
tz.offset :o4, -25200, 3600, :MDT
tz.transition 1922, 1, :o1, 58153339, 24
tz.transition 1927, 6, :o2, 9700171, 4
tz.transition 1930, 11, :o1, 9705183, 4
tz.transition 1931, 5, :o2, 9705855, 4
tz.transition 1931, 10, :o1, 9706463, 4
tz.transition 1932, 4, :o2, 58243171, 24
tz.transition 1942, 4, :o1, 9721895, 4
tz.transition 1949, 1, :o3, 58390339, 24
tz.transition 1970, 1, :o1, 28800
tz.transition 1996, 4, :o4, 828867600
tz.transition 1996, 10, :o1, 846403200
tz.transition 1997, 4, :o4, 860317200
tz.transition 1997, 10, :o1, 877852800
tz.transition 1998, 4, :o4, 891766800
tz.transition 1998, 10, :o1, 909302400
tz.transition 1999, 4, :o4, 923216400
tz.transition 1999, 10, :o1, 941356800
tz.transition 2000, 4, :o4, 954666000
tz.transition 2000, 10, :o1, 972806400
tz.transition 2001, 5, :o4, 989139600
tz.transition 2001, 9, :o1, 1001836800
tz.transition 2002, 4, :o4, 1018170000
tz.transition 2002, 10, :o1, 1035705600
tz.transition 2003, 4, :o4, 1049619600
tz.transition 2003, 10, :o1, 1067155200
tz.transition 2004, 4, :o4, 1081069200
tz.transition 2004, 10, :o1, 1099209600
tz.transition 2005, 4, :o4, 1112518800
tz.transition 2005, 10, :o1, 1130659200
tz.transition 2006, 4, :o4, 1143968400
tz.transition 2006, 10, :o1, 1162108800
tz.transition 2007, 4, :o4, 1175418000
tz.transition 2007, 10, :o1, 1193558400
tz.transition 2008, 4, :o4, 1207472400
tz.transition 2008, 10, :o1, 1225008000
tz.transition 2009, 4, :o4, 1238922000
tz.transition 2009, 10, :o1, 1256457600
tz.transition 2010, 4, :o4, 1270371600
tz.transition 2010, 10, :o1, 1288512000
tz.transition 2011, 4, :o4, 1301821200
tz.transition 2011, 10, :o1, 1319961600
tz.transition 2012, 4, :o4, 1333270800
tz.transition 2012, 10, :o1, 1351411200
tz.transition 2013, 4, :o4, 1365325200
tz.transition 2013, 10, :o1, 1382860800
tz.transition 2014, 4, :o4, 1396774800
tz.transition 2014, 10, :o1, 1414310400
tz.transition 2015, 4, :o4, 1428224400
tz.transition 2015, 10, :o1, 1445760000
tz.transition 2016, 4, :o4, 1459674000
tz.transition 2016, 10, :o1, 1477814400
tz.transition 2017, 4, :o4, 1491123600
tz.transition 2017, 10, :o1, 1509264000
tz.transition 2018, 4, :o4, 1522573200
tz.transition 2018, 10, :o1, 1540713600
tz.transition 2019, 4, :o4, 1554627600
tz.transition 2019, 10, :o1, 1572163200
tz.transition 2020, 4, :o4, 1586077200
tz.transition 2020, 10, :o1, 1603612800
tz.transition 2021, 4, :o4, 1617526800
tz.transition 2021, 10, :o1, 1635667200
tz.transition 2022, 4, :o4, 1648976400
tz.transition 2022, 10, :o1, 1667116800
tz.transition 2023, 4, :o4, 1680426000
tz.transition 2023, 10, :o1, 1698566400
tz.transition 2024, 4, :o4, 1712480400
tz.transition 2024, 10, :o1, 1730016000
tz.transition 2025, 4, :o4, 1743930000
tz.transition 2025, 10, :o1, 1761465600
tz.transition 2026, 4, :o4, 1775379600
tz.transition 2026, 10, :o1, 1792915200
tz.transition 2027, 4, :o4, 1806829200
tz.transition 2027, 10, :o1, 1824969600
tz.transition 2028, 4, :o4, 1838278800
tz.transition 2028, 10, :o1, 1856419200
tz.transition 2029, 4, :o4, 1869728400
tz.transition 2029, 10, :o1, 1887868800
tz.transition 2030, 4, :o4, 1901782800
tz.transition 2030, 10, :o1, 1919318400
tz.transition 2031, 4, :o4, 1933232400
tz.transition 2031, 10, :o1, 1950768000
tz.transition 2032, 4, :o4, 1964682000
tz.transition 2032, 10, :o1, 1982822400
tz.transition 2033, 4, :o4, 1996131600
tz.transition 2033, 10, :o1, 2014272000
tz.transition 2034, 4, :o4, 2027581200
tz.transition 2034, 10, :o1, 2045721600
tz.transition 2035, 4, :o4, 2059030800
tz.transition 2035, 10, :o1, 2077171200
tz.transition 2036, 4, :o4, 2091085200
tz.transition 2036, 10, :o1, 2108620800
tz.transition 2037, 4, :o4, 2122534800
tz.transition 2037, 10, :o1, 2140070400
tz.transition 2038, 4, :o4, 19724143, 8
tz.transition 2038, 10, :o1, 14794367, 6
tz.transition 2039, 4, :o4, 19727055, 8
tz.transition 2039, 10, :o1, 14796551, 6
tz.transition 2040, 4, :o4, 19729967, 8
tz.transition 2040, 10, :o1, 14798735, 6
tz.transition 2041, 4, :o4, 19732935, 8
tz.transition 2041, 10, :o1, 14800919, 6
tz.transition 2042, 4, :o4, 19735847, 8
tz.transition 2042, 10, :o1, 14803103, 6
tz.transition 2043, 4, :o4, 19738759, 8
tz.transition 2043, 10, :o1, 14805287, 6
tz.transition 2044, 4, :o4, 19741671, 8
tz.transition 2044, 10, :o1, 14807513, 6
tz.transition 2045, 4, :o4, 19744583, 8
tz.transition 2045, 10, :o1, 14809697, 6
tz.transition 2046, 4, :o4, 19747495, 8
tz.transition 2046, 10, :o1, 14811881, 6
tz.transition 2047, 4, :o4, 19750463, 8
tz.transition 2047, 10, :o1, 14814065, 6
tz.transition 2048, 4, :o4, 19753375, 8
tz.transition 2048, 10, :o1, 14816249, 6
tz.transition 2049, 4, :o4, 19756287, 8
tz.transition 2049, 10, :o1, 14818475, 6
tz.transition 2050, 4, :o4, 19759199, 8
tz.transition 2050, 10, :o1, 14820659, 6
end
end
end
end
end

View File

@@ -0,0 +1,144 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Mexico_City
include TimezoneDefinition
timezone 'America/Mexico_City' do |tz|
tz.offset :o0, -23796, 0, :LMT
tz.offset :o1, -25200, 0, :MST
tz.offset :o2, -21600, 0, :CST
tz.offset :o3, -21600, 3600, :CDT
tz.offset :o4, -21600, 3600, :CWT
tz.transition 1922, 1, :o1, 58153339, 24
tz.transition 1927, 6, :o2, 9700171, 4
tz.transition 1930, 11, :o1, 9705183, 4
tz.transition 1931, 5, :o2, 9705855, 4
tz.transition 1931, 10, :o1, 9706463, 4
tz.transition 1932, 4, :o2, 58243171, 24
tz.transition 1939, 2, :o3, 9717199, 4
tz.transition 1939, 6, :o2, 58306553, 24
tz.transition 1940, 12, :o3, 9719891, 4
tz.transition 1941, 4, :o2, 58322057, 24
tz.transition 1943, 12, :o4, 9724299, 4
tz.transition 1944, 5, :o2, 58349081, 24
tz.transition 1950, 2, :o3, 9733299, 4
tz.transition 1950, 7, :o2, 58403825, 24
tz.transition 1996, 4, :o3, 828864000
tz.transition 1996, 10, :o2, 846399600
tz.transition 1997, 4, :o3, 860313600
tz.transition 1997, 10, :o2, 877849200
tz.transition 1998, 4, :o3, 891763200
tz.transition 1998, 10, :o2, 909298800
tz.transition 1999, 4, :o3, 923212800
tz.transition 1999, 10, :o2, 941353200
tz.transition 2000, 4, :o3, 954662400
tz.transition 2000, 10, :o2, 972802800
tz.transition 2001, 5, :o3, 989136000
tz.transition 2001, 9, :o2, 1001833200
tz.transition 2002, 4, :o3, 1018166400
tz.transition 2002, 10, :o2, 1035702000
tz.transition 2003, 4, :o3, 1049616000
tz.transition 2003, 10, :o2, 1067151600
tz.transition 2004, 4, :o3, 1081065600
tz.transition 2004, 10, :o2, 1099206000
tz.transition 2005, 4, :o3, 1112515200
tz.transition 2005, 10, :o2, 1130655600
tz.transition 2006, 4, :o3, 1143964800
tz.transition 2006, 10, :o2, 1162105200
tz.transition 2007, 4, :o3, 1175414400
tz.transition 2007, 10, :o2, 1193554800
tz.transition 2008, 4, :o3, 1207468800
tz.transition 2008, 10, :o2, 1225004400
tz.transition 2009, 4, :o3, 1238918400
tz.transition 2009, 10, :o2, 1256454000
tz.transition 2010, 4, :o3, 1270368000
tz.transition 2010, 10, :o2, 1288508400
tz.transition 2011, 4, :o3, 1301817600
tz.transition 2011, 10, :o2, 1319958000
tz.transition 2012, 4, :o3, 1333267200
tz.transition 2012, 10, :o2, 1351407600
tz.transition 2013, 4, :o3, 1365321600
tz.transition 2013, 10, :o2, 1382857200
tz.transition 2014, 4, :o3, 1396771200
tz.transition 2014, 10, :o2, 1414306800
tz.transition 2015, 4, :o3, 1428220800
tz.transition 2015, 10, :o2, 1445756400
tz.transition 2016, 4, :o3, 1459670400
tz.transition 2016, 10, :o2, 1477810800
tz.transition 2017, 4, :o3, 1491120000
tz.transition 2017, 10, :o2, 1509260400
tz.transition 2018, 4, :o3, 1522569600
tz.transition 2018, 10, :o2, 1540710000
tz.transition 2019, 4, :o3, 1554624000
tz.transition 2019, 10, :o2, 1572159600
tz.transition 2020, 4, :o3, 1586073600
tz.transition 2020, 10, :o2, 1603609200
tz.transition 2021, 4, :o3, 1617523200
tz.transition 2021, 10, :o2, 1635663600
tz.transition 2022, 4, :o3, 1648972800
tz.transition 2022, 10, :o2, 1667113200
tz.transition 2023, 4, :o3, 1680422400
tz.transition 2023, 10, :o2, 1698562800
tz.transition 2024, 4, :o3, 1712476800
tz.transition 2024, 10, :o2, 1730012400
tz.transition 2025, 4, :o3, 1743926400
tz.transition 2025, 10, :o2, 1761462000
tz.transition 2026, 4, :o3, 1775376000
tz.transition 2026, 10, :o2, 1792911600
tz.transition 2027, 4, :o3, 1806825600
tz.transition 2027, 10, :o2, 1824966000
tz.transition 2028, 4, :o3, 1838275200
tz.transition 2028, 10, :o2, 1856415600
tz.transition 2029, 4, :o3, 1869724800
tz.transition 2029, 10, :o2, 1887865200
tz.transition 2030, 4, :o3, 1901779200
tz.transition 2030, 10, :o2, 1919314800
tz.transition 2031, 4, :o3, 1933228800
tz.transition 2031, 10, :o2, 1950764400
tz.transition 2032, 4, :o3, 1964678400
tz.transition 2032, 10, :o2, 1982818800
tz.transition 2033, 4, :o3, 1996128000
tz.transition 2033, 10, :o2, 2014268400
tz.transition 2034, 4, :o3, 2027577600
tz.transition 2034, 10, :o2, 2045718000
tz.transition 2035, 4, :o3, 2059027200
tz.transition 2035, 10, :o2, 2077167600
tz.transition 2036, 4, :o3, 2091081600
tz.transition 2036, 10, :o2, 2108617200
tz.transition 2037, 4, :o3, 2122531200
tz.transition 2037, 10, :o2, 2140066800
tz.transition 2038, 4, :o3, 14793107, 6
tz.transition 2038, 10, :o2, 59177467, 24
tz.transition 2039, 4, :o3, 14795291, 6
tz.transition 2039, 10, :o2, 59186203, 24
tz.transition 2040, 4, :o3, 14797475, 6
tz.transition 2040, 10, :o2, 59194939, 24
tz.transition 2041, 4, :o3, 14799701, 6
tz.transition 2041, 10, :o2, 59203675, 24
tz.transition 2042, 4, :o3, 14801885, 6
tz.transition 2042, 10, :o2, 59212411, 24
tz.transition 2043, 4, :o3, 14804069, 6
tz.transition 2043, 10, :o2, 59221147, 24
tz.transition 2044, 4, :o3, 14806253, 6
tz.transition 2044, 10, :o2, 59230051, 24
tz.transition 2045, 4, :o3, 14808437, 6
tz.transition 2045, 10, :o2, 59238787, 24
tz.transition 2046, 4, :o3, 14810621, 6
tz.transition 2046, 10, :o2, 59247523, 24
tz.transition 2047, 4, :o3, 14812847, 6
tz.transition 2047, 10, :o2, 59256259, 24
tz.transition 2048, 4, :o3, 14815031, 6
tz.transition 2048, 10, :o2, 59264995, 24
tz.transition 2049, 4, :o3, 14817215, 6
tz.transition 2049, 10, :o2, 59273899, 24
tz.transition 2050, 4, :o3, 14819399, 6
tz.transition 2050, 10, :o2, 59282635, 24
end
end
end
end
end

View File

@@ -0,0 +1,131 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Monterrey
include TimezoneDefinition
timezone 'America/Monterrey' do |tz|
tz.offset :o0, -24076, 0, :LMT
tz.offset :o1, -21600, 0, :CST
tz.offset :o2, -21600, 3600, :CDT
tz.transition 1922, 1, :o1, 9692223, 4
tz.transition 1988, 4, :o2, 576057600
tz.transition 1988, 10, :o1, 594198000
tz.transition 1996, 4, :o2, 828864000
tz.transition 1996, 10, :o1, 846399600
tz.transition 1997, 4, :o2, 860313600
tz.transition 1997, 10, :o1, 877849200
tz.transition 1998, 4, :o2, 891763200
tz.transition 1998, 10, :o1, 909298800
tz.transition 1999, 4, :o2, 923212800
tz.transition 1999, 10, :o1, 941353200
tz.transition 2000, 4, :o2, 954662400
tz.transition 2000, 10, :o1, 972802800
tz.transition 2001, 5, :o2, 989136000
tz.transition 2001, 9, :o1, 1001833200
tz.transition 2002, 4, :o2, 1018166400
tz.transition 2002, 10, :o1, 1035702000
tz.transition 2003, 4, :o2, 1049616000
tz.transition 2003, 10, :o1, 1067151600
tz.transition 2004, 4, :o2, 1081065600
tz.transition 2004, 10, :o1, 1099206000
tz.transition 2005, 4, :o2, 1112515200
tz.transition 2005, 10, :o1, 1130655600
tz.transition 2006, 4, :o2, 1143964800
tz.transition 2006, 10, :o1, 1162105200
tz.transition 2007, 4, :o2, 1175414400
tz.transition 2007, 10, :o1, 1193554800
tz.transition 2008, 4, :o2, 1207468800
tz.transition 2008, 10, :o1, 1225004400
tz.transition 2009, 4, :o2, 1238918400
tz.transition 2009, 10, :o1, 1256454000
tz.transition 2010, 4, :o2, 1270368000
tz.transition 2010, 10, :o1, 1288508400
tz.transition 2011, 4, :o2, 1301817600
tz.transition 2011, 10, :o1, 1319958000
tz.transition 2012, 4, :o2, 1333267200
tz.transition 2012, 10, :o1, 1351407600
tz.transition 2013, 4, :o2, 1365321600
tz.transition 2013, 10, :o1, 1382857200
tz.transition 2014, 4, :o2, 1396771200
tz.transition 2014, 10, :o1, 1414306800
tz.transition 2015, 4, :o2, 1428220800
tz.transition 2015, 10, :o1, 1445756400
tz.transition 2016, 4, :o2, 1459670400
tz.transition 2016, 10, :o1, 1477810800
tz.transition 2017, 4, :o2, 1491120000
tz.transition 2017, 10, :o1, 1509260400
tz.transition 2018, 4, :o2, 1522569600
tz.transition 2018, 10, :o1, 1540710000
tz.transition 2019, 4, :o2, 1554624000
tz.transition 2019, 10, :o1, 1572159600
tz.transition 2020, 4, :o2, 1586073600
tz.transition 2020, 10, :o1, 1603609200
tz.transition 2021, 4, :o2, 1617523200
tz.transition 2021, 10, :o1, 1635663600
tz.transition 2022, 4, :o2, 1648972800
tz.transition 2022, 10, :o1, 1667113200
tz.transition 2023, 4, :o2, 1680422400
tz.transition 2023, 10, :o1, 1698562800
tz.transition 2024, 4, :o2, 1712476800
tz.transition 2024, 10, :o1, 1730012400
tz.transition 2025, 4, :o2, 1743926400
tz.transition 2025, 10, :o1, 1761462000
tz.transition 2026, 4, :o2, 1775376000
tz.transition 2026, 10, :o1, 1792911600
tz.transition 2027, 4, :o2, 1806825600
tz.transition 2027, 10, :o1, 1824966000
tz.transition 2028, 4, :o2, 1838275200
tz.transition 2028, 10, :o1, 1856415600
tz.transition 2029, 4, :o2, 1869724800
tz.transition 2029, 10, :o1, 1887865200
tz.transition 2030, 4, :o2, 1901779200
tz.transition 2030, 10, :o1, 1919314800
tz.transition 2031, 4, :o2, 1933228800
tz.transition 2031, 10, :o1, 1950764400
tz.transition 2032, 4, :o2, 1964678400
tz.transition 2032, 10, :o1, 1982818800
tz.transition 2033, 4, :o2, 1996128000
tz.transition 2033, 10, :o1, 2014268400
tz.transition 2034, 4, :o2, 2027577600
tz.transition 2034, 10, :o1, 2045718000
tz.transition 2035, 4, :o2, 2059027200
tz.transition 2035, 10, :o1, 2077167600
tz.transition 2036, 4, :o2, 2091081600
tz.transition 2036, 10, :o1, 2108617200
tz.transition 2037, 4, :o2, 2122531200
tz.transition 2037, 10, :o1, 2140066800
tz.transition 2038, 4, :o2, 14793107, 6
tz.transition 2038, 10, :o1, 59177467, 24
tz.transition 2039, 4, :o2, 14795291, 6
tz.transition 2039, 10, :o1, 59186203, 24
tz.transition 2040, 4, :o2, 14797475, 6
tz.transition 2040, 10, :o1, 59194939, 24
tz.transition 2041, 4, :o2, 14799701, 6
tz.transition 2041, 10, :o1, 59203675, 24
tz.transition 2042, 4, :o2, 14801885, 6
tz.transition 2042, 10, :o1, 59212411, 24
tz.transition 2043, 4, :o2, 14804069, 6
tz.transition 2043, 10, :o1, 59221147, 24
tz.transition 2044, 4, :o2, 14806253, 6
tz.transition 2044, 10, :o1, 59230051, 24
tz.transition 2045, 4, :o2, 14808437, 6
tz.transition 2045, 10, :o1, 59238787, 24
tz.transition 2046, 4, :o2, 14810621, 6
tz.transition 2046, 10, :o1, 59247523, 24
tz.transition 2047, 4, :o2, 14812847, 6
tz.transition 2047, 10, :o1, 59256259, 24
tz.transition 2048, 4, :o2, 14815031, 6
tz.transition 2048, 10, :o1, 59264995, 24
tz.transition 2049, 4, :o2, 14817215, 6
tz.transition 2049, 10, :o1, 59273899, 24
tz.transition 2050, 4, :o2, 14819399, 6
tz.transition 2050, 10, :o1, 59282635, 24
end
end
end
end
end

View File

@@ -0,0 +1,282 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module New_York
include TimezoneDefinition
timezone 'America/New_York' do |tz|
tz.offset :o0, -17762, 0, :LMT
tz.offset :o1, -18000, 0, :EST
tz.offset :o2, -18000, 3600, :EDT
tz.offset :o3, -18000, 3600, :EWT
tz.offset :o4, -18000, 3600, :EPT
tz.transition 1883, 11, :o1, 57819197, 24
tz.transition 1918, 3, :o2, 58120411, 24
tz.transition 1918, 10, :o1, 9687575, 4
tz.transition 1919, 3, :o2, 58129147, 24
tz.transition 1919, 10, :o1, 9689031, 4
tz.transition 1920, 3, :o2, 58137883, 24
tz.transition 1920, 10, :o1, 9690515, 4
tz.transition 1921, 4, :o2, 58147291, 24
tz.transition 1921, 9, :o1, 9691831, 4
tz.transition 1922, 4, :o2, 58156195, 24
tz.transition 1922, 9, :o1, 9693287, 4
tz.transition 1923, 4, :o2, 58164931, 24
tz.transition 1923, 9, :o1, 9694771, 4
tz.transition 1924, 4, :o2, 58173667, 24
tz.transition 1924, 9, :o1, 9696227, 4
tz.transition 1925, 4, :o2, 58182403, 24
tz.transition 1925, 9, :o1, 9697683, 4
tz.transition 1926, 4, :o2, 58191139, 24
tz.transition 1926, 9, :o1, 9699139, 4
tz.transition 1927, 4, :o2, 58199875, 24
tz.transition 1927, 9, :o1, 9700595, 4
tz.transition 1928, 4, :o2, 58208779, 24
tz.transition 1928, 9, :o1, 9702079, 4
tz.transition 1929, 4, :o2, 58217515, 24
tz.transition 1929, 9, :o1, 9703535, 4
tz.transition 1930, 4, :o2, 58226251, 24
tz.transition 1930, 9, :o1, 9704991, 4
tz.transition 1931, 4, :o2, 58234987, 24
tz.transition 1931, 9, :o1, 9706447, 4
tz.transition 1932, 4, :o2, 58243723, 24
tz.transition 1932, 9, :o1, 9707903, 4
tz.transition 1933, 4, :o2, 58252627, 24
tz.transition 1933, 9, :o1, 9709359, 4
tz.transition 1934, 4, :o2, 58261363, 24
tz.transition 1934, 9, :o1, 9710843, 4
tz.transition 1935, 4, :o2, 58270099, 24
tz.transition 1935, 9, :o1, 9712299, 4
tz.transition 1936, 4, :o2, 58278835, 24
tz.transition 1936, 9, :o1, 9713755, 4
tz.transition 1937, 4, :o2, 58287571, 24
tz.transition 1937, 9, :o1, 9715211, 4
tz.transition 1938, 4, :o2, 58296307, 24
tz.transition 1938, 9, :o1, 9716667, 4
tz.transition 1939, 4, :o2, 58305211, 24
tz.transition 1939, 9, :o1, 9718123, 4
tz.transition 1940, 4, :o2, 58313947, 24
tz.transition 1940, 9, :o1, 9719607, 4
tz.transition 1941, 4, :o2, 58322683, 24
tz.transition 1941, 9, :o1, 9721063, 4
tz.transition 1942, 2, :o3, 58329595, 24
tz.transition 1945, 8, :o4, 58360379, 24
tz.transition 1945, 9, :o1, 9726915, 4
tz.transition 1946, 4, :o2, 58366531, 24
tz.transition 1946, 9, :o1, 9728371, 4
tz.transition 1947, 4, :o2, 58375267, 24
tz.transition 1947, 9, :o1, 9729827, 4
tz.transition 1948, 4, :o2, 58384003, 24
tz.transition 1948, 9, :o1, 9731283, 4
tz.transition 1949, 4, :o2, 58392739, 24
tz.transition 1949, 9, :o1, 9732739, 4
tz.transition 1950, 4, :o2, 58401643, 24
tz.transition 1950, 9, :o1, 9734195, 4
tz.transition 1951, 4, :o2, 58410379, 24
tz.transition 1951, 9, :o1, 9735679, 4
tz.transition 1952, 4, :o2, 58419115, 24
tz.transition 1952, 9, :o1, 9737135, 4
tz.transition 1953, 4, :o2, 58427851, 24
tz.transition 1953, 9, :o1, 9738591, 4
tz.transition 1954, 4, :o2, 58436587, 24
tz.transition 1954, 9, :o1, 9740047, 4
tz.transition 1955, 4, :o2, 58445323, 24
tz.transition 1955, 10, :o1, 9741643, 4
tz.transition 1956, 4, :o2, 58454227, 24
tz.transition 1956, 10, :o1, 9743099, 4
tz.transition 1957, 4, :o2, 58462963, 24
tz.transition 1957, 10, :o1, 9744555, 4
tz.transition 1958, 4, :o2, 58471699, 24
tz.transition 1958, 10, :o1, 9746011, 4
tz.transition 1959, 4, :o2, 58480435, 24
tz.transition 1959, 10, :o1, 9747467, 4
tz.transition 1960, 4, :o2, 58489171, 24
tz.transition 1960, 10, :o1, 9748951, 4
tz.transition 1961, 4, :o2, 58498075, 24
tz.transition 1961, 10, :o1, 9750407, 4
tz.transition 1962, 4, :o2, 58506811, 24
tz.transition 1962, 10, :o1, 9751863, 4
tz.transition 1963, 4, :o2, 58515547, 24
tz.transition 1963, 10, :o1, 9753319, 4
tz.transition 1964, 4, :o2, 58524283, 24
tz.transition 1964, 10, :o1, 9754775, 4
tz.transition 1965, 4, :o2, 58533019, 24
tz.transition 1965, 10, :o1, 9756259, 4
tz.transition 1966, 4, :o2, 58541755, 24
tz.transition 1966, 10, :o1, 9757715, 4
tz.transition 1967, 4, :o2, 58550659, 24
tz.transition 1967, 10, :o1, 9759171, 4
tz.transition 1968, 4, :o2, 58559395, 24
tz.transition 1968, 10, :o1, 9760627, 4
tz.transition 1969, 4, :o2, 58568131, 24
tz.transition 1969, 10, :o1, 9762083, 4
tz.transition 1970, 4, :o2, 9961200
tz.transition 1970, 10, :o1, 25682400
tz.transition 1971, 4, :o2, 41410800
tz.transition 1971, 10, :o1, 57736800
tz.transition 1972, 4, :o2, 73465200
tz.transition 1972, 10, :o1, 89186400
tz.transition 1973, 4, :o2, 104914800
tz.transition 1973, 10, :o1, 120636000
tz.transition 1974, 1, :o2, 126687600
tz.transition 1974, 10, :o1, 152085600
tz.transition 1975, 2, :o2, 162370800
tz.transition 1975, 10, :o1, 183535200
tz.transition 1976, 4, :o2, 199263600
tz.transition 1976, 10, :o1, 215589600
tz.transition 1977, 4, :o2, 230713200
tz.transition 1977, 10, :o1, 247039200
tz.transition 1978, 4, :o2, 262767600
tz.transition 1978, 10, :o1, 278488800
tz.transition 1979, 4, :o2, 294217200
tz.transition 1979, 10, :o1, 309938400
tz.transition 1980, 4, :o2, 325666800
tz.transition 1980, 10, :o1, 341388000
tz.transition 1981, 4, :o2, 357116400
tz.transition 1981, 10, :o1, 372837600
tz.transition 1982, 4, :o2, 388566000
tz.transition 1982, 10, :o1, 404892000
tz.transition 1983, 4, :o2, 420015600
tz.transition 1983, 10, :o1, 436341600
tz.transition 1984, 4, :o2, 452070000
tz.transition 1984, 10, :o1, 467791200
tz.transition 1985, 4, :o2, 483519600
tz.transition 1985, 10, :o1, 499240800
tz.transition 1986, 4, :o2, 514969200
tz.transition 1986, 10, :o1, 530690400
tz.transition 1987, 4, :o2, 544604400
tz.transition 1987, 10, :o1, 562140000
tz.transition 1988, 4, :o2, 576054000
tz.transition 1988, 10, :o1, 594194400
tz.transition 1989, 4, :o2, 607503600
tz.transition 1989, 10, :o1, 625644000
tz.transition 1990, 4, :o2, 638953200
tz.transition 1990, 10, :o1, 657093600
tz.transition 1991, 4, :o2, 671007600
tz.transition 1991, 10, :o1, 688543200
tz.transition 1992, 4, :o2, 702457200
tz.transition 1992, 10, :o1, 719992800
tz.transition 1993, 4, :o2, 733906800
tz.transition 1993, 10, :o1, 752047200
tz.transition 1994, 4, :o2, 765356400
tz.transition 1994, 10, :o1, 783496800
tz.transition 1995, 4, :o2, 796806000
tz.transition 1995, 10, :o1, 814946400
tz.transition 1996, 4, :o2, 828860400
tz.transition 1996, 10, :o1, 846396000
tz.transition 1997, 4, :o2, 860310000
tz.transition 1997, 10, :o1, 877845600
tz.transition 1998, 4, :o2, 891759600
tz.transition 1998, 10, :o1, 909295200
tz.transition 1999, 4, :o2, 923209200
tz.transition 1999, 10, :o1, 941349600
tz.transition 2000, 4, :o2, 954658800
tz.transition 2000, 10, :o1, 972799200
tz.transition 2001, 4, :o2, 986108400
tz.transition 2001, 10, :o1, 1004248800
tz.transition 2002, 4, :o2, 1018162800
tz.transition 2002, 10, :o1, 1035698400
tz.transition 2003, 4, :o2, 1049612400
tz.transition 2003, 10, :o1, 1067148000
tz.transition 2004, 4, :o2, 1081062000
tz.transition 2004, 10, :o1, 1099202400
tz.transition 2005, 4, :o2, 1112511600
tz.transition 2005, 10, :o1, 1130652000
tz.transition 2006, 4, :o2, 1143961200
tz.transition 2006, 10, :o1, 1162101600
tz.transition 2007, 3, :o2, 1173596400
tz.transition 2007, 11, :o1, 1194156000
tz.transition 2008, 3, :o2, 1205046000
tz.transition 2008, 11, :o1, 1225605600
tz.transition 2009, 3, :o2, 1236495600
tz.transition 2009, 11, :o1, 1257055200
tz.transition 2010, 3, :o2, 1268550000
tz.transition 2010, 11, :o1, 1289109600
tz.transition 2011, 3, :o2, 1299999600
tz.transition 2011, 11, :o1, 1320559200
tz.transition 2012, 3, :o2, 1331449200
tz.transition 2012, 11, :o1, 1352008800
tz.transition 2013, 3, :o2, 1362898800
tz.transition 2013, 11, :o1, 1383458400
tz.transition 2014, 3, :o2, 1394348400
tz.transition 2014, 11, :o1, 1414908000
tz.transition 2015, 3, :o2, 1425798000
tz.transition 2015, 11, :o1, 1446357600
tz.transition 2016, 3, :o2, 1457852400
tz.transition 2016, 11, :o1, 1478412000
tz.transition 2017, 3, :o2, 1489302000
tz.transition 2017, 11, :o1, 1509861600
tz.transition 2018, 3, :o2, 1520751600
tz.transition 2018, 11, :o1, 1541311200
tz.transition 2019, 3, :o2, 1552201200
tz.transition 2019, 11, :o1, 1572760800
tz.transition 2020, 3, :o2, 1583650800
tz.transition 2020, 11, :o1, 1604210400
tz.transition 2021, 3, :o2, 1615705200
tz.transition 2021, 11, :o1, 1636264800
tz.transition 2022, 3, :o2, 1647154800
tz.transition 2022, 11, :o1, 1667714400
tz.transition 2023, 3, :o2, 1678604400
tz.transition 2023, 11, :o1, 1699164000
tz.transition 2024, 3, :o2, 1710054000
tz.transition 2024, 11, :o1, 1730613600
tz.transition 2025, 3, :o2, 1741503600
tz.transition 2025, 11, :o1, 1762063200
tz.transition 2026, 3, :o2, 1772953200
tz.transition 2026, 11, :o1, 1793512800
tz.transition 2027, 3, :o2, 1805007600
tz.transition 2027, 11, :o1, 1825567200
tz.transition 2028, 3, :o2, 1836457200
tz.transition 2028, 11, :o1, 1857016800
tz.transition 2029, 3, :o2, 1867906800
tz.transition 2029, 11, :o1, 1888466400
tz.transition 2030, 3, :o2, 1899356400
tz.transition 2030, 11, :o1, 1919916000
tz.transition 2031, 3, :o2, 1930806000
tz.transition 2031, 11, :o1, 1951365600
tz.transition 2032, 3, :o2, 1962860400
tz.transition 2032, 11, :o1, 1983420000
tz.transition 2033, 3, :o2, 1994310000
tz.transition 2033, 11, :o1, 2014869600
tz.transition 2034, 3, :o2, 2025759600
tz.transition 2034, 11, :o1, 2046319200
tz.transition 2035, 3, :o2, 2057209200
tz.transition 2035, 11, :o1, 2077768800
tz.transition 2036, 3, :o2, 2088658800
tz.transition 2036, 11, :o1, 2109218400
tz.transition 2037, 3, :o2, 2120108400
tz.transition 2037, 11, :o1, 2140668000
tz.transition 2038, 3, :o2, 59171923, 24
tz.transition 2038, 11, :o1, 9862939, 4
tz.transition 2039, 3, :o2, 59180659, 24
tz.transition 2039, 11, :o1, 9864395, 4
tz.transition 2040, 3, :o2, 59189395, 24
tz.transition 2040, 11, :o1, 9865851, 4
tz.transition 2041, 3, :o2, 59198131, 24
tz.transition 2041, 11, :o1, 9867307, 4
tz.transition 2042, 3, :o2, 59206867, 24
tz.transition 2042, 11, :o1, 9868763, 4
tz.transition 2043, 3, :o2, 59215603, 24
tz.transition 2043, 11, :o1, 9870219, 4
tz.transition 2044, 3, :o2, 59224507, 24
tz.transition 2044, 11, :o1, 9871703, 4
tz.transition 2045, 3, :o2, 59233243, 24
tz.transition 2045, 11, :o1, 9873159, 4
tz.transition 2046, 3, :o2, 59241979, 24
tz.transition 2046, 11, :o1, 9874615, 4
tz.transition 2047, 3, :o2, 59250715, 24
tz.transition 2047, 11, :o1, 9876071, 4
tz.transition 2048, 3, :o2, 59259451, 24
tz.transition 2048, 11, :o1, 9877527, 4
tz.transition 2049, 3, :o2, 59268355, 24
tz.transition 2049, 11, :o1, 9879011, 4
tz.transition 2050, 3, :o2, 59277091, 24
tz.transition 2050, 11, :o1, 9880467, 4
end
end
end
end
end

View File

@@ -0,0 +1,30 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Phoenix
include TimezoneDefinition
timezone 'America/Phoenix' do |tz|
tz.offset :o0, -26898, 0, :LMT
tz.offset :o1, -25200, 0, :MST
tz.offset :o2, -25200, 3600, :MDT
tz.offset :o3, -25200, 3600, :MWT
tz.transition 1883, 11, :o1, 57819199, 24
tz.transition 1918, 3, :o2, 19373471, 8
tz.transition 1918, 10, :o1, 14531363, 6
tz.transition 1919, 3, :o2, 19376383, 8
tz.transition 1919, 10, :o1, 14533547, 6
tz.transition 1942, 2, :o3, 19443199, 8
tz.transition 1944, 1, :o1, 3500770681, 1440
tz.transition 1944, 4, :o3, 3500901781, 1440
tz.transition 1944, 10, :o1, 3501165241, 1440
tz.transition 1967, 4, :o2, 19516887, 8
tz.transition 1967, 10, :o1, 14638757, 6
end
end
end
end
end

View File

@@ -0,0 +1,74 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Regina
include TimezoneDefinition
timezone 'America/Regina' do |tz|
tz.offset :o0, -25116, 0, :LMT
tz.offset :o1, -25200, 0, :MST
tz.offset :o2, -25200, 3600, :MDT
tz.offset :o3, -25200, 3600, :MWT
tz.offset :o4, -25200, 3600, :MPT
tz.offset :o5, -21600, 0, :CST
tz.transition 1905, 9, :o1, 17403046493, 7200
tz.transition 1918, 4, :o2, 19373583, 8
tz.transition 1918, 10, :o1, 14531387, 6
tz.transition 1930, 5, :o2, 58226419, 24
tz.transition 1930, 10, :o1, 9705019, 4
tz.transition 1931, 5, :o2, 58235155, 24
tz.transition 1931, 10, :o1, 9706475, 4
tz.transition 1932, 5, :o2, 58243891, 24
tz.transition 1932, 10, :o1, 9707931, 4
tz.transition 1933, 5, :o2, 58252795, 24
tz.transition 1933, 10, :o1, 9709387, 4
tz.transition 1934, 5, :o2, 58261531, 24
tz.transition 1934, 10, :o1, 9710871, 4
tz.transition 1937, 4, :o2, 58287235, 24
tz.transition 1937, 10, :o1, 9715267, 4
tz.transition 1938, 4, :o2, 58295971, 24
tz.transition 1938, 10, :o1, 9716695, 4
tz.transition 1939, 4, :o2, 58304707, 24
tz.transition 1939, 10, :o1, 9718179, 4
tz.transition 1940, 4, :o2, 58313611, 24
tz.transition 1940, 10, :o1, 9719663, 4
tz.transition 1941, 4, :o2, 58322347, 24
tz.transition 1941, 10, :o1, 9721119, 4
tz.transition 1942, 2, :o3, 19443199, 8
tz.transition 1945, 8, :o4, 58360379, 24
tz.transition 1945, 9, :o1, 14590373, 6
tz.transition 1946, 4, :o2, 19455399, 8
tz.transition 1946, 10, :o1, 14592641, 6
tz.transition 1947, 4, :o2, 19458423, 8
tz.transition 1947, 9, :o1, 14594741, 6
tz.transition 1948, 4, :o2, 19461335, 8
tz.transition 1948, 9, :o1, 14596925, 6
tz.transition 1949, 4, :o2, 19464247, 8
tz.transition 1949, 9, :o1, 14599109, 6
tz.transition 1950, 4, :o2, 19467215, 8
tz.transition 1950, 9, :o1, 14601293, 6
tz.transition 1951, 4, :o2, 19470127, 8
tz.transition 1951, 9, :o1, 14603519, 6
tz.transition 1952, 4, :o2, 19473039, 8
tz.transition 1952, 9, :o1, 14605703, 6
tz.transition 1953, 4, :o2, 19475951, 8
tz.transition 1953, 9, :o1, 14607887, 6
tz.transition 1954, 4, :o2, 19478863, 8
tz.transition 1954, 9, :o1, 14610071, 6
tz.transition 1955, 4, :o2, 19481775, 8
tz.transition 1955, 9, :o1, 14612255, 6
tz.transition 1956, 4, :o2, 19484743, 8
tz.transition 1956, 9, :o1, 14614481, 6
tz.transition 1957, 4, :o2, 19487655, 8
tz.transition 1957, 9, :o1, 14616665, 6
tz.transition 1959, 4, :o2, 19493479, 8
tz.transition 1959, 10, :o1, 14621201, 6
tz.transition 1960, 4, :o5, 19496391, 8
end
end
end
end
end

View File

@@ -0,0 +1,205 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Santiago
include TimezoneDefinition
timezone 'America/Santiago' do |tz|
tz.offset :o0, -16966, 0, :LMT
tz.offset :o1, -16966, 0, :SMT
tz.offset :o2, -18000, 0, :CLT
tz.offset :o3, -14400, 0, :CLT
tz.offset :o4, -18000, 3600, :CLST
tz.offset :o5, -14400, 3600, :CLST
tz.transition 1890, 1, :o1, 104171127683, 43200
tz.transition 1910, 1, :o2, 104486660483, 43200
tz.transition 1916, 7, :o1, 58105097, 24
tz.transition 1918, 9, :o3, 104623388483, 43200
tz.transition 1919, 7, :o1, 7266422, 3
tz.transition 1927, 9, :o4, 104765386883, 43200
tz.transition 1928, 4, :o2, 7276013, 3
tz.transition 1928, 9, :o4, 58211777, 24
tz.transition 1929, 4, :o2, 7277108, 3
tz.transition 1929, 9, :o4, 58220537, 24
tz.transition 1930, 4, :o2, 7278203, 3
tz.transition 1930, 9, :o4, 58229297, 24
tz.transition 1931, 4, :o2, 7279298, 3
tz.transition 1931, 9, :o4, 58238057, 24
tz.transition 1932, 4, :o2, 7280396, 3
tz.transition 1932, 9, :o4, 58246841, 24
tz.transition 1942, 6, :o2, 7291535, 3
tz.transition 1942, 8, :o4, 58333745, 24
tz.transition 1946, 9, :o2, 19456517, 8
tz.transition 1947, 5, :o3, 58375865, 24
tz.transition 1968, 11, :o5, 7320491, 3
tz.transition 1969, 3, :o3, 19522485, 8
tz.transition 1969, 11, :o5, 7321646, 3
tz.transition 1970, 3, :o3, 7527600
tz.transition 1970, 10, :o5, 24465600
tz.transition 1971, 3, :o3, 37767600
tz.transition 1971, 10, :o5, 55915200
tz.transition 1972, 3, :o3, 69217200
tz.transition 1972, 10, :o5, 87969600
tz.transition 1973, 3, :o3, 100666800
tz.transition 1973, 9, :o5, 118209600
tz.transition 1974, 3, :o3, 132116400
tz.transition 1974, 10, :o5, 150868800
tz.transition 1975, 3, :o3, 163566000
tz.transition 1975, 10, :o5, 182318400
tz.transition 1976, 3, :o3, 195620400
tz.transition 1976, 10, :o5, 213768000
tz.transition 1977, 3, :o3, 227070000
tz.transition 1977, 10, :o5, 245217600
tz.transition 1978, 3, :o3, 258519600
tz.transition 1978, 10, :o5, 277272000
tz.transition 1979, 3, :o3, 289969200
tz.transition 1979, 10, :o5, 308721600
tz.transition 1980, 3, :o3, 321418800
tz.transition 1980, 10, :o5, 340171200
tz.transition 1981, 3, :o3, 353473200
tz.transition 1981, 10, :o5, 371620800
tz.transition 1982, 3, :o3, 384922800
tz.transition 1982, 10, :o5, 403070400
tz.transition 1983, 3, :o3, 416372400
tz.transition 1983, 10, :o5, 434520000
tz.transition 1984, 3, :o3, 447822000
tz.transition 1984, 10, :o5, 466574400
tz.transition 1985, 3, :o3, 479271600
tz.transition 1985, 10, :o5, 498024000
tz.transition 1986, 3, :o3, 510721200
tz.transition 1986, 10, :o5, 529473600
tz.transition 1987, 4, :o3, 545194800
tz.transition 1987, 10, :o5, 560923200
tz.transition 1988, 3, :o3, 574225200
tz.transition 1988, 10, :o5, 591768000
tz.transition 1989, 3, :o3, 605674800
tz.transition 1989, 10, :o5, 624427200
tz.transition 1990, 3, :o3, 637729200
tz.transition 1990, 9, :o5, 653457600
tz.transition 1991, 3, :o3, 668574000
tz.transition 1991, 10, :o5, 687326400
tz.transition 1992, 3, :o3, 700628400
tz.transition 1992, 10, :o5, 718776000
tz.transition 1993, 3, :o3, 732078000
tz.transition 1993, 10, :o5, 750225600
tz.transition 1994, 3, :o3, 763527600
tz.transition 1994, 10, :o5, 781675200
tz.transition 1995, 3, :o3, 794977200
tz.transition 1995, 10, :o5, 813729600
tz.transition 1996, 3, :o3, 826426800
tz.transition 1996, 10, :o5, 845179200
tz.transition 1997, 3, :o3, 859690800
tz.transition 1997, 10, :o5, 876628800
tz.transition 1998, 3, :o3, 889930800
tz.transition 1998, 9, :o5, 906868800
tz.transition 1999, 4, :o3, 923194800
tz.transition 1999, 10, :o5, 939528000
tz.transition 2000, 3, :o3, 952830000
tz.transition 2000, 10, :o5, 971582400
tz.transition 2001, 3, :o3, 984279600
tz.transition 2001, 10, :o5, 1003032000
tz.transition 2002, 3, :o3, 1015729200
tz.transition 2002, 10, :o5, 1034481600
tz.transition 2003, 3, :o3, 1047178800
tz.transition 2003, 10, :o5, 1065931200
tz.transition 2004, 3, :o3, 1079233200
tz.transition 2004, 10, :o5, 1097380800
tz.transition 2005, 3, :o3, 1110682800
tz.transition 2005, 10, :o5, 1128830400
tz.transition 2006, 3, :o3, 1142132400
tz.transition 2006, 10, :o5, 1160884800
tz.transition 2007, 3, :o3, 1173582000
tz.transition 2007, 10, :o5, 1192334400
tz.transition 2008, 3, :o3, 1206846000
tz.transition 2008, 10, :o5, 1223784000
tz.transition 2009, 3, :o3, 1237086000
tz.transition 2009, 10, :o5, 1255233600
tz.transition 2010, 3, :o3, 1268535600
tz.transition 2010, 10, :o5, 1286683200
tz.transition 2011, 3, :o3, 1299985200
tz.transition 2011, 10, :o5, 1318132800
tz.transition 2012, 3, :o3, 1331434800
tz.transition 2012, 10, :o5, 1350187200
tz.transition 2013, 3, :o3, 1362884400
tz.transition 2013, 10, :o5, 1381636800
tz.transition 2014, 3, :o3, 1394334000
tz.transition 2014, 10, :o5, 1413086400
tz.transition 2015, 3, :o3, 1426388400
tz.transition 2015, 10, :o5, 1444536000
tz.transition 2016, 3, :o3, 1457838000
tz.transition 2016, 10, :o5, 1475985600
tz.transition 2017, 3, :o3, 1489287600
tz.transition 2017, 10, :o5, 1508040000
tz.transition 2018, 3, :o3, 1520737200
tz.transition 2018, 10, :o5, 1539489600
tz.transition 2019, 3, :o3, 1552186800
tz.transition 2019, 10, :o5, 1570939200
tz.transition 2020, 3, :o3, 1584241200
tz.transition 2020, 10, :o5, 1602388800
tz.transition 2021, 3, :o3, 1615690800
tz.transition 2021, 10, :o5, 1633838400
tz.transition 2022, 3, :o3, 1647140400
tz.transition 2022, 10, :o5, 1665288000
tz.transition 2023, 3, :o3, 1678590000
tz.transition 2023, 10, :o5, 1697342400
tz.transition 2024, 3, :o3, 1710039600
tz.transition 2024, 10, :o5, 1728792000
tz.transition 2025, 3, :o3, 1741489200
tz.transition 2025, 10, :o5, 1760241600
tz.transition 2026, 3, :o3, 1773543600
tz.transition 2026, 10, :o5, 1791691200
tz.transition 2027, 3, :o3, 1804993200
tz.transition 2027, 10, :o5, 1823140800
tz.transition 2028, 3, :o3, 1836442800
tz.transition 2028, 10, :o5, 1855195200
tz.transition 2029, 3, :o3, 1867892400
tz.transition 2029, 10, :o5, 1886644800
tz.transition 2030, 3, :o3, 1899342000
tz.transition 2030, 10, :o5, 1918094400
tz.transition 2031, 3, :o3, 1930791600
tz.transition 2031, 10, :o5, 1949544000
tz.transition 2032, 3, :o3, 1962846000
tz.transition 2032, 10, :o5, 1980993600
tz.transition 2033, 3, :o3, 1994295600
tz.transition 2033, 10, :o5, 2012443200
tz.transition 2034, 3, :o3, 2025745200
tz.transition 2034, 10, :o5, 2044497600
tz.transition 2035, 3, :o3, 2057194800
tz.transition 2035, 10, :o5, 2075947200
tz.transition 2036, 3, :o3, 2088644400
tz.transition 2036, 10, :o5, 2107396800
tz.transition 2037, 3, :o3, 2120698800
tz.transition 2037, 10, :o5, 2138846400
tz.transition 2038, 3, :o3, 19723973, 8
tz.transition 2038, 10, :o5, 7397120, 3
tz.transition 2039, 3, :o3, 19726885, 8
tz.transition 2039, 10, :o5, 7398212, 3
tz.transition 2040, 3, :o3, 19729797, 8
tz.transition 2040, 10, :o5, 7399325, 3
tz.transition 2041, 3, :o3, 19732709, 8
tz.transition 2041, 10, :o5, 7400417, 3
tz.transition 2042, 3, :o3, 19735621, 8
tz.transition 2042, 10, :o5, 7401509, 3
tz.transition 2043, 3, :o3, 19738589, 8
tz.transition 2043, 10, :o5, 7402601, 3
tz.transition 2044, 3, :o3, 19741501, 8
tz.transition 2044, 10, :o5, 7403693, 3
tz.transition 2045, 3, :o3, 19744413, 8
tz.transition 2045, 10, :o5, 7404806, 3
tz.transition 2046, 3, :o3, 19747325, 8
tz.transition 2046, 10, :o5, 7405898, 3
tz.transition 2047, 3, :o3, 19750237, 8
tz.transition 2047, 10, :o5, 7406990, 3
tz.transition 2048, 3, :o3, 19753205, 8
tz.transition 2048, 10, :o5, 7408082, 3
tz.transition 2049, 3, :o3, 19756117, 8
tz.transition 2049, 10, :o5, 7409174, 3
tz.transition 2050, 3, :o3, 19759029, 8
end
end
end
end
end

View File

@@ -0,0 +1,171 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Sao_Paulo
include TimezoneDefinition
timezone 'America/Sao_Paulo' do |tz|
tz.offset :o0, -11188, 0, :LMT
tz.offset :o1, -10800, 0, :BRT
tz.offset :o2, -10800, 3600, :BRST
tz.transition 1914, 1, :o1, 52274886397, 21600
tz.transition 1931, 10, :o2, 29119417, 12
tz.transition 1932, 4, :o1, 29121583, 12
tz.transition 1932, 10, :o2, 19415869, 8
tz.transition 1933, 4, :o1, 29125963, 12
tz.transition 1949, 12, :o2, 19466013, 8
tz.transition 1950, 4, :o1, 19467101, 8
tz.transition 1950, 12, :o2, 19468933, 8
tz.transition 1951, 4, :o1, 29204851, 12
tz.transition 1951, 12, :o2, 19471853, 8
tz.transition 1952, 4, :o1, 29209243, 12
tz.transition 1952, 12, :o2, 19474781, 8
tz.transition 1953, 3, :o1, 29213251, 12
tz.transition 1963, 10, :o2, 19506605, 8
tz.transition 1964, 3, :o1, 29261467, 12
tz.transition 1965, 1, :o2, 19510333, 8
tz.transition 1965, 3, :o1, 29266207, 12
tz.transition 1965, 12, :o2, 19512765, 8
tz.transition 1966, 3, :o1, 29270227, 12
tz.transition 1966, 11, :o2, 19515445, 8
tz.transition 1967, 3, :o1, 29274607, 12
tz.transition 1967, 11, :o2, 19518365, 8
tz.transition 1968, 3, :o1, 29278999, 12
tz.transition 1985, 11, :o2, 499748400
tz.transition 1986, 3, :o1, 511236000
tz.transition 1986, 10, :o2, 530593200
tz.transition 1987, 2, :o1, 540266400
tz.transition 1987, 10, :o2, 562129200
tz.transition 1988, 2, :o1, 571197600
tz.transition 1988, 10, :o2, 592974000
tz.transition 1989, 1, :o1, 602042400
tz.transition 1989, 10, :o2, 624423600
tz.transition 1990, 2, :o1, 634701600
tz.transition 1990, 10, :o2, 656478000
tz.transition 1991, 2, :o1, 666756000
tz.transition 1991, 10, :o2, 687927600
tz.transition 1992, 2, :o1, 697600800
tz.transition 1992, 10, :o2, 719982000
tz.transition 1993, 1, :o1, 728445600
tz.transition 1993, 10, :o2, 750826800
tz.transition 1994, 2, :o1, 761709600
tz.transition 1994, 10, :o2, 782276400
tz.transition 1995, 2, :o1, 793159200
tz.transition 1995, 10, :o2, 813726000
tz.transition 1996, 2, :o1, 824004000
tz.transition 1996, 10, :o2, 844570800
tz.transition 1997, 2, :o1, 856058400
tz.transition 1997, 10, :o2, 876106800
tz.transition 1998, 3, :o1, 888717600
tz.transition 1998, 10, :o2, 908074800
tz.transition 1999, 2, :o1, 919562400
tz.transition 1999, 10, :o2, 938919600
tz.transition 2000, 2, :o1, 951616800
tz.transition 2000, 10, :o2, 970974000
tz.transition 2001, 2, :o1, 982461600
tz.transition 2001, 10, :o2, 1003028400
tz.transition 2002, 2, :o1, 1013911200
tz.transition 2002, 11, :o2, 1036292400
tz.transition 2003, 2, :o1, 1045360800
tz.transition 2003, 10, :o2, 1066532400
tz.transition 2004, 2, :o1, 1076810400
tz.transition 2004, 11, :o2, 1099364400
tz.transition 2005, 2, :o1, 1108864800
tz.transition 2005, 10, :o2, 1129431600
tz.transition 2006, 2, :o1, 1140314400
tz.transition 2006, 11, :o2, 1162695600
tz.transition 2007, 2, :o1, 1172368800
tz.transition 2007, 10, :o2, 1192330800
tz.transition 2008, 2, :o1, 1203213600
tz.transition 2008, 10, :o2, 1224385200
tz.transition 2009, 2, :o1, 1234663200
tz.transition 2009, 10, :o2, 1255834800
tz.transition 2010, 2, :o1, 1266717600
tz.transition 2010, 10, :o2, 1287284400
tz.transition 2011, 2, :o1, 1298167200
tz.transition 2011, 10, :o2, 1318734000
tz.transition 2012, 2, :o1, 1330221600
tz.transition 2012, 10, :o2, 1350788400
tz.transition 2013, 2, :o1, 1361066400
tz.transition 2013, 10, :o2, 1382238000
tz.transition 2014, 2, :o1, 1392516000
tz.transition 2014, 10, :o2, 1413687600
tz.transition 2015, 2, :o1, 1424570400
tz.transition 2015, 10, :o2, 1445137200
tz.transition 2016, 2, :o1, 1456020000
tz.transition 2016, 10, :o2, 1476586800
tz.transition 2017, 2, :o1, 1487469600
tz.transition 2017, 10, :o2, 1508036400
tz.transition 2018, 2, :o1, 1518919200
tz.transition 2018, 10, :o2, 1540090800
tz.transition 2019, 2, :o1, 1550368800
tz.transition 2019, 10, :o2, 1571540400
tz.transition 2020, 2, :o1, 1581818400
tz.transition 2020, 10, :o2, 1602990000
tz.transition 2021, 2, :o1, 1613872800
tz.transition 2021, 10, :o2, 1634439600
tz.transition 2022, 2, :o1, 1645322400
tz.transition 2022, 10, :o2, 1665889200
tz.transition 2023, 2, :o1, 1677376800
tz.transition 2023, 10, :o2, 1697338800
tz.transition 2024, 2, :o1, 1708221600
tz.transition 2024, 10, :o2, 1729393200
tz.transition 2025, 2, :o1, 1739671200
tz.transition 2025, 10, :o2, 1760842800
tz.transition 2026, 2, :o1, 1771725600
tz.transition 2026, 10, :o2, 1792292400
tz.transition 2027, 2, :o1, 1803175200
tz.transition 2027, 10, :o2, 1823742000
tz.transition 2028, 2, :o1, 1834624800
tz.transition 2028, 10, :o2, 1855191600
tz.transition 2029, 2, :o1, 1866074400
tz.transition 2029, 10, :o2, 1887246000
tz.transition 2030, 2, :o1, 1897524000
tz.transition 2030, 10, :o2, 1918695600
tz.transition 2031, 2, :o1, 1928973600
tz.transition 2031, 10, :o2, 1950145200
tz.transition 2032, 2, :o1, 1960423200
tz.transition 2032, 10, :o2, 1981594800
tz.transition 2033, 2, :o1, 1992477600
tz.transition 2033, 10, :o2, 2013044400
tz.transition 2034, 2, :o1, 2024532000
tz.transition 2034, 10, :o2, 2044494000
tz.transition 2035, 2, :o1, 2055376800
tz.transition 2035, 10, :o2, 2076548400
tz.transition 2036, 2, :o1, 2086826400
tz.transition 2036, 10, :o2, 2107998000
tz.transition 2037, 2, :o1, 2118880800
tz.transition 2037, 10, :o2, 2139447600
tz.transition 2038, 2, :o1, 29585707, 12
tz.transition 2038, 10, :o2, 19725709, 8
tz.transition 2039, 2, :o1, 29590075, 12
tz.transition 2039, 10, :o2, 19728621, 8
tz.transition 2040, 2, :o1, 29594443, 12
tz.transition 2040, 10, :o2, 19731589, 8
tz.transition 2041, 2, :o1, 29598811, 12
tz.transition 2041, 10, :o2, 19734501, 8
tz.transition 2042, 2, :o1, 29603179, 12
tz.transition 2042, 10, :o2, 19737413, 8
tz.transition 2043, 2, :o1, 29607547, 12
tz.transition 2043, 10, :o2, 19740325, 8
tz.transition 2044, 2, :o1, 29611999, 12
tz.transition 2044, 10, :o2, 19743237, 8
tz.transition 2045, 2, :o1, 29616367, 12
tz.transition 2045, 10, :o2, 19746149, 8
tz.transition 2046, 2, :o1, 29620735, 12
tz.transition 2046, 10, :o2, 19749117, 8
tz.transition 2047, 2, :o1, 29625103, 12
tz.transition 2047, 10, :o2, 19752029, 8
tz.transition 2048, 2, :o1, 29629471, 12
tz.transition 2048, 10, :o2, 19754941, 8
tz.transition 2049, 2, :o1, 29633923, 12
tz.transition 2049, 10, :o2, 19757853, 8
tz.transition 2050, 2, :o1, 29638291, 12
end
end
end
end
end

View File

@@ -0,0 +1,288 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module St_Johns
include TimezoneDefinition
timezone 'America/St_Johns' do |tz|
tz.offset :o0, -12652, 0, :LMT
tz.offset :o1, -12652, 0, :NST
tz.offset :o2, -12652, 3600, :NDT
tz.offset :o3, -12600, 0, :NST
tz.offset :o4, -12600, 3600, :NDT
tz.offset :o5, -12600, 3600, :NWT
tz.offset :o6, -12600, 3600, :NPT
tz.offset :o7, -12600, 7200, :NDDT
tz.transition 1884, 1, :o1, 52038215563, 21600
tz.transition 1917, 4, :o2, 52300657363, 21600
tz.transition 1917, 9, :o1, 52304155663, 21600
tz.transition 1918, 4, :o2, 52308670963, 21600
tz.transition 1918, 10, :o1, 52312990063, 21600
tz.transition 1919, 5, :o2, 52317027463, 21600
tz.transition 1919, 8, :o1, 52319164963, 21600
tz.transition 1920, 5, :o2, 52324868263, 21600
tz.transition 1920, 11, :o1, 52328798563, 21600
tz.transition 1921, 5, :o2, 52332730663, 21600
tz.transition 1921, 10, :o1, 52336660963, 21600
tz.transition 1922, 5, :o2, 52340744263, 21600
tz.transition 1922, 10, :o1, 52344523363, 21600
tz.transition 1923, 5, :o2, 52348606663, 21600
tz.transition 1923, 10, :o1, 52352385763, 21600
tz.transition 1924, 5, :o2, 52356469063, 21600
tz.transition 1924, 10, :o1, 52360248163, 21600
tz.transition 1925, 5, :o2, 52364331463, 21600
tz.transition 1925, 10, :o1, 52368110563, 21600
tz.transition 1926, 5, :o2, 52372193863, 21600
tz.transition 1926, 11, :o1, 52376124163, 21600
tz.transition 1927, 5, :o2, 52380056263, 21600
tz.transition 1927, 10, :o1, 52383986563, 21600
tz.transition 1928, 5, :o2, 52388069863, 21600
tz.transition 1928, 10, :o1, 52391848963, 21600
tz.transition 1929, 5, :o2, 52395932263, 21600
tz.transition 1929, 10, :o1, 52399711363, 21600
tz.transition 1930, 5, :o2, 52403794663, 21600
tz.transition 1930, 10, :o1, 52407573763, 21600
tz.transition 1931, 5, :o2, 52411657063, 21600
tz.transition 1931, 10, :o1, 52415436163, 21600
tz.transition 1932, 5, :o2, 52419519463, 21600
tz.transition 1932, 10, :o1, 52423449763, 21600
tz.transition 1933, 5, :o2, 52427533063, 21600
tz.transition 1933, 10, :o1, 52431312163, 21600
tz.transition 1934, 5, :o2, 52435395463, 21600
tz.transition 1934, 10, :o1, 52439174563, 21600
tz.transition 1935, 3, :o3, 52442459563, 21600
tz.transition 1935, 5, :o4, 116540573, 48
tz.transition 1935, 10, :o3, 38849657, 16
tz.transition 1936, 5, :o4, 116558383, 48
tz.transition 1936, 10, :o3, 116565437, 48
tz.transition 1937, 5, :o4, 116575855, 48
tz.transition 1937, 10, :o3, 116582909, 48
tz.transition 1938, 5, :o4, 116593327, 48
tz.transition 1938, 10, :o3, 116600381, 48
tz.transition 1939, 5, :o4, 116611135, 48
tz.transition 1939, 10, :o3, 116617853, 48
tz.transition 1940, 5, :o4, 116628607, 48
tz.transition 1940, 10, :o3, 116635661, 48
tz.transition 1941, 5, :o4, 116646079, 48
tz.transition 1941, 10, :o3, 116653133, 48
tz.transition 1942, 5, :o5, 116663551, 48
tz.transition 1945, 8, :o6, 58360379, 24
tz.transition 1945, 9, :o3, 38907659, 16
tz.transition 1946, 5, :o4, 116733731, 48
tz.transition 1946, 10, :o3, 38913595, 16
tz.transition 1947, 5, :o4, 116751203, 48
tz.transition 1947, 10, :o3, 38919419, 16
tz.transition 1948, 5, :o4, 116768675, 48
tz.transition 1948, 10, :o3, 38925243, 16
tz.transition 1949, 5, :o4, 116786147, 48
tz.transition 1949, 10, :o3, 38931067, 16
tz.transition 1950, 5, :o4, 116803955, 48
tz.transition 1950, 10, :o3, 38937003, 16
tz.transition 1951, 4, :o4, 116820755, 48
tz.transition 1951, 9, :o3, 38942715, 16
tz.transition 1952, 4, :o4, 116838227, 48
tz.transition 1952, 9, :o3, 38948539, 16
tz.transition 1953, 4, :o4, 116855699, 48
tz.transition 1953, 9, :o3, 38954363, 16
tz.transition 1954, 4, :o4, 116873171, 48
tz.transition 1954, 9, :o3, 38960187, 16
tz.transition 1955, 4, :o4, 116890643, 48
tz.transition 1955, 9, :o3, 38966011, 16
tz.transition 1956, 4, :o4, 116908451, 48
tz.transition 1956, 9, :o3, 38971947, 16
tz.transition 1957, 4, :o4, 116925923, 48
tz.transition 1957, 9, :o3, 38977771, 16
tz.transition 1958, 4, :o4, 116943395, 48
tz.transition 1958, 9, :o3, 38983595, 16
tz.transition 1959, 4, :o4, 116960867, 48
tz.transition 1959, 9, :o3, 38989419, 16
tz.transition 1960, 4, :o4, 116978339, 48
tz.transition 1960, 10, :o3, 38995803, 16
tz.transition 1961, 4, :o4, 116996147, 48
tz.transition 1961, 10, :o3, 39001627, 16
tz.transition 1962, 4, :o4, 117013619, 48
tz.transition 1962, 10, :o3, 39007451, 16
tz.transition 1963, 4, :o4, 117031091, 48
tz.transition 1963, 10, :o3, 39013275, 16
tz.transition 1964, 4, :o4, 117048563, 48
tz.transition 1964, 10, :o3, 39019099, 16
tz.transition 1965, 4, :o4, 117066035, 48
tz.transition 1965, 10, :o3, 39025035, 16
tz.transition 1966, 4, :o4, 117083507, 48
tz.transition 1966, 10, :o3, 39030859, 16
tz.transition 1967, 4, :o4, 117101315, 48
tz.transition 1967, 10, :o3, 39036683, 16
tz.transition 1968, 4, :o4, 117118787, 48
tz.transition 1968, 10, :o3, 39042507, 16
tz.transition 1969, 4, :o4, 117136259, 48
tz.transition 1969, 10, :o3, 39048331, 16
tz.transition 1970, 4, :o4, 9955800
tz.transition 1970, 10, :o3, 25677000
tz.transition 1971, 4, :o4, 41405400
tz.transition 1971, 10, :o3, 57731400
tz.transition 1972, 4, :o4, 73459800
tz.transition 1972, 10, :o3, 89181000
tz.transition 1973, 4, :o4, 104909400
tz.transition 1973, 10, :o3, 120630600
tz.transition 1974, 4, :o4, 136359000
tz.transition 1974, 10, :o3, 152080200
tz.transition 1975, 4, :o4, 167808600
tz.transition 1975, 10, :o3, 183529800
tz.transition 1976, 4, :o4, 199258200
tz.transition 1976, 10, :o3, 215584200
tz.transition 1977, 4, :o4, 230707800
tz.transition 1977, 10, :o3, 247033800
tz.transition 1978, 4, :o4, 262762200
tz.transition 1978, 10, :o3, 278483400
tz.transition 1979, 4, :o4, 294211800
tz.transition 1979, 10, :o3, 309933000
tz.transition 1980, 4, :o4, 325661400
tz.transition 1980, 10, :o3, 341382600
tz.transition 1981, 4, :o4, 357111000
tz.transition 1981, 10, :o3, 372832200
tz.transition 1982, 4, :o4, 388560600
tz.transition 1982, 10, :o3, 404886600
tz.transition 1983, 4, :o4, 420010200
tz.transition 1983, 10, :o3, 436336200
tz.transition 1984, 4, :o4, 452064600
tz.transition 1984, 10, :o3, 467785800
tz.transition 1985, 4, :o4, 483514200
tz.transition 1985, 10, :o3, 499235400
tz.transition 1986, 4, :o4, 514963800
tz.transition 1986, 10, :o3, 530685000
tz.transition 1987, 4, :o4, 544591860
tz.transition 1987, 10, :o3, 562127460
tz.transition 1988, 4, :o7, 576041460
tz.transition 1988, 10, :o3, 594178260
tz.transition 1989, 4, :o4, 607491060
tz.transition 1989, 10, :o3, 625631460
tz.transition 1990, 4, :o4, 638940660
tz.transition 1990, 10, :o3, 657081060
tz.transition 1991, 4, :o4, 670995060
tz.transition 1991, 10, :o3, 688530660
tz.transition 1992, 4, :o4, 702444660
tz.transition 1992, 10, :o3, 719980260
tz.transition 1993, 4, :o4, 733894260
tz.transition 1993, 10, :o3, 752034660
tz.transition 1994, 4, :o4, 765343860
tz.transition 1994, 10, :o3, 783484260
tz.transition 1995, 4, :o4, 796793460
tz.transition 1995, 10, :o3, 814933860
tz.transition 1996, 4, :o4, 828847860
tz.transition 1996, 10, :o3, 846383460
tz.transition 1997, 4, :o4, 860297460
tz.transition 1997, 10, :o3, 877833060
tz.transition 1998, 4, :o4, 891747060
tz.transition 1998, 10, :o3, 909282660
tz.transition 1999, 4, :o4, 923196660
tz.transition 1999, 10, :o3, 941337060
tz.transition 2000, 4, :o4, 954646260
tz.transition 2000, 10, :o3, 972786660
tz.transition 2001, 4, :o4, 986095860
tz.transition 2001, 10, :o3, 1004236260
tz.transition 2002, 4, :o4, 1018150260
tz.transition 2002, 10, :o3, 1035685860
tz.transition 2003, 4, :o4, 1049599860
tz.transition 2003, 10, :o3, 1067135460
tz.transition 2004, 4, :o4, 1081049460
tz.transition 2004, 10, :o3, 1099189860
tz.transition 2005, 4, :o4, 1112499060
tz.transition 2005, 10, :o3, 1130639460
tz.transition 2006, 4, :o4, 1143948660
tz.transition 2006, 10, :o3, 1162089060
tz.transition 2007, 3, :o4, 1173583860
tz.transition 2007, 11, :o3, 1194143460
tz.transition 2008, 3, :o4, 1205033460
tz.transition 2008, 11, :o3, 1225593060
tz.transition 2009, 3, :o4, 1236483060
tz.transition 2009, 11, :o3, 1257042660
tz.transition 2010, 3, :o4, 1268537460
tz.transition 2010, 11, :o3, 1289097060
tz.transition 2011, 3, :o4, 1299987060
tz.transition 2011, 11, :o3, 1320546660
tz.transition 2012, 3, :o4, 1331436660
tz.transition 2012, 11, :o3, 1351996260
tz.transition 2013, 3, :o4, 1362886260
tz.transition 2013, 11, :o3, 1383445860
tz.transition 2014, 3, :o4, 1394335860
tz.transition 2014, 11, :o3, 1414895460
tz.transition 2015, 3, :o4, 1425785460
tz.transition 2015, 11, :o3, 1446345060
tz.transition 2016, 3, :o4, 1457839860
tz.transition 2016, 11, :o3, 1478399460
tz.transition 2017, 3, :o4, 1489289460
tz.transition 2017, 11, :o3, 1509849060
tz.transition 2018, 3, :o4, 1520739060
tz.transition 2018, 11, :o3, 1541298660
tz.transition 2019, 3, :o4, 1552188660
tz.transition 2019, 11, :o3, 1572748260
tz.transition 2020, 3, :o4, 1583638260
tz.transition 2020, 11, :o3, 1604197860
tz.transition 2021, 3, :o4, 1615692660
tz.transition 2021, 11, :o3, 1636252260
tz.transition 2022, 3, :o4, 1647142260
tz.transition 2022, 11, :o3, 1667701860
tz.transition 2023, 3, :o4, 1678591860
tz.transition 2023, 11, :o3, 1699151460
tz.transition 2024, 3, :o4, 1710041460
tz.transition 2024, 11, :o3, 1730601060
tz.transition 2025, 3, :o4, 1741491060
tz.transition 2025, 11, :o3, 1762050660
tz.transition 2026, 3, :o4, 1772940660
tz.transition 2026, 11, :o3, 1793500260
tz.transition 2027, 3, :o4, 1804995060
tz.transition 2027, 11, :o3, 1825554660
tz.transition 2028, 3, :o4, 1836444660
tz.transition 2028, 11, :o3, 1857004260
tz.transition 2029, 3, :o4, 1867894260
tz.transition 2029, 11, :o3, 1888453860
tz.transition 2030, 3, :o4, 1899343860
tz.transition 2030, 11, :o3, 1919903460
tz.transition 2031, 3, :o4, 1930793460
tz.transition 2031, 11, :o3, 1951353060
tz.transition 2032, 3, :o4, 1962847860
tz.transition 2032, 11, :o3, 1983407460
tz.transition 2033, 3, :o4, 1994297460
tz.transition 2033, 11, :o3, 2014857060
tz.transition 2034, 3, :o4, 2025747060
tz.transition 2034, 11, :o3, 2046306660
tz.transition 2035, 3, :o4, 2057196660
tz.transition 2035, 11, :o3, 2077756260
tz.transition 2036, 3, :o4, 2088646260
tz.transition 2036, 11, :o3, 2109205860
tz.transition 2037, 3, :o4, 2120095860
tz.transition 2037, 11, :o3, 2140655460
tz.transition 2038, 3, :o4, 3550315171, 1440
tz.transition 2038, 11, :o3, 3550657831, 1440
tz.transition 2039, 3, :o4, 3550839331, 1440
tz.transition 2039, 11, :o3, 3551181991, 1440
tz.transition 2040, 3, :o4, 3551363491, 1440
tz.transition 2040, 11, :o3, 3551706151, 1440
tz.transition 2041, 3, :o4, 3551887651, 1440
tz.transition 2041, 11, :o3, 3552230311, 1440
tz.transition 2042, 3, :o4, 3552411811, 1440
tz.transition 2042, 11, :o3, 3552754471, 1440
tz.transition 2043, 3, :o4, 3552935971, 1440
tz.transition 2043, 11, :o3, 3553278631, 1440
tz.transition 2044, 3, :o4, 3553470211, 1440
tz.transition 2044, 11, :o3, 3553812871, 1440
tz.transition 2045, 3, :o4, 3553994371, 1440
tz.transition 2045, 11, :o3, 3554337031, 1440
tz.transition 2046, 3, :o4, 3554518531, 1440
tz.transition 2046, 11, :o3, 3554861191, 1440
tz.transition 2047, 3, :o4, 3555042691, 1440
tz.transition 2047, 11, :o3, 3555385351, 1440
tz.transition 2048, 3, :o4, 3555566851, 1440
tz.transition 2048, 11, :o3, 3555909511, 1440
tz.transition 2049, 3, :o4, 3556101091, 1440
tz.transition 2049, 11, :o3, 3556443751, 1440
tz.transition 2050, 3, :o4, 3556625251, 1440
tz.transition 2050, 11, :o3, 3556967911, 1440
end
end
end
end
end

View File

@@ -0,0 +1,196 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module America
module Tijuana
include TimezoneDefinition
timezone 'America/Tijuana' do |tz|
tz.offset :o0, -28084, 0, :LMT
tz.offset :o1, -25200, 0, :MST
tz.offset :o2, -28800, 0, :PST
tz.offset :o3, -28800, 3600, :PDT
tz.offset :o4, -28800, 3600, :PWT
tz.offset :o5, -28800, 3600, :PPT
tz.transition 1922, 1, :o1, 14538335, 6
tz.transition 1924, 1, :o2, 58170859, 24
tz.transition 1927, 6, :o1, 58201027, 24
tz.transition 1930, 11, :o2, 58231099, 24
tz.transition 1931, 4, :o3, 14558597, 6
tz.transition 1931, 9, :o2, 58238755, 24
tz.transition 1942, 4, :o4, 14582843, 6
tz.transition 1945, 8, :o5, 58360379, 24
tz.transition 1945, 11, :o2, 58362523, 24
tz.transition 1948, 4, :o3, 14595881, 6
tz.transition 1949, 1, :o2, 58390339, 24
tz.transition 1954, 4, :o3, 29218295, 12
tz.transition 1954, 9, :o2, 19480095, 8
tz.transition 1955, 4, :o3, 29222663, 12
tz.transition 1955, 9, :o2, 19483007, 8
tz.transition 1956, 4, :o3, 29227115, 12
tz.transition 1956, 9, :o2, 19485975, 8
tz.transition 1957, 4, :o3, 29231483, 12
tz.transition 1957, 9, :o2, 19488887, 8
tz.transition 1958, 4, :o3, 29235851, 12
tz.transition 1958, 9, :o2, 19491799, 8
tz.transition 1959, 4, :o3, 29240219, 12
tz.transition 1959, 9, :o2, 19494711, 8
tz.transition 1960, 4, :o3, 29244587, 12
tz.transition 1960, 9, :o2, 19497623, 8
tz.transition 1976, 4, :o3, 199274400
tz.transition 1976, 10, :o2, 215600400
tz.transition 1977, 4, :o3, 230724000
tz.transition 1977, 10, :o2, 247050000
tz.transition 1978, 4, :o3, 262778400
tz.transition 1978, 10, :o2, 278499600
tz.transition 1979, 4, :o3, 294228000
tz.transition 1979, 10, :o2, 309949200
tz.transition 1980, 4, :o3, 325677600
tz.transition 1980, 10, :o2, 341398800
tz.transition 1981, 4, :o3, 357127200
tz.transition 1981, 10, :o2, 372848400
tz.transition 1982, 4, :o3, 388576800
tz.transition 1982, 10, :o2, 404902800
tz.transition 1983, 4, :o3, 420026400
tz.transition 1983, 10, :o2, 436352400
tz.transition 1984, 4, :o3, 452080800
tz.transition 1984, 10, :o2, 467802000
tz.transition 1985, 4, :o3, 483530400
tz.transition 1985, 10, :o2, 499251600
tz.transition 1986, 4, :o3, 514980000
tz.transition 1986, 10, :o2, 530701200
tz.transition 1987, 4, :o3, 544615200
tz.transition 1987, 10, :o2, 562150800
tz.transition 1988, 4, :o3, 576064800
tz.transition 1988, 10, :o2, 594205200
tz.transition 1989, 4, :o3, 607514400
tz.transition 1989, 10, :o2, 625654800
tz.transition 1990, 4, :o3, 638964000
tz.transition 1990, 10, :o2, 657104400
tz.transition 1991, 4, :o3, 671018400
tz.transition 1991, 10, :o2, 688554000
tz.transition 1992, 4, :o3, 702468000
tz.transition 1992, 10, :o2, 720003600
tz.transition 1993, 4, :o3, 733917600
tz.transition 1993, 10, :o2, 752058000
tz.transition 1994, 4, :o3, 765367200
tz.transition 1994, 10, :o2, 783507600
tz.transition 1995, 4, :o3, 796816800
tz.transition 1995, 10, :o2, 814957200
tz.transition 1996, 4, :o3, 828871200
tz.transition 1996, 10, :o2, 846406800
tz.transition 1997, 4, :o3, 860320800
tz.transition 1997, 10, :o2, 877856400
tz.transition 1998, 4, :o3, 891770400
tz.transition 1998, 10, :o2, 909306000
tz.transition 1999, 4, :o3, 923220000
tz.transition 1999, 10, :o2, 941360400
tz.transition 2000, 4, :o3, 954669600
tz.transition 2000, 10, :o2, 972810000
tz.transition 2001, 4, :o3, 986119200
tz.transition 2001, 10, :o2, 1004259600
tz.transition 2002, 4, :o3, 1018173600
tz.transition 2002, 10, :o2, 1035709200
tz.transition 2003, 4, :o3, 1049623200
tz.transition 2003, 10, :o2, 1067158800
tz.transition 2004, 4, :o3, 1081072800
tz.transition 2004, 10, :o2, 1099213200
tz.transition 2005, 4, :o3, 1112522400
tz.transition 2005, 10, :o2, 1130662800
tz.transition 2006, 4, :o3, 1143972000
tz.transition 2006, 10, :o2, 1162112400
tz.transition 2007, 4, :o3, 1175421600
tz.transition 2007, 10, :o2, 1193562000
tz.transition 2008, 4, :o3, 1207476000
tz.transition 2008, 10, :o2, 1225011600
tz.transition 2009, 4, :o3, 1238925600
tz.transition 2009, 10, :o2, 1256461200
tz.transition 2010, 4, :o3, 1270375200
tz.transition 2010, 10, :o2, 1288515600
tz.transition 2011, 4, :o3, 1301824800
tz.transition 2011, 10, :o2, 1319965200
tz.transition 2012, 4, :o3, 1333274400
tz.transition 2012, 10, :o2, 1351414800
tz.transition 2013, 4, :o3, 1365328800
tz.transition 2013, 10, :o2, 1382864400
tz.transition 2014, 4, :o3, 1396778400
tz.transition 2014, 10, :o2, 1414314000
tz.transition 2015, 4, :o3, 1428228000
tz.transition 2015, 10, :o2, 1445763600
tz.transition 2016, 4, :o3, 1459677600
tz.transition 2016, 10, :o2, 1477818000
tz.transition 2017, 4, :o3, 1491127200
tz.transition 2017, 10, :o2, 1509267600
tz.transition 2018, 4, :o3, 1522576800
tz.transition 2018, 10, :o2, 1540717200
tz.transition 2019, 4, :o3, 1554631200
tz.transition 2019, 10, :o2, 1572166800
tz.transition 2020, 4, :o3, 1586080800
tz.transition 2020, 10, :o2, 1603616400
tz.transition 2021, 4, :o3, 1617530400
tz.transition 2021, 10, :o2, 1635670800
tz.transition 2022, 4, :o3, 1648980000
tz.transition 2022, 10, :o2, 1667120400
tz.transition 2023, 4, :o3, 1680429600
tz.transition 2023, 10, :o2, 1698570000
tz.transition 2024, 4, :o3, 1712484000
tz.transition 2024, 10, :o2, 1730019600
tz.transition 2025, 4, :o3, 1743933600
tz.transition 2025, 10, :o2, 1761469200
tz.transition 2026, 4, :o3, 1775383200
tz.transition 2026, 10, :o2, 1792918800
tz.transition 2027, 4, :o3, 1806832800
tz.transition 2027, 10, :o2, 1824973200
tz.transition 2028, 4, :o3, 1838282400
tz.transition 2028, 10, :o2, 1856422800
tz.transition 2029, 4, :o3, 1869732000
tz.transition 2029, 10, :o2, 1887872400
tz.transition 2030, 4, :o3, 1901786400
tz.transition 2030, 10, :o2, 1919322000
tz.transition 2031, 4, :o3, 1933236000
tz.transition 2031, 10, :o2, 1950771600
tz.transition 2032, 4, :o3, 1964685600
tz.transition 2032, 10, :o2, 1982826000
tz.transition 2033, 4, :o3, 1996135200
tz.transition 2033, 10, :o2, 2014275600
tz.transition 2034, 4, :o3, 2027584800
tz.transition 2034, 10, :o2, 2045725200
tz.transition 2035, 4, :o3, 2059034400
tz.transition 2035, 10, :o2, 2077174800
tz.transition 2036, 4, :o3, 2091088800
tz.transition 2036, 10, :o2, 2108624400
tz.transition 2037, 4, :o3, 2122538400
tz.transition 2037, 10, :o2, 2140074000
tz.transition 2038, 4, :o3, 29586215, 12
tz.transition 2038, 10, :o2, 19725823, 8
tz.transition 2039, 4, :o3, 29590583, 12
tz.transition 2039, 10, :o2, 19728735, 8
tz.transition 2040, 4, :o3, 29594951, 12
tz.transition 2040, 10, :o2, 19731647, 8
tz.transition 2041, 4, :o3, 29599403, 12
tz.transition 2041, 10, :o2, 19734559, 8
tz.transition 2042, 4, :o3, 29603771, 12
tz.transition 2042, 10, :o2, 19737471, 8
tz.transition 2043, 4, :o3, 29608139, 12
tz.transition 2043, 10, :o2, 19740383, 8
tz.transition 2044, 4, :o3, 29612507, 12
tz.transition 2044, 10, :o2, 19743351, 8
tz.transition 2045, 4, :o3, 29616875, 12
tz.transition 2045, 10, :o2, 19746263, 8
tz.transition 2046, 4, :o3, 29621243, 12
tz.transition 2046, 10, :o2, 19749175, 8
tz.transition 2047, 4, :o3, 29625695, 12
tz.transition 2047, 10, :o2, 19752087, 8
tz.transition 2048, 4, :o3, 29630063, 12
tz.transition 2048, 10, :o2, 19754999, 8
tz.transition 2049, 4, :o3, 29634431, 12
tz.transition 2049, 10, :o2, 19757967, 8
tz.transition 2050, 4, :o3, 29638799, 12
tz.transition 2050, 10, :o2, 19760879, 8
end
end
end
end
end

View File

@@ -0,0 +1,67 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Almaty
include TimezoneDefinition
timezone 'Asia/Almaty' do |tz|
tz.offset :o0, 18468, 0, :LMT
tz.offset :o1, 18000, 0, :ALMT
tz.offset :o2, 21600, 0, :ALMT
tz.offset :o3, 21600, 3600, :ALMST
tz.transition 1924, 5, :o1, 1939125829, 800
tz.transition 1930, 6, :o2, 58227559, 24
tz.transition 1981, 3, :o3, 354909600
tz.transition 1981, 9, :o2, 370717200
tz.transition 1982, 3, :o3, 386445600
tz.transition 1982, 9, :o2, 402253200
tz.transition 1983, 3, :o3, 417981600
tz.transition 1983, 9, :o2, 433789200
tz.transition 1984, 3, :o3, 449604000
tz.transition 1984, 9, :o2, 465336000
tz.transition 1985, 3, :o3, 481060800
tz.transition 1985, 9, :o2, 496785600
tz.transition 1986, 3, :o3, 512510400
tz.transition 1986, 9, :o2, 528235200
tz.transition 1987, 3, :o3, 543960000
tz.transition 1987, 9, :o2, 559684800
tz.transition 1988, 3, :o3, 575409600
tz.transition 1988, 9, :o2, 591134400
tz.transition 1989, 3, :o3, 606859200
tz.transition 1989, 9, :o2, 622584000
tz.transition 1990, 3, :o3, 638308800
tz.transition 1990, 9, :o2, 654638400
tz.transition 1992, 3, :o3, 701802000
tz.transition 1992, 9, :o2, 717523200
tz.transition 1993, 3, :o3, 733262400
tz.transition 1993, 9, :o2, 748987200
tz.transition 1994, 3, :o3, 764712000
tz.transition 1994, 9, :o2, 780436800
tz.transition 1995, 3, :o3, 796161600
tz.transition 1995, 9, :o2, 811886400
tz.transition 1996, 3, :o3, 828216000
tz.transition 1996, 10, :o2, 846360000
tz.transition 1997, 3, :o3, 859665600
tz.transition 1997, 10, :o2, 877809600
tz.transition 1998, 3, :o3, 891115200
tz.transition 1998, 10, :o2, 909259200
tz.transition 1999, 3, :o3, 922564800
tz.transition 1999, 10, :o2, 941313600
tz.transition 2000, 3, :o3, 954014400
tz.transition 2000, 10, :o2, 972763200
tz.transition 2001, 3, :o3, 985464000
tz.transition 2001, 10, :o2, 1004212800
tz.transition 2002, 3, :o3, 1017518400
tz.transition 2002, 10, :o2, 1035662400
tz.transition 2003, 3, :o3, 1048968000
tz.transition 2003, 10, :o2, 1067112000
tz.transition 2004, 3, :o3, 1080417600
tz.transition 2004, 10, :o2, 1099166400
end
end
end
end
end

View File

@@ -0,0 +1,73 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Baghdad
include TimezoneDefinition
timezone 'Asia/Baghdad' do |tz|
tz.offset :o0, 10660, 0, :LMT
tz.offset :o1, 10656, 0, :BMT
tz.offset :o2, 10800, 0, :AST
tz.offset :o3, 10800, 3600, :ADT
tz.transition 1889, 12, :o1, 10417111387, 4320
tz.transition 1917, 12, :o2, 726478313, 300
tz.transition 1982, 4, :o3, 389048400
tz.transition 1982, 9, :o2, 402264000
tz.transition 1983, 3, :o3, 417906000
tz.transition 1983, 9, :o2, 433800000
tz.transition 1984, 3, :o3, 449614800
tz.transition 1984, 9, :o2, 465422400
tz.transition 1985, 3, :o3, 481150800
tz.transition 1985, 9, :o2, 496792800
tz.transition 1986, 3, :o3, 512517600
tz.transition 1986, 9, :o2, 528242400
tz.transition 1987, 3, :o3, 543967200
tz.transition 1987, 9, :o2, 559692000
tz.transition 1988, 3, :o3, 575416800
tz.transition 1988, 9, :o2, 591141600
tz.transition 1989, 3, :o3, 606866400
tz.transition 1989, 9, :o2, 622591200
tz.transition 1990, 3, :o3, 638316000
tz.transition 1990, 9, :o2, 654645600
tz.transition 1991, 4, :o3, 670464000
tz.transition 1991, 10, :o2, 686275200
tz.transition 1992, 4, :o3, 702086400
tz.transition 1992, 10, :o2, 717897600
tz.transition 1993, 4, :o3, 733622400
tz.transition 1993, 10, :o2, 749433600
tz.transition 1994, 4, :o3, 765158400
tz.transition 1994, 10, :o2, 780969600
tz.transition 1995, 4, :o3, 796694400
tz.transition 1995, 10, :o2, 812505600
tz.transition 1996, 4, :o3, 828316800
tz.transition 1996, 10, :o2, 844128000
tz.transition 1997, 4, :o3, 859852800
tz.transition 1997, 10, :o2, 875664000
tz.transition 1998, 4, :o3, 891388800
tz.transition 1998, 10, :o2, 907200000
tz.transition 1999, 4, :o3, 922924800
tz.transition 1999, 10, :o2, 938736000
tz.transition 2000, 4, :o3, 954547200
tz.transition 2000, 10, :o2, 970358400
tz.transition 2001, 4, :o3, 986083200
tz.transition 2001, 10, :o2, 1001894400
tz.transition 2002, 4, :o3, 1017619200
tz.transition 2002, 10, :o2, 1033430400
tz.transition 2003, 4, :o3, 1049155200
tz.transition 2003, 10, :o2, 1064966400
tz.transition 2004, 4, :o3, 1080777600
tz.transition 2004, 10, :o2, 1096588800
tz.transition 2005, 4, :o3, 1112313600
tz.transition 2005, 10, :o2, 1128124800
tz.transition 2006, 4, :o3, 1143849600
tz.transition 2006, 10, :o2, 1159660800
tz.transition 2007, 4, :o3, 1175385600
tz.transition 2007, 10, :o2, 1191196800
end
end
end
end
end

View File

@@ -0,0 +1,161 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Baku
include TimezoneDefinition
timezone 'Asia/Baku' do |tz|
tz.offset :o0, 11964, 0, :LMT
tz.offset :o1, 10800, 0, :BAKT
tz.offset :o2, 14400, 0, :BAKT
tz.offset :o3, 14400, 3600, :BAKST
tz.offset :o4, 10800, 3600, :BAKST
tz.offset :o5, 10800, 3600, :AZST
tz.offset :o6, 10800, 0, :AZT
tz.offset :o7, 14400, 0, :AZT
tz.offset :o8, 14400, 3600, :AZST
tz.transition 1924, 5, :o1, 17452133003, 7200
tz.transition 1957, 2, :o2, 19487187, 8
tz.transition 1981, 3, :o3, 354916800
tz.transition 1981, 9, :o2, 370724400
tz.transition 1982, 3, :o3, 386452800
tz.transition 1982, 9, :o2, 402260400
tz.transition 1983, 3, :o3, 417988800
tz.transition 1983, 9, :o2, 433796400
tz.transition 1984, 3, :o3, 449611200
tz.transition 1984, 9, :o2, 465343200
tz.transition 1985, 3, :o3, 481068000
tz.transition 1985, 9, :o2, 496792800
tz.transition 1986, 3, :o3, 512517600
tz.transition 1986, 9, :o2, 528242400
tz.transition 1987, 3, :o3, 543967200
tz.transition 1987, 9, :o2, 559692000
tz.transition 1988, 3, :o3, 575416800
tz.transition 1988, 9, :o2, 591141600
tz.transition 1989, 3, :o3, 606866400
tz.transition 1989, 9, :o2, 622591200
tz.transition 1990, 3, :o3, 638316000
tz.transition 1990, 9, :o2, 654645600
tz.transition 1991, 3, :o4, 670370400
tz.transition 1991, 8, :o5, 683496000
tz.transition 1991, 9, :o6, 686098800
tz.transition 1992, 3, :o5, 701812800
tz.transition 1992, 9, :o7, 717534000
tz.transition 1996, 3, :o8, 828234000
tz.transition 1996, 10, :o7, 846378000
tz.transition 1997, 3, :o8, 859680000
tz.transition 1997, 10, :o7, 877824000
tz.transition 1998, 3, :o8, 891129600
tz.transition 1998, 10, :o7, 909273600
tz.transition 1999, 3, :o8, 922579200
tz.transition 1999, 10, :o7, 941328000
tz.transition 2000, 3, :o8, 954028800
tz.transition 2000, 10, :o7, 972777600
tz.transition 2001, 3, :o8, 985478400
tz.transition 2001, 10, :o7, 1004227200
tz.transition 2002, 3, :o8, 1017532800
tz.transition 2002, 10, :o7, 1035676800
tz.transition 2003, 3, :o8, 1048982400
tz.transition 2003, 10, :o7, 1067126400
tz.transition 2004, 3, :o8, 1080432000
tz.transition 2004, 10, :o7, 1099180800
tz.transition 2005, 3, :o8, 1111881600
tz.transition 2005, 10, :o7, 1130630400
tz.transition 2006, 3, :o8, 1143331200
tz.transition 2006, 10, :o7, 1162080000
tz.transition 2007, 3, :o8, 1174780800
tz.transition 2007, 10, :o7, 1193529600
tz.transition 2008, 3, :o8, 1206835200
tz.transition 2008, 10, :o7, 1224979200
tz.transition 2009, 3, :o8, 1238284800
tz.transition 2009, 10, :o7, 1256428800
tz.transition 2010, 3, :o8, 1269734400
tz.transition 2010, 10, :o7, 1288483200
tz.transition 2011, 3, :o8, 1301184000
tz.transition 2011, 10, :o7, 1319932800
tz.transition 2012, 3, :o8, 1332633600
tz.transition 2012, 10, :o7, 1351382400
tz.transition 2013, 3, :o8, 1364688000
tz.transition 2013, 10, :o7, 1382832000
tz.transition 2014, 3, :o8, 1396137600
tz.transition 2014, 10, :o7, 1414281600
tz.transition 2015, 3, :o8, 1427587200
tz.transition 2015, 10, :o7, 1445731200
tz.transition 2016, 3, :o8, 1459036800
tz.transition 2016, 10, :o7, 1477785600
tz.transition 2017, 3, :o8, 1490486400
tz.transition 2017, 10, :o7, 1509235200
tz.transition 2018, 3, :o8, 1521936000
tz.transition 2018, 10, :o7, 1540684800
tz.transition 2019, 3, :o8, 1553990400
tz.transition 2019, 10, :o7, 1572134400
tz.transition 2020, 3, :o8, 1585440000
tz.transition 2020, 10, :o7, 1603584000
tz.transition 2021, 3, :o8, 1616889600
tz.transition 2021, 10, :o7, 1635638400
tz.transition 2022, 3, :o8, 1648339200
tz.transition 2022, 10, :o7, 1667088000
tz.transition 2023, 3, :o8, 1679788800
tz.transition 2023, 10, :o7, 1698537600
tz.transition 2024, 3, :o8, 1711843200
tz.transition 2024, 10, :o7, 1729987200
tz.transition 2025, 3, :o8, 1743292800
tz.transition 2025, 10, :o7, 1761436800
tz.transition 2026, 3, :o8, 1774742400
tz.transition 2026, 10, :o7, 1792886400
tz.transition 2027, 3, :o8, 1806192000
tz.transition 2027, 10, :o7, 1824940800
tz.transition 2028, 3, :o8, 1837641600
tz.transition 2028, 10, :o7, 1856390400
tz.transition 2029, 3, :o8, 1869091200
tz.transition 2029, 10, :o7, 1887840000
tz.transition 2030, 3, :o8, 1901145600
tz.transition 2030, 10, :o7, 1919289600
tz.transition 2031, 3, :o8, 1932595200
tz.transition 2031, 10, :o7, 1950739200
tz.transition 2032, 3, :o8, 1964044800
tz.transition 2032, 10, :o7, 1982793600
tz.transition 2033, 3, :o8, 1995494400
tz.transition 2033, 10, :o7, 2014243200
tz.transition 2034, 3, :o8, 2026944000
tz.transition 2034, 10, :o7, 2045692800
tz.transition 2035, 3, :o8, 2058393600
tz.transition 2035, 10, :o7, 2077142400
tz.transition 2036, 3, :o8, 2090448000
tz.transition 2036, 10, :o7, 2108592000
tz.transition 2037, 3, :o8, 2121897600
tz.transition 2037, 10, :o7, 2140041600
tz.transition 2038, 3, :o8, 4931021, 2
tz.transition 2038, 10, :o7, 4931455, 2
tz.transition 2039, 3, :o8, 4931749, 2
tz.transition 2039, 10, :o7, 4932183, 2
tz.transition 2040, 3, :o8, 4932477, 2
tz.transition 2040, 10, :o7, 4932911, 2
tz.transition 2041, 3, :o8, 4933219, 2
tz.transition 2041, 10, :o7, 4933639, 2
tz.transition 2042, 3, :o8, 4933947, 2
tz.transition 2042, 10, :o7, 4934367, 2
tz.transition 2043, 3, :o8, 4934675, 2
tz.transition 2043, 10, :o7, 4935095, 2
tz.transition 2044, 3, :o8, 4935403, 2
tz.transition 2044, 10, :o7, 4935837, 2
tz.transition 2045, 3, :o8, 4936131, 2
tz.transition 2045, 10, :o7, 4936565, 2
tz.transition 2046, 3, :o8, 4936859, 2
tz.transition 2046, 10, :o7, 4937293, 2
tz.transition 2047, 3, :o8, 4937601, 2
tz.transition 2047, 10, :o7, 4938021, 2
tz.transition 2048, 3, :o8, 4938329, 2
tz.transition 2048, 10, :o7, 4938749, 2
tz.transition 2049, 3, :o8, 4939057, 2
tz.transition 2049, 10, :o7, 4939491, 2
tz.transition 2050, 3, :o8, 4939785, 2
tz.transition 2050, 10, :o7, 4940219, 2
end
end
end
end
end

View File

@@ -0,0 +1,20 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Bangkok
include TimezoneDefinition
timezone 'Asia/Bangkok' do |tz|
tz.offset :o0, 24124, 0, :LMT
tz.offset :o1, 24124, 0, :BMT
tz.offset :o2, 25200, 0, :ICT
tz.transition 1879, 12, :o1, 52006648769, 21600
tz.transition 1920, 3, :o2, 52324168769, 21600
end
end
end
end
end

View File

@@ -0,0 +1,33 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Chongqing
include TimezoneDefinition
timezone 'Asia/Chongqing' do |tz|
tz.offset :o0, 25580, 0, :LMT
tz.offset :o1, 25200, 0, :LONT
tz.offset :o2, 28800, 0, :CST
tz.offset :o3, 28800, 3600, :CDT
tz.transition 1927, 12, :o1, 10477063601, 4320
tz.transition 1980, 4, :o2, 325962000
tz.transition 1986, 5, :o3, 515520000
tz.transition 1986, 9, :o2, 527007600
tz.transition 1987, 4, :o3, 545155200
tz.transition 1987, 9, :o2, 558457200
tz.transition 1988, 4, :o3, 576604800
tz.transition 1988, 9, :o2, 589906800
tz.transition 1989, 4, :o3, 608659200
tz.transition 1989, 9, :o2, 621961200
tz.transition 1990, 4, :o3, 640108800
tz.transition 1990, 9, :o2, 653410800
tz.transition 1991, 4, :o3, 671558400
tz.transition 1991, 9, :o2, 684860400
end
end
end
end
end

View File

@@ -0,0 +1,30 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Colombo
include TimezoneDefinition
timezone 'Asia/Colombo' do |tz|
tz.offset :o0, 19164, 0, :LMT
tz.offset :o1, 19172, 0, :MMT
tz.offset :o2, 19800, 0, :IST
tz.offset :o3, 19800, 1800, :IHST
tz.offset :o4, 19800, 3600, :IST
tz.offset :o5, 23400, 0, :LKT
tz.offset :o6, 21600, 0, :LKT
tz.transition 1879, 12, :o1, 17335550003, 7200
tz.transition 1905, 12, :o2, 52211763607, 21600
tz.transition 1942, 1, :o3, 116657485, 48
tz.transition 1942, 8, :o4, 9722413, 4
tz.transition 1945, 10, :o2, 38907909, 16
tz.transition 1996, 5, :o5, 832962600
tz.transition 1996, 10, :o6, 846266400
tz.transition 2006, 4, :o2, 1145039400
end
end
end
end
end

View File

@@ -0,0 +1,27 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Dhaka
include TimezoneDefinition
timezone 'Asia/Dhaka' do |tz|
tz.offset :o0, 21700, 0, :LMT
tz.offset :o1, 21200, 0, :HMT
tz.offset :o2, 23400, 0, :BURT
tz.offset :o3, 19800, 0, :IST
tz.offset :o4, 21600, 0, :DACT
tz.offset :o5, 21600, 0, :BDT
tz.transition 1889, 12, :o1, 2083422167, 864
tz.transition 1941, 9, :o2, 524937943, 216
tz.transition 1942, 5, :o3, 116663723, 48
tz.transition 1942, 8, :o2, 116668957, 48
tz.transition 1951, 9, :o4, 116828123, 48
tz.transition 1971, 3, :o5, 38772000
end
end
end
end
end

View File

@@ -0,0 +1,87 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Hong_Kong
include TimezoneDefinition
timezone 'Asia/Hong_Kong' do |tz|
tz.offset :o0, 27396, 0, :LMT
tz.offset :o1, 28800, 0, :HKT
tz.offset :o2, 28800, 3600, :HKST
tz.transition 1904, 10, :o1, 5800279639, 2400
tz.transition 1946, 4, :o2, 38910885, 16
tz.transition 1946, 11, :o1, 116743453, 48
tz.transition 1947, 4, :o2, 38916613, 16
tz.transition 1947, 12, :o1, 116762365, 48
tz.transition 1948, 5, :o2, 38922773, 16
tz.transition 1948, 10, :o1, 116777053, 48
tz.transition 1949, 4, :o2, 38928149, 16
tz.transition 1949, 10, :o1, 116794525, 48
tz.transition 1950, 4, :o2, 38933973, 16
tz.transition 1950, 10, :o1, 116811997, 48
tz.transition 1951, 3, :o2, 38939797, 16
tz.transition 1951, 10, :o1, 116829469, 48
tz.transition 1952, 4, :o2, 38945733, 16
tz.transition 1952, 10, :o1, 116846941, 48
tz.transition 1953, 4, :o2, 38951557, 16
tz.transition 1953, 10, :o1, 116864749, 48
tz.transition 1954, 3, :o2, 38957157, 16
tz.transition 1954, 10, :o1, 116882221, 48
tz.transition 1955, 3, :o2, 38962981, 16
tz.transition 1955, 11, :o1, 116900029, 48
tz.transition 1956, 3, :o2, 38968805, 16
tz.transition 1956, 11, :o1, 116917501, 48
tz.transition 1957, 3, :o2, 38974741, 16
tz.transition 1957, 11, :o1, 116934973, 48
tz.transition 1958, 3, :o2, 38980565, 16
tz.transition 1958, 11, :o1, 116952445, 48
tz.transition 1959, 3, :o2, 38986389, 16
tz.transition 1959, 10, :o1, 116969917, 48
tz.transition 1960, 3, :o2, 38992213, 16
tz.transition 1960, 11, :o1, 116987725, 48
tz.transition 1961, 3, :o2, 38998037, 16
tz.transition 1961, 11, :o1, 117005197, 48
tz.transition 1962, 3, :o2, 39003861, 16
tz.transition 1962, 11, :o1, 117022669, 48
tz.transition 1963, 3, :o2, 39009797, 16
tz.transition 1963, 11, :o1, 117040141, 48
tz.transition 1964, 3, :o2, 39015621, 16
tz.transition 1964, 10, :o1, 117057613, 48
tz.transition 1965, 4, :o2, 39021893, 16
tz.transition 1965, 10, :o1, 117074413, 48
tz.transition 1966, 4, :o2, 39027717, 16
tz.transition 1966, 10, :o1, 117091885, 48
tz.transition 1967, 4, :o2, 39033541, 16
tz.transition 1967, 10, :o1, 117109693, 48
tz.transition 1968, 4, :o2, 39039477, 16
tz.transition 1968, 10, :o1, 117127165, 48
tz.transition 1969, 4, :o2, 39045301, 16
tz.transition 1969, 10, :o1, 117144637, 48
tz.transition 1970, 4, :o2, 9315000
tz.transition 1970, 10, :o1, 25036200
tz.transition 1971, 4, :o2, 40764600
tz.transition 1971, 10, :o1, 56485800
tz.transition 1972, 4, :o2, 72214200
tz.transition 1972, 10, :o1, 88540200
tz.transition 1973, 4, :o2, 104268600
tz.transition 1973, 10, :o1, 119989800
tz.transition 1974, 4, :o2, 135718200
tz.transition 1974, 10, :o1, 151439400
tz.transition 1975, 4, :o2, 167167800
tz.transition 1975, 10, :o1, 182889000
tz.transition 1976, 4, :o2, 198617400
tz.transition 1976, 10, :o1, 214338600
tz.transition 1977, 4, :o2, 230067000
tz.transition 1977, 10, :o1, 245788200
tz.transition 1979, 5, :o2, 295385400
tz.transition 1979, 10, :o1, 309292200
tz.transition 1980, 5, :o2, 326835000
tz.transition 1980, 10, :o1, 340741800
end
end
end
end
end

View File

@@ -0,0 +1,165 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Irkutsk
include TimezoneDefinition
timezone 'Asia/Irkutsk' do |tz|
tz.offset :o0, 25040, 0, :LMT
tz.offset :o1, 25040, 0, :IMT
tz.offset :o2, 25200, 0, :IRKT
tz.offset :o3, 28800, 0, :IRKT
tz.offset :o4, 28800, 3600, :IRKST
tz.offset :o5, 25200, 3600, :IRKST
tz.transition 1879, 12, :o1, 2600332427, 1080
tz.transition 1920, 1, :o2, 2616136067, 1080
tz.transition 1930, 6, :o3, 58227557, 24
tz.transition 1981, 3, :o4, 354902400
tz.transition 1981, 9, :o3, 370710000
tz.transition 1982, 3, :o4, 386438400
tz.transition 1982, 9, :o3, 402246000
tz.transition 1983, 3, :o4, 417974400
tz.transition 1983, 9, :o3, 433782000
tz.transition 1984, 3, :o4, 449596800
tz.transition 1984, 9, :o3, 465328800
tz.transition 1985, 3, :o4, 481053600
tz.transition 1985, 9, :o3, 496778400
tz.transition 1986, 3, :o4, 512503200
tz.transition 1986, 9, :o3, 528228000
tz.transition 1987, 3, :o4, 543952800
tz.transition 1987, 9, :o3, 559677600
tz.transition 1988, 3, :o4, 575402400
tz.transition 1988, 9, :o3, 591127200
tz.transition 1989, 3, :o4, 606852000
tz.transition 1989, 9, :o3, 622576800
tz.transition 1990, 3, :o4, 638301600
tz.transition 1990, 9, :o3, 654631200
tz.transition 1991, 3, :o5, 670356000
tz.transition 1991, 9, :o2, 686084400
tz.transition 1992, 1, :o3, 695761200
tz.transition 1992, 3, :o4, 701794800
tz.transition 1992, 9, :o3, 717516000
tz.transition 1993, 3, :o4, 733255200
tz.transition 1993, 9, :o3, 748980000
tz.transition 1994, 3, :o4, 764704800
tz.transition 1994, 9, :o3, 780429600
tz.transition 1995, 3, :o4, 796154400
tz.transition 1995, 9, :o3, 811879200
tz.transition 1996, 3, :o4, 828208800
tz.transition 1996, 10, :o3, 846352800
tz.transition 1997, 3, :o4, 859658400
tz.transition 1997, 10, :o3, 877802400
tz.transition 1998, 3, :o4, 891108000
tz.transition 1998, 10, :o3, 909252000
tz.transition 1999, 3, :o4, 922557600
tz.transition 1999, 10, :o3, 941306400
tz.transition 2000, 3, :o4, 954007200
tz.transition 2000, 10, :o3, 972756000
tz.transition 2001, 3, :o4, 985456800
tz.transition 2001, 10, :o3, 1004205600
tz.transition 2002, 3, :o4, 1017511200
tz.transition 2002, 10, :o3, 1035655200
tz.transition 2003, 3, :o4, 1048960800
tz.transition 2003, 10, :o3, 1067104800
tz.transition 2004, 3, :o4, 1080410400
tz.transition 2004, 10, :o3, 1099159200
tz.transition 2005, 3, :o4, 1111860000
tz.transition 2005, 10, :o3, 1130608800
tz.transition 2006, 3, :o4, 1143309600
tz.transition 2006, 10, :o3, 1162058400
tz.transition 2007, 3, :o4, 1174759200
tz.transition 2007, 10, :o3, 1193508000
tz.transition 2008, 3, :o4, 1206813600
tz.transition 2008, 10, :o3, 1224957600
tz.transition 2009, 3, :o4, 1238263200
tz.transition 2009, 10, :o3, 1256407200
tz.transition 2010, 3, :o4, 1269712800
tz.transition 2010, 10, :o3, 1288461600
tz.transition 2011, 3, :o4, 1301162400
tz.transition 2011, 10, :o3, 1319911200
tz.transition 2012, 3, :o4, 1332612000
tz.transition 2012, 10, :o3, 1351360800
tz.transition 2013, 3, :o4, 1364666400
tz.transition 2013, 10, :o3, 1382810400
tz.transition 2014, 3, :o4, 1396116000
tz.transition 2014, 10, :o3, 1414260000
tz.transition 2015, 3, :o4, 1427565600
tz.transition 2015, 10, :o3, 1445709600
tz.transition 2016, 3, :o4, 1459015200
tz.transition 2016, 10, :o3, 1477764000
tz.transition 2017, 3, :o4, 1490464800
tz.transition 2017, 10, :o3, 1509213600
tz.transition 2018, 3, :o4, 1521914400
tz.transition 2018, 10, :o3, 1540663200
tz.transition 2019, 3, :o4, 1553968800
tz.transition 2019, 10, :o3, 1572112800
tz.transition 2020, 3, :o4, 1585418400
tz.transition 2020, 10, :o3, 1603562400
tz.transition 2021, 3, :o4, 1616868000
tz.transition 2021, 10, :o3, 1635616800
tz.transition 2022, 3, :o4, 1648317600
tz.transition 2022, 10, :o3, 1667066400
tz.transition 2023, 3, :o4, 1679767200
tz.transition 2023, 10, :o3, 1698516000
tz.transition 2024, 3, :o4, 1711821600
tz.transition 2024, 10, :o3, 1729965600
tz.transition 2025, 3, :o4, 1743271200
tz.transition 2025, 10, :o3, 1761415200
tz.transition 2026, 3, :o4, 1774720800
tz.transition 2026, 10, :o3, 1792864800
tz.transition 2027, 3, :o4, 1806170400
tz.transition 2027, 10, :o3, 1824919200
tz.transition 2028, 3, :o4, 1837620000
tz.transition 2028, 10, :o3, 1856368800
tz.transition 2029, 3, :o4, 1869069600
tz.transition 2029, 10, :o3, 1887818400
tz.transition 2030, 3, :o4, 1901124000
tz.transition 2030, 10, :o3, 1919268000
tz.transition 2031, 3, :o4, 1932573600
tz.transition 2031, 10, :o3, 1950717600
tz.transition 2032, 3, :o4, 1964023200
tz.transition 2032, 10, :o3, 1982772000
tz.transition 2033, 3, :o4, 1995472800
tz.transition 2033, 10, :o3, 2014221600
tz.transition 2034, 3, :o4, 2026922400
tz.transition 2034, 10, :o3, 2045671200
tz.transition 2035, 3, :o4, 2058372000
tz.transition 2035, 10, :o3, 2077120800
tz.transition 2036, 3, :o4, 2090426400
tz.transition 2036, 10, :o3, 2108570400
tz.transition 2037, 3, :o4, 2121876000
tz.transition 2037, 10, :o3, 2140020000
tz.transition 2038, 3, :o4, 9862041, 4
tz.transition 2038, 10, :o3, 9862909, 4
tz.transition 2039, 3, :o4, 9863497, 4
tz.transition 2039, 10, :o3, 9864365, 4
tz.transition 2040, 3, :o4, 9864953, 4
tz.transition 2040, 10, :o3, 9865821, 4
tz.transition 2041, 3, :o4, 9866437, 4
tz.transition 2041, 10, :o3, 9867277, 4
tz.transition 2042, 3, :o4, 9867893, 4
tz.transition 2042, 10, :o3, 9868733, 4
tz.transition 2043, 3, :o4, 9869349, 4
tz.transition 2043, 10, :o3, 9870189, 4
tz.transition 2044, 3, :o4, 9870805, 4
tz.transition 2044, 10, :o3, 9871673, 4
tz.transition 2045, 3, :o4, 9872261, 4
tz.transition 2045, 10, :o3, 9873129, 4
tz.transition 2046, 3, :o4, 9873717, 4
tz.transition 2046, 10, :o3, 9874585, 4
tz.transition 2047, 3, :o4, 9875201, 4
tz.transition 2047, 10, :o3, 9876041, 4
tz.transition 2048, 3, :o4, 9876657, 4
tz.transition 2048, 10, :o3, 9877497, 4
tz.transition 2049, 3, :o4, 9878113, 4
tz.transition 2049, 10, :o3, 9878981, 4
tz.transition 2050, 3, :o4, 9879569, 4
tz.transition 2050, 10, :o3, 9880437, 4
end
end
end
end
end

View File

@@ -0,0 +1,30 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Jakarta
include TimezoneDefinition
timezone 'Asia/Jakarta' do |tz|
tz.offset :o0, 25632, 0, :LMT
tz.offset :o1, 25632, 0, :JMT
tz.offset :o2, 26400, 0, :JAVT
tz.offset :o3, 27000, 0, :WIT
tz.offset :o4, 32400, 0, :JST
tz.offset :o5, 28800, 0, :WIT
tz.offset :o6, 25200, 0, :WIT
tz.transition 1867, 8, :o1, 720956461, 300
tz.transition 1923, 12, :o2, 87256267, 36
tz.transition 1932, 10, :o3, 87372439, 36
tz.transition 1942, 3, :o4, 38887059, 16
tz.transition 1945, 9, :o3, 19453769, 8
tz.transition 1948, 4, :o5, 38922755, 16
tz.transition 1950, 4, :o3, 14600413, 6
tz.transition 1963, 12, :o6, 39014323, 16
end
end
end
end
end

View File

@@ -0,0 +1,163 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Jerusalem
include TimezoneDefinition
timezone 'Asia/Jerusalem' do |tz|
tz.offset :o0, 8456, 0, :LMT
tz.offset :o1, 8440, 0, :JMT
tz.offset :o2, 7200, 0, :IST
tz.offset :o3, 7200, 3600, :IDT
tz.offset :o4, 7200, 7200, :IDDT
tz.transition 1879, 12, :o1, 26003326343, 10800
tz.transition 1917, 12, :o2, 5230643909, 2160
tz.transition 1940, 5, :o3, 29157377, 12
tz.transition 1942, 10, :o2, 19445315, 8
tz.transition 1943, 4, :o3, 4861631, 2
tz.transition 1943, 10, :o2, 19448235, 8
tz.transition 1944, 3, :o3, 29174177, 12
tz.transition 1944, 10, :o2, 19451163, 8
tz.transition 1945, 4, :o3, 29178737, 12
tz.transition 1945, 10, :o2, 58362251, 24
tz.transition 1946, 4, :o3, 4863853, 2
tz.transition 1946, 10, :o2, 19457003, 8
tz.transition 1948, 5, :o4, 29192333, 12
tz.transition 1948, 8, :o3, 7298386, 3
tz.transition 1948, 10, :o2, 58388555, 24
tz.transition 1949, 4, :o3, 29196449, 12
tz.transition 1949, 10, :o2, 58397315, 24
tz.transition 1950, 4, :o3, 29200649, 12
tz.transition 1950, 9, :o2, 4867079, 2
tz.transition 1951, 3, :o3, 29204849, 12
tz.transition 1951, 11, :o2, 4867923, 2
tz.transition 1952, 4, :o3, 4868245, 2
tz.transition 1952, 10, :o2, 4868609, 2
tz.transition 1953, 4, :o3, 4868959, 2
tz.transition 1953, 9, :o2, 4869267, 2
tz.transition 1954, 6, :o3, 29218877, 12
tz.transition 1954, 9, :o2, 19479979, 8
tz.transition 1955, 6, :o3, 4870539, 2
tz.transition 1955, 9, :o2, 19482891, 8
tz.transition 1956, 6, :o3, 29227529, 12
tz.transition 1956, 9, :o2, 4871493, 2
tz.transition 1957, 4, :o3, 4871915, 2
tz.transition 1957, 9, :o2, 19488827, 8
tz.transition 1974, 7, :o3, 142380000
tz.transition 1974, 10, :o2, 150843600
tz.transition 1975, 4, :o3, 167176800
tz.transition 1975, 8, :o2, 178664400
tz.transition 1985, 4, :o3, 482277600
tz.transition 1985, 9, :o2, 495579600
tz.transition 1986, 5, :o3, 516751200
tz.transition 1986, 9, :o2, 526424400
tz.transition 1987, 4, :o3, 545436000
tz.transition 1987, 9, :o2, 558478800
tz.transition 1988, 4, :o3, 576540000
tz.transition 1988, 9, :o2, 589237200
tz.transition 1989, 4, :o3, 609890400
tz.transition 1989, 9, :o2, 620773200
tz.transition 1990, 3, :o3, 638316000
tz.transition 1990, 8, :o2, 651618000
tz.transition 1991, 3, :o3, 669765600
tz.transition 1991, 8, :o2, 683672400
tz.transition 1992, 3, :o3, 701820000
tz.transition 1992, 9, :o2, 715726800
tz.transition 1993, 4, :o3, 733701600
tz.transition 1993, 9, :o2, 747176400
tz.transition 1994, 3, :o3, 765151200
tz.transition 1994, 8, :o2, 778021200
tz.transition 1995, 3, :o3, 796600800
tz.transition 1995, 9, :o2, 810075600
tz.transition 1996, 3, :o3, 826840800
tz.transition 1996, 9, :o2, 842821200
tz.transition 1997, 3, :o3, 858895200
tz.transition 1997, 9, :o2, 874184400
tz.transition 1998, 3, :o3, 890344800
tz.transition 1998, 9, :o2, 905029200
tz.transition 1999, 4, :o3, 923011200
tz.transition 1999, 9, :o2, 936313200
tz.transition 2000, 4, :o3, 955670400
tz.transition 2000, 10, :o2, 970783200
tz.transition 2001, 4, :o3, 986770800
tz.transition 2001, 9, :o2, 1001282400
tz.transition 2002, 3, :o3, 1017356400
tz.transition 2002, 10, :o2, 1033941600
tz.transition 2003, 3, :o3, 1048806000
tz.transition 2003, 10, :o2, 1065132000
tz.transition 2004, 4, :o3, 1081292400
tz.transition 2004, 9, :o2, 1095804000
tz.transition 2005, 4, :o3, 1112313600
tz.transition 2005, 10, :o2, 1128812400
tz.transition 2006, 3, :o3, 1143763200
tz.transition 2006, 9, :o2, 1159657200
tz.transition 2007, 3, :o3, 1175212800
tz.transition 2007, 9, :o2, 1189897200
tz.transition 2008, 3, :o3, 1206662400
tz.transition 2008, 10, :o2, 1223161200
tz.transition 2009, 3, :o3, 1238112000
tz.transition 2009, 9, :o2, 1254006000
tz.transition 2010, 3, :o3, 1269561600
tz.transition 2010, 9, :o2, 1284246000
tz.transition 2011, 4, :o3, 1301616000
tz.transition 2011, 10, :o2, 1317510000
tz.transition 2012, 3, :o3, 1333065600
tz.transition 2012, 9, :o2, 1348354800
tz.transition 2013, 3, :o3, 1364515200
tz.transition 2013, 9, :o2, 1378594800
tz.transition 2014, 3, :o3, 1395964800
tz.transition 2014, 9, :o2, 1411858800
tz.transition 2015, 3, :o3, 1427414400
tz.transition 2015, 9, :o2, 1442703600
tz.transition 2016, 4, :o3, 1459468800
tz.transition 2016, 10, :o2, 1475967600
tz.transition 2017, 3, :o3, 1490918400
tz.transition 2017, 9, :o2, 1506207600
tz.transition 2018, 3, :o3, 1522368000
tz.transition 2018, 9, :o2, 1537052400
tz.transition 2019, 3, :o3, 1553817600
tz.transition 2019, 10, :o2, 1570316400
tz.transition 2020, 3, :o3, 1585267200
tz.transition 2020, 9, :o2, 1601161200
tz.transition 2021, 3, :o3, 1616716800
tz.transition 2021, 9, :o2, 1631401200
tz.transition 2022, 4, :o3, 1648771200
tz.transition 2022, 10, :o2, 1664665200
tz.transition 2023, 3, :o3, 1680220800
tz.transition 2023, 9, :o2, 1695510000
tz.transition 2024, 3, :o3, 1711670400
tz.transition 2024, 10, :o2, 1728169200
tz.transition 2025, 3, :o3, 1743120000
tz.transition 2025, 9, :o2, 1759014000
tz.transition 2026, 3, :o3, 1774569600
tz.transition 2026, 9, :o2, 1789858800
tz.transition 2027, 3, :o3, 1806019200
tz.transition 2027, 10, :o2, 1823122800
tz.transition 2028, 3, :o3, 1838073600
tz.transition 2028, 9, :o2, 1853362800
tz.transition 2029, 3, :o3, 1869523200
tz.transition 2029, 9, :o2, 1884207600
tz.transition 2030, 3, :o3, 1900972800
tz.transition 2030, 10, :o2, 1917471600
tz.transition 2031, 3, :o3, 1932422400
tz.transition 2031, 9, :o2, 1947711600
tz.transition 2032, 3, :o3, 1963872000
tz.transition 2032, 9, :o2, 1978556400
tz.transition 2033, 4, :o3, 1995926400
tz.transition 2033, 10, :o2, 2011820400
tz.transition 2034, 3, :o3, 2027376000
tz.transition 2034, 9, :o2, 2042060400
tz.transition 2035, 3, :o3, 2058825600
tz.transition 2035, 10, :o2, 2075324400
tz.transition 2036, 3, :o3, 2090275200
tz.transition 2036, 9, :o2, 2106169200
tz.transition 2037, 3, :o3, 2121724800
tz.transition 2037, 9, :o2, 2136409200
end
end
end
end
end

View File

@@ -0,0 +1,20 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Kabul
include TimezoneDefinition
timezone 'Asia/Kabul' do |tz|
tz.offset :o0, 16608, 0, :LMT
tz.offset :o1, 14400, 0, :AFT
tz.offset :o2, 16200, 0, :AFT
tz.transition 1889, 12, :o1, 2170231477, 900
tz.transition 1944, 12, :o2, 7294369, 3
end
end
end
end
end

View File

@@ -0,0 +1,163 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Kamchatka
include TimezoneDefinition
timezone 'Asia/Kamchatka' do |tz|
tz.offset :o0, 38076, 0, :LMT
tz.offset :o1, 39600, 0, :PETT
tz.offset :o2, 43200, 0, :PETT
tz.offset :o3, 43200, 3600, :PETST
tz.offset :o4, 39600, 3600, :PETST
tz.transition 1922, 11, :o1, 17448250027, 7200
tz.transition 1930, 6, :o2, 58227553, 24
tz.transition 1981, 3, :o3, 354888000
tz.transition 1981, 9, :o2, 370695600
tz.transition 1982, 3, :o3, 386424000
tz.transition 1982, 9, :o2, 402231600
tz.transition 1983, 3, :o3, 417960000
tz.transition 1983, 9, :o2, 433767600
tz.transition 1984, 3, :o3, 449582400
tz.transition 1984, 9, :o2, 465314400
tz.transition 1985, 3, :o3, 481039200
tz.transition 1985, 9, :o2, 496764000
tz.transition 1986, 3, :o3, 512488800
tz.transition 1986, 9, :o2, 528213600
tz.transition 1987, 3, :o3, 543938400
tz.transition 1987, 9, :o2, 559663200
tz.transition 1988, 3, :o3, 575388000
tz.transition 1988, 9, :o2, 591112800
tz.transition 1989, 3, :o3, 606837600
tz.transition 1989, 9, :o2, 622562400
tz.transition 1990, 3, :o3, 638287200
tz.transition 1990, 9, :o2, 654616800
tz.transition 1991, 3, :o4, 670341600
tz.transition 1991, 9, :o1, 686070000
tz.transition 1992, 1, :o2, 695746800
tz.transition 1992, 3, :o3, 701780400
tz.transition 1992, 9, :o2, 717501600
tz.transition 1993, 3, :o3, 733240800
tz.transition 1993, 9, :o2, 748965600
tz.transition 1994, 3, :o3, 764690400
tz.transition 1994, 9, :o2, 780415200
tz.transition 1995, 3, :o3, 796140000
tz.transition 1995, 9, :o2, 811864800
tz.transition 1996, 3, :o3, 828194400
tz.transition 1996, 10, :o2, 846338400
tz.transition 1997, 3, :o3, 859644000
tz.transition 1997, 10, :o2, 877788000
tz.transition 1998, 3, :o3, 891093600
tz.transition 1998, 10, :o2, 909237600
tz.transition 1999, 3, :o3, 922543200
tz.transition 1999, 10, :o2, 941292000
tz.transition 2000, 3, :o3, 953992800
tz.transition 2000, 10, :o2, 972741600
tz.transition 2001, 3, :o3, 985442400
tz.transition 2001, 10, :o2, 1004191200
tz.transition 2002, 3, :o3, 1017496800
tz.transition 2002, 10, :o2, 1035640800
tz.transition 2003, 3, :o3, 1048946400
tz.transition 2003, 10, :o2, 1067090400
tz.transition 2004, 3, :o3, 1080396000
tz.transition 2004, 10, :o2, 1099144800
tz.transition 2005, 3, :o3, 1111845600
tz.transition 2005, 10, :o2, 1130594400
tz.transition 2006, 3, :o3, 1143295200
tz.transition 2006, 10, :o2, 1162044000
tz.transition 2007, 3, :o3, 1174744800
tz.transition 2007, 10, :o2, 1193493600
tz.transition 2008, 3, :o3, 1206799200
tz.transition 2008, 10, :o2, 1224943200
tz.transition 2009, 3, :o3, 1238248800
tz.transition 2009, 10, :o2, 1256392800
tz.transition 2010, 3, :o3, 1269698400
tz.transition 2010, 10, :o2, 1288447200
tz.transition 2011, 3, :o3, 1301148000
tz.transition 2011, 10, :o2, 1319896800
tz.transition 2012, 3, :o3, 1332597600
tz.transition 2012, 10, :o2, 1351346400
tz.transition 2013, 3, :o3, 1364652000
tz.transition 2013, 10, :o2, 1382796000
tz.transition 2014, 3, :o3, 1396101600
tz.transition 2014, 10, :o2, 1414245600
tz.transition 2015, 3, :o3, 1427551200
tz.transition 2015, 10, :o2, 1445695200
tz.transition 2016, 3, :o3, 1459000800
tz.transition 2016, 10, :o2, 1477749600
tz.transition 2017, 3, :o3, 1490450400
tz.transition 2017, 10, :o2, 1509199200
tz.transition 2018, 3, :o3, 1521900000
tz.transition 2018, 10, :o2, 1540648800
tz.transition 2019, 3, :o3, 1553954400
tz.transition 2019, 10, :o2, 1572098400
tz.transition 2020, 3, :o3, 1585404000
tz.transition 2020, 10, :o2, 1603548000
tz.transition 2021, 3, :o3, 1616853600
tz.transition 2021, 10, :o2, 1635602400
tz.transition 2022, 3, :o3, 1648303200
tz.transition 2022, 10, :o2, 1667052000
tz.transition 2023, 3, :o3, 1679752800
tz.transition 2023, 10, :o2, 1698501600
tz.transition 2024, 3, :o3, 1711807200
tz.transition 2024, 10, :o2, 1729951200
tz.transition 2025, 3, :o3, 1743256800
tz.transition 2025, 10, :o2, 1761400800
tz.transition 2026, 3, :o3, 1774706400
tz.transition 2026, 10, :o2, 1792850400
tz.transition 2027, 3, :o3, 1806156000
tz.transition 2027, 10, :o2, 1824904800
tz.transition 2028, 3, :o3, 1837605600
tz.transition 2028, 10, :o2, 1856354400
tz.transition 2029, 3, :o3, 1869055200
tz.transition 2029, 10, :o2, 1887804000
tz.transition 2030, 3, :o3, 1901109600
tz.transition 2030, 10, :o2, 1919253600
tz.transition 2031, 3, :o3, 1932559200
tz.transition 2031, 10, :o2, 1950703200
tz.transition 2032, 3, :o3, 1964008800
tz.transition 2032, 10, :o2, 1982757600
tz.transition 2033, 3, :o3, 1995458400
tz.transition 2033, 10, :o2, 2014207200
tz.transition 2034, 3, :o3, 2026908000
tz.transition 2034, 10, :o2, 2045656800
tz.transition 2035, 3, :o3, 2058357600
tz.transition 2035, 10, :o2, 2077106400
tz.transition 2036, 3, :o3, 2090412000
tz.transition 2036, 10, :o2, 2108556000
tz.transition 2037, 3, :o3, 2121861600
tz.transition 2037, 10, :o2, 2140005600
tz.transition 2038, 3, :o3, 29586121, 12
tz.transition 2038, 10, :o2, 29588725, 12
tz.transition 2039, 3, :o3, 29590489, 12
tz.transition 2039, 10, :o2, 29593093, 12
tz.transition 2040, 3, :o3, 29594857, 12
tz.transition 2040, 10, :o2, 29597461, 12
tz.transition 2041, 3, :o3, 29599309, 12
tz.transition 2041, 10, :o2, 29601829, 12
tz.transition 2042, 3, :o3, 29603677, 12
tz.transition 2042, 10, :o2, 29606197, 12
tz.transition 2043, 3, :o3, 29608045, 12
tz.transition 2043, 10, :o2, 29610565, 12
tz.transition 2044, 3, :o3, 29612413, 12
tz.transition 2044, 10, :o2, 29615017, 12
tz.transition 2045, 3, :o3, 29616781, 12
tz.transition 2045, 10, :o2, 29619385, 12
tz.transition 2046, 3, :o3, 29621149, 12
tz.transition 2046, 10, :o2, 29623753, 12
tz.transition 2047, 3, :o3, 29625601, 12
tz.transition 2047, 10, :o2, 29628121, 12
tz.transition 2048, 3, :o3, 29629969, 12
tz.transition 2048, 10, :o2, 29632489, 12
tz.transition 2049, 3, :o3, 29634337, 12
tz.transition 2049, 10, :o2, 29636941, 12
tz.transition 2050, 3, :o3, 29638705, 12
tz.transition 2050, 10, :o2, 29641309, 12
end
end
end
end
end

View File

@@ -0,0 +1,30 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Karachi
include TimezoneDefinition
timezone 'Asia/Karachi' do |tz|
tz.offset :o0, 16092, 0, :LMT
tz.offset :o1, 19800, 0, :IST
tz.offset :o2, 19800, 3600, :IST
tz.offset :o3, 18000, 0, :KART
tz.offset :o4, 18000, 0, :PKT
tz.offset :o5, 18000, 3600, :PKST
tz.transition 1906, 12, :o1, 1934061051, 800
tz.transition 1942, 8, :o2, 116668957, 48
tz.transition 1945, 10, :o1, 116723675, 48
tz.transition 1951, 9, :o3, 116828125, 48
tz.transition 1971, 3, :o4, 38775600
tz.transition 2002, 4, :o5, 1018119660
tz.transition 2002, 10, :o4, 1033840860
tz.transition 2008, 5, :o5, 1212260400
tz.transition 2008, 10, :o4, 1225476000
end
end
end
end
end

View File

@@ -0,0 +1,20 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Katmandu
include TimezoneDefinition
timezone 'Asia/Katmandu' do |tz|
tz.offset :o0, 20476, 0, :LMT
tz.offset :o1, 19800, 0, :IST
tz.offset :o2, 20700, 0, :NPT
tz.transition 1919, 12, :o1, 52322204081, 21600
tz.transition 1985, 12, :o2, 504901800
end
end
end
end
end

View File

@@ -0,0 +1,25 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Kolkata
include TimezoneDefinition
timezone 'Asia/Kolkata' do |tz|
tz.offset :o0, 21208, 0, :LMT
tz.offset :o1, 21200, 0, :HMT
tz.offset :o2, 23400, 0, :BURT
tz.offset :o3, 19800, 0, :IST
tz.offset :o4, 19800, 3600, :IST
tz.transition 1879, 12, :o1, 26003324749, 10800
tz.transition 1941, 9, :o2, 524937943, 216
tz.transition 1942, 5, :o3, 116663723, 48
tz.transition 1942, 8, :o4, 116668957, 48
tz.transition 1945, 10, :o3, 116723675, 48
end
end
end
end
end

View File

@@ -0,0 +1,163 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Krasnoyarsk
include TimezoneDefinition
timezone 'Asia/Krasnoyarsk' do |tz|
tz.offset :o0, 22280, 0, :LMT
tz.offset :o1, 21600, 0, :KRAT
tz.offset :o2, 25200, 0, :KRAT
tz.offset :o3, 25200, 3600, :KRAST
tz.offset :o4, 21600, 3600, :KRAST
tz.transition 1920, 1, :o1, 5232231163, 2160
tz.transition 1930, 6, :o2, 9704593, 4
tz.transition 1981, 3, :o3, 354906000
tz.transition 1981, 9, :o2, 370713600
tz.transition 1982, 3, :o3, 386442000
tz.transition 1982, 9, :o2, 402249600
tz.transition 1983, 3, :o3, 417978000
tz.transition 1983, 9, :o2, 433785600
tz.transition 1984, 3, :o3, 449600400
tz.transition 1984, 9, :o2, 465332400
tz.transition 1985, 3, :o3, 481057200
tz.transition 1985, 9, :o2, 496782000
tz.transition 1986, 3, :o3, 512506800
tz.transition 1986, 9, :o2, 528231600
tz.transition 1987, 3, :o3, 543956400
tz.transition 1987, 9, :o2, 559681200
tz.transition 1988, 3, :o3, 575406000
tz.transition 1988, 9, :o2, 591130800
tz.transition 1989, 3, :o3, 606855600
tz.transition 1989, 9, :o2, 622580400
tz.transition 1990, 3, :o3, 638305200
tz.transition 1990, 9, :o2, 654634800
tz.transition 1991, 3, :o4, 670359600
tz.transition 1991, 9, :o1, 686088000
tz.transition 1992, 1, :o2, 695764800
tz.transition 1992, 3, :o3, 701798400
tz.transition 1992, 9, :o2, 717519600
tz.transition 1993, 3, :o3, 733258800
tz.transition 1993, 9, :o2, 748983600
tz.transition 1994, 3, :o3, 764708400
tz.transition 1994, 9, :o2, 780433200
tz.transition 1995, 3, :o3, 796158000
tz.transition 1995, 9, :o2, 811882800
tz.transition 1996, 3, :o3, 828212400
tz.transition 1996, 10, :o2, 846356400
tz.transition 1997, 3, :o3, 859662000
tz.transition 1997, 10, :o2, 877806000
tz.transition 1998, 3, :o3, 891111600
tz.transition 1998, 10, :o2, 909255600
tz.transition 1999, 3, :o3, 922561200
tz.transition 1999, 10, :o2, 941310000
tz.transition 2000, 3, :o3, 954010800
tz.transition 2000, 10, :o2, 972759600
tz.transition 2001, 3, :o3, 985460400
tz.transition 2001, 10, :o2, 1004209200
tz.transition 2002, 3, :o3, 1017514800
tz.transition 2002, 10, :o2, 1035658800
tz.transition 2003, 3, :o3, 1048964400
tz.transition 2003, 10, :o2, 1067108400
tz.transition 2004, 3, :o3, 1080414000
tz.transition 2004, 10, :o2, 1099162800
tz.transition 2005, 3, :o3, 1111863600
tz.transition 2005, 10, :o2, 1130612400
tz.transition 2006, 3, :o3, 1143313200
tz.transition 2006, 10, :o2, 1162062000
tz.transition 2007, 3, :o3, 1174762800
tz.transition 2007, 10, :o2, 1193511600
tz.transition 2008, 3, :o3, 1206817200
tz.transition 2008, 10, :o2, 1224961200
tz.transition 2009, 3, :o3, 1238266800
tz.transition 2009, 10, :o2, 1256410800
tz.transition 2010, 3, :o3, 1269716400
tz.transition 2010, 10, :o2, 1288465200
tz.transition 2011, 3, :o3, 1301166000
tz.transition 2011, 10, :o2, 1319914800
tz.transition 2012, 3, :o3, 1332615600
tz.transition 2012, 10, :o2, 1351364400
tz.transition 2013, 3, :o3, 1364670000
tz.transition 2013, 10, :o2, 1382814000
tz.transition 2014, 3, :o3, 1396119600
tz.transition 2014, 10, :o2, 1414263600
tz.transition 2015, 3, :o3, 1427569200
tz.transition 2015, 10, :o2, 1445713200
tz.transition 2016, 3, :o3, 1459018800
tz.transition 2016, 10, :o2, 1477767600
tz.transition 2017, 3, :o3, 1490468400
tz.transition 2017, 10, :o2, 1509217200
tz.transition 2018, 3, :o3, 1521918000
tz.transition 2018, 10, :o2, 1540666800
tz.transition 2019, 3, :o3, 1553972400
tz.transition 2019, 10, :o2, 1572116400
tz.transition 2020, 3, :o3, 1585422000
tz.transition 2020, 10, :o2, 1603566000
tz.transition 2021, 3, :o3, 1616871600
tz.transition 2021, 10, :o2, 1635620400
tz.transition 2022, 3, :o3, 1648321200
tz.transition 2022, 10, :o2, 1667070000
tz.transition 2023, 3, :o3, 1679770800
tz.transition 2023, 10, :o2, 1698519600
tz.transition 2024, 3, :o3, 1711825200
tz.transition 2024, 10, :o2, 1729969200
tz.transition 2025, 3, :o3, 1743274800
tz.transition 2025, 10, :o2, 1761418800
tz.transition 2026, 3, :o3, 1774724400
tz.transition 2026, 10, :o2, 1792868400
tz.transition 2027, 3, :o3, 1806174000
tz.transition 2027, 10, :o2, 1824922800
tz.transition 2028, 3, :o3, 1837623600
tz.transition 2028, 10, :o2, 1856372400
tz.transition 2029, 3, :o3, 1869073200
tz.transition 2029, 10, :o2, 1887822000
tz.transition 2030, 3, :o3, 1901127600
tz.transition 2030, 10, :o2, 1919271600
tz.transition 2031, 3, :o3, 1932577200
tz.transition 2031, 10, :o2, 1950721200
tz.transition 2032, 3, :o3, 1964026800
tz.transition 2032, 10, :o2, 1982775600
tz.transition 2033, 3, :o3, 1995476400
tz.transition 2033, 10, :o2, 2014225200
tz.transition 2034, 3, :o3, 2026926000
tz.transition 2034, 10, :o2, 2045674800
tz.transition 2035, 3, :o3, 2058375600
tz.transition 2035, 10, :o2, 2077124400
tz.transition 2036, 3, :o3, 2090430000
tz.transition 2036, 10, :o2, 2108574000
tz.transition 2037, 3, :o3, 2121879600
tz.transition 2037, 10, :o2, 2140023600
tz.transition 2038, 3, :o3, 59172247, 24
tz.transition 2038, 10, :o2, 59177455, 24
tz.transition 2039, 3, :o3, 59180983, 24
tz.transition 2039, 10, :o2, 59186191, 24
tz.transition 2040, 3, :o3, 59189719, 24
tz.transition 2040, 10, :o2, 59194927, 24
tz.transition 2041, 3, :o3, 59198623, 24
tz.transition 2041, 10, :o2, 59203663, 24
tz.transition 2042, 3, :o3, 59207359, 24
tz.transition 2042, 10, :o2, 59212399, 24
tz.transition 2043, 3, :o3, 59216095, 24
tz.transition 2043, 10, :o2, 59221135, 24
tz.transition 2044, 3, :o3, 59224831, 24
tz.transition 2044, 10, :o2, 59230039, 24
tz.transition 2045, 3, :o3, 59233567, 24
tz.transition 2045, 10, :o2, 59238775, 24
tz.transition 2046, 3, :o3, 59242303, 24
tz.transition 2046, 10, :o2, 59247511, 24
tz.transition 2047, 3, :o3, 59251207, 24
tz.transition 2047, 10, :o2, 59256247, 24
tz.transition 2048, 3, :o3, 59259943, 24
tz.transition 2048, 10, :o2, 59264983, 24
tz.transition 2049, 3, :o3, 59268679, 24
tz.transition 2049, 10, :o2, 59273887, 24
tz.transition 2050, 3, :o3, 59277415, 24
tz.transition 2050, 10, :o2, 59282623, 24
end
end
end
end
end

View File

@@ -0,0 +1,31 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Kuala_Lumpur
include TimezoneDefinition
timezone 'Asia/Kuala_Lumpur' do |tz|
tz.offset :o0, 24406, 0, :LMT
tz.offset :o1, 24925, 0, :SMT
tz.offset :o2, 25200, 0, :MALT
tz.offset :o3, 25200, 1200, :MALST
tz.offset :o4, 26400, 0, :MALT
tz.offset :o5, 27000, 0, :MALT
tz.offset :o6, 32400, 0, :JST
tz.offset :o7, 28800, 0, :MYT
tz.transition 1900, 12, :o1, 104344641397, 43200
tz.transition 1905, 5, :o2, 8353142363, 3456
tz.transition 1932, 12, :o3, 58249757, 24
tz.transition 1935, 12, :o4, 87414055, 36
tz.transition 1941, 8, :o5, 87488575, 36
tz.transition 1942, 2, :o6, 38886499, 16
tz.transition 1945, 9, :o5, 19453681, 8
tz.transition 1981, 12, :o7, 378664200
end
end
end
end
end

View File

@@ -0,0 +1,18 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Kuwait
include TimezoneDefinition
timezone 'Asia/Kuwait' do |tz|
tz.offset :o0, 11516, 0, :LMT
tz.offset :o1, 10800, 0, :AST
tz.transition 1949, 12, :o1, 52558899121, 21600
end
end
end
end
end

View File

@@ -0,0 +1,163 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Magadan
include TimezoneDefinition
timezone 'Asia/Magadan' do |tz|
tz.offset :o0, 36192, 0, :LMT
tz.offset :o1, 36000, 0, :MAGT
tz.offset :o2, 39600, 0, :MAGT
tz.offset :o3, 39600, 3600, :MAGST
tz.offset :o4, 36000, 3600, :MAGST
tz.transition 1924, 5, :o1, 2181516373, 900
tz.transition 1930, 6, :o2, 29113777, 12
tz.transition 1981, 3, :o3, 354891600
tz.transition 1981, 9, :o2, 370699200
tz.transition 1982, 3, :o3, 386427600
tz.transition 1982, 9, :o2, 402235200
tz.transition 1983, 3, :o3, 417963600
tz.transition 1983, 9, :o2, 433771200
tz.transition 1984, 3, :o3, 449586000
tz.transition 1984, 9, :o2, 465318000
tz.transition 1985, 3, :o3, 481042800
tz.transition 1985, 9, :o2, 496767600
tz.transition 1986, 3, :o3, 512492400
tz.transition 1986, 9, :o2, 528217200
tz.transition 1987, 3, :o3, 543942000
tz.transition 1987, 9, :o2, 559666800
tz.transition 1988, 3, :o3, 575391600
tz.transition 1988, 9, :o2, 591116400
tz.transition 1989, 3, :o3, 606841200
tz.transition 1989, 9, :o2, 622566000
tz.transition 1990, 3, :o3, 638290800
tz.transition 1990, 9, :o2, 654620400
tz.transition 1991, 3, :o4, 670345200
tz.transition 1991, 9, :o1, 686073600
tz.transition 1992, 1, :o2, 695750400
tz.transition 1992, 3, :o3, 701784000
tz.transition 1992, 9, :o2, 717505200
tz.transition 1993, 3, :o3, 733244400
tz.transition 1993, 9, :o2, 748969200
tz.transition 1994, 3, :o3, 764694000
tz.transition 1994, 9, :o2, 780418800
tz.transition 1995, 3, :o3, 796143600
tz.transition 1995, 9, :o2, 811868400
tz.transition 1996, 3, :o3, 828198000
tz.transition 1996, 10, :o2, 846342000
tz.transition 1997, 3, :o3, 859647600
tz.transition 1997, 10, :o2, 877791600
tz.transition 1998, 3, :o3, 891097200
tz.transition 1998, 10, :o2, 909241200
tz.transition 1999, 3, :o3, 922546800
tz.transition 1999, 10, :o2, 941295600
tz.transition 2000, 3, :o3, 953996400
tz.transition 2000, 10, :o2, 972745200
tz.transition 2001, 3, :o3, 985446000
tz.transition 2001, 10, :o2, 1004194800
tz.transition 2002, 3, :o3, 1017500400
tz.transition 2002, 10, :o2, 1035644400
tz.transition 2003, 3, :o3, 1048950000
tz.transition 2003, 10, :o2, 1067094000
tz.transition 2004, 3, :o3, 1080399600
tz.transition 2004, 10, :o2, 1099148400
tz.transition 2005, 3, :o3, 1111849200
tz.transition 2005, 10, :o2, 1130598000
tz.transition 2006, 3, :o3, 1143298800
tz.transition 2006, 10, :o2, 1162047600
tz.transition 2007, 3, :o3, 1174748400
tz.transition 2007, 10, :o2, 1193497200
tz.transition 2008, 3, :o3, 1206802800
tz.transition 2008, 10, :o2, 1224946800
tz.transition 2009, 3, :o3, 1238252400
tz.transition 2009, 10, :o2, 1256396400
tz.transition 2010, 3, :o3, 1269702000
tz.transition 2010, 10, :o2, 1288450800
tz.transition 2011, 3, :o3, 1301151600
tz.transition 2011, 10, :o2, 1319900400
tz.transition 2012, 3, :o3, 1332601200
tz.transition 2012, 10, :o2, 1351350000
tz.transition 2013, 3, :o3, 1364655600
tz.transition 2013, 10, :o2, 1382799600
tz.transition 2014, 3, :o3, 1396105200
tz.transition 2014, 10, :o2, 1414249200
tz.transition 2015, 3, :o3, 1427554800
tz.transition 2015, 10, :o2, 1445698800
tz.transition 2016, 3, :o3, 1459004400
tz.transition 2016, 10, :o2, 1477753200
tz.transition 2017, 3, :o3, 1490454000
tz.transition 2017, 10, :o2, 1509202800
tz.transition 2018, 3, :o3, 1521903600
tz.transition 2018, 10, :o2, 1540652400
tz.transition 2019, 3, :o3, 1553958000
tz.transition 2019, 10, :o2, 1572102000
tz.transition 2020, 3, :o3, 1585407600
tz.transition 2020, 10, :o2, 1603551600
tz.transition 2021, 3, :o3, 1616857200
tz.transition 2021, 10, :o2, 1635606000
tz.transition 2022, 3, :o3, 1648306800
tz.transition 2022, 10, :o2, 1667055600
tz.transition 2023, 3, :o3, 1679756400
tz.transition 2023, 10, :o2, 1698505200
tz.transition 2024, 3, :o3, 1711810800
tz.transition 2024, 10, :o2, 1729954800
tz.transition 2025, 3, :o3, 1743260400
tz.transition 2025, 10, :o2, 1761404400
tz.transition 2026, 3, :o3, 1774710000
tz.transition 2026, 10, :o2, 1792854000
tz.transition 2027, 3, :o3, 1806159600
tz.transition 2027, 10, :o2, 1824908400
tz.transition 2028, 3, :o3, 1837609200
tz.transition 2028, 10, :o2, 1856358000
tz.transition 2029, 3, :o3, 1869058800
tz.transition 2029, 10, :o2, 1887807600
tz.transition 2030, 3, :o3, 1901113200
tz.transition 2030, 10, :o2, 1919257200
tz.transition 2031, 3, :o3, 1932562800
tz.transition 2031, 10, :o2, 1950706800
tz.transition 2032, 3, :o3, 1964012400
tz.transition 2032, 10, :o2, 1982761200
tz.transition 2033, 3, :o3, 1995462000
tz.transition 2033, 10, :o2, 2014210800
tz.transition 2034, 3, :o3, 2026911600
tz.transition 2034, 10, :o2, 2045660400
tz.transition 2035, 3, :o3, 2058361200
tz.transition 2035, 10, :o2, 2077110000
tz.transition 2036, 3, :o3, 2090415600
tz.transition 2036, 10, :o2, 2108559600
tz.transition 2037, 3, :o3, 2121865200
tz.transition 2037, 10, :o2, 2140009200
tz.transition 2038, 3, :o3, 19724081, 8
tz.transition 2038, 10, :o2, 19725817, 8
tz.transition 2039, 3, :o3, 19726993, 8
tz.transition 2039, 10, :o2, 19728729, 8
tz.transition 2040, 3, :o3, 19729905, 8
tz.transition 2040, 10, :o2, 19731641, 8
tz.transition 2041, 3, :o3, 19732873, 8
tz.transition 2041, 10, :o2, 19734553, 8
tz.transition 2042, 3, :o3, 19735785, 8
tz.transition 2042, 10, :o2, 19737465, 8
tz.transition 2043, 3, :o3, 19738697, 8
tz.transition 2043, 10, :o2, 19740377, 8
tz.transition 2044, 3, :o3, 19741609, 8
tz.transition 2044, 10, :o2, 19743345, 8
tz.transition 2045, 3, :o3, 19744521, 8
tz.transition 2045, 10, :o2, 19746257, 8
tz.transition 2046, 3, :o3, 19747433, 8
tz.transition 2046, 10, :o2, 19749169, 8
tz.transition 2047, 3, :o3, 19750401, 8
tz.transition 2047, 10, :o2, 19752081, 8
tz.transition 2048, 3, :o3, 19753313, 8
tz.transition 2048, 10, :o2, 19754993, 8
tz.transition 2049, 3, :o3, 19756225, 8
tz.transition 2049, 10, :o2, 19757961, 8
tz.transition 2050, 3, :o3, 19759137, 8
tz.transition 2050, 10, :o2, 19760873, 8
end
end
end
end
end

View File

@@ -0,0 +1,18 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Muscat
include TimezoneDefinition
timezone 'Asia/Muscat' do |tz|
tz.offset :o0, 14060, 0, :LMT
tz.offset :o1, 14400, 0, :GST
tz.transition 1919, 12, :o1, 10464441137, 4320
end
end
end
end
end

View File

@@ -0,0 +1,164 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Novosibirsk
include TimezoneDefinition
timezone 'Asia/Novosibirsk' do |tz|
tz.offset :o0, 19900, 0, :LMT
tz.offset :o1, 21600, 0, :NOVT
tz.offset :o2, 25200, 0, :NOVT
tz.offset :o3, 25200, 3600, :NOVST
tz.offset :o4, 21600, 3600, :NOVST
tz.transition 1919, 12, :o1, 2092872833, 864
tz.transition 1930, 6, :o2, 9704593, 4
tz.transition 1981, 3, :o3, 354906000
tz.transition 1981, 9, :o2, 370713600
tz.transition 1982, 3, :o3, 386442000
tz.transition 1982, 9, :o2, 402249600
tz.transition 1983, 3, :o3, 417978000
tz.transition 1983, 9, :o2, 433785600
tz.transition 1984, 3, :o3, 449600400
tz.transition 1984, 9, :o2, 465332400
tz.transition 1985, 3, :o3, 481057200
tz.transition 1985, 9, :o2, 496782000
tz.transition 1986, 3, :o3, 512506800
tz.transition 1986, 9, :o2, 528231600
tz.transition 1987, 3, :o3, 543956400
tz.transition 1987, 9, :o2, 559681200
tz.transition 1988, 3, :o3, 575406000
tz.transition 1988, 9, :o2, 591130800
tz.transition 1989, 3, :o3, 606855600
tz.transition 1989, 9, :o2, 622580400
tz.transition 1990, 3, :o3, 638305200
tz.transition 1990, 9, :o2, 654634800
tz.transition 1991, 3, :o4, 670359600
tz.transition 1991, 9, :o1, 686088000
tz.transition 1992, 1, :o2, 695764800
tz.transition 1992, 3, :o3, 701798400
tz.transition 1992, 9, :o2, 717519600
tz.transition 1993, 3, :o3, 733258800
tz.transition 1993, 5, :o4, 738086400
tz.transition 1993, 9, :o1, 748987200
tz.transition 1994, 3, :o4, 764712000
tz.transition 1994, 9, :o1, 780436800
tz.transition 1995, 3, :o4, 796161600
tz.transition 1995, 9, :o1, 811886400
tz.transition 1996, 3, :o4, 828216000
tz.transition 1996, 10, :o1, 846360000
tz.transition 1997, 3, :o4, 859665600
tz.transition 1997, 10, :o1, 877809600
tz.transition 1998, 3, :o4, 891115200
tz.transition 1998, 10, :o1, 909259200
tz.transition 1999, 3, :o4, 922564800
tz.transition 1999, 10, :o1, 941313600
tz.transition 2000, 3, :o4, 954014400
tz.transition 2000, 10, :o1, 972763200
tz.transition 2001, 3, :o4, 985464000
tz.transition 2001, 10, :o1, 1004212800
tz.transition 2002, 3, :o4, 1017518400
tz.transition 2002, 10, :o1, 1035662400
tz.transition 2003, 3, :o4, 1048968000
tz.transition 2003, 10, :o1, 1067112000
tz.transition 2004, 3, :o4, 1080417600
tz.transition 2004, 10, :o1, 1099166400
tz.transition 2005, 3, :o4, 1111867200
tz.transition 2005, 10, :o1, 1130616000
tz.transition 2006, 3, :o4, 1143316800
tz.transition 2006, 10, :o1, 1162065600
tz.transition 2007, 3, :o4, 1174766400
tz.transition 2007, 10, :o1, 1193515200
tz.transition 2008, 3, :o4, 1206820800
tz.transition 2008, 10, :o1, 1224964800
tz.transition 2009, 3, :o4, 1238270400
tz.transition 2009, 10, :o1, 1256414400
tz.transition 2010, 3, :o4, 1269720000
tz.transition 2010, 10, :o1, 1288468800
tz.transition 2011, 3, :o4, 1301169600
tz.transition 2011, 10, :o1, 1319918400
tz.transition 2012, 3, :o4, 1332619200
tz.transition 2012, 10, :o1, 1351368000
tz.transition 2013, 3, :o4, 1364673600
tz.transition 2013, 10, :o1, 1382817600
tz.transition 2014, 3, :o4, 1396123200
tz.transition 2014, 10, :o1, 1414267200
tz.transition 2015, 3, :o4, 1427572800
tz.transition 2015, 10, :o1, 1445716800
tz.transition 2016, 3, :o4, 1459022400
tz.transition 2016, 10, :o1, 1477771200
tz.transition 2017, 3, :o4, 1490472000
tz.transition 2017, 10, :o1, 1509220800
tz.transition 2018, 3, :o4, 1521921600
tz.transition 2018, 10, :o1, 1540670400
tz.transition 2019, 3, :o4, 1553976000
tz.transition 2019, 10, :o1, 1572120000
tz.transition 2020, 3, :o4, 1585425600
tz.transition 2020, 10, :o1, 1603569600
tz.transition 2021, 3, :o4, 1616875200
tz.transition 2021, 10, :o1, 1635624000
tz.transition 2022, 3, :o4, 1648324800
tz.transition 2022, 10, :o1, 1667073600
tz.transition 2023, 3, :o4, 1679774400
tz.transition 2023, 10, :o1, 1698523200
tz.transition 2024, 3, :o4, 1711828800
tz.transition 2024, 10, :o1, 1729972800
tz.transition 2025, 3, :o4, 1743278400
tz.transition 2025, 10, :o1, 1761422400
tz.transition 2026, 3, :o4, 1774728000
tz.transition 2026, 10, :o1, 1792872000
tz.transition 2027, 3, :o4, 1806177600
tz.transition 2027, 10, :o1, 1824926400
tz.transition 2028, 3, :o4, 1837627200
tz.transition 2028, 10, :o1, 1856376000
tz.transition 2029, 3, :o4, 1869076800
tz.transition 2029, 10, :o1, 1887825600
tz.transition 2030, 3, :o4, 1901131200
tz.transition 2030, 10, :o1, 1919275200
tz.transition 2031, 3, :o4, 1932580800
tz.transition 2031, 10, :o1, 1950724800
tz.transition 2032, 3, :o4, 1964030400
tz.transition 2032, 10, :o1, 1982779200
tz.transition 2033, 3, :o4, 1995480000
tz.transition 2033, 10, :o1, 2014228800
tz.transition 2034, 3, :o4, 2026929600
tz.transition 2034, 10, :o1, 2045678400
tz.transition 2035, 3, :o4, 2058379200
tz.transition 2035, 10, :o1, 2077128000
tz.transition 2036, 3, :o4, 2090433600
tz.transition 2036, 10, :o1, 2108577600
tz.transition 2037, 3, :o4, 2121883200
tz.transition 2037, 10, :o1, 2140027200
tz.transition 2038, 3, :o4, 7396531, 3
tz.transition 2038, 10, :o1, 7397182, 3
tz.transition 2039, 3, :o4, 7397623, 3
tz.transition 2039, 10, :o1, 7398274, 3
tz.transition 2040, 3, :o4, 7398715, 3
tz.transition 2040, 10, :o1, 7399366, 3
tz.transition 2041, 3, :o4, 7399828, 3
tz.transition 2041, 10, :o1, 7400458, 3
tz.transition 2042, 3, :o4, 7400920, 3
tz.transition 2042, 10, :o1, 7401550, 3
tz.transition 2043, 3, :o4, 7402012, 3
tz.transition 2043, 10, :o1, 7402642, 3
tz.transition 2044, 3, :o4, 7403104, 3
tz.transition 2044, 10, :o1, 7403755, 3
tz.transition 2045, 3, :o4, 7404196, 3
tz.transition 2045, 10, :o1, 7404847, 3
tz.transition 2046, 3, :o4, 7405288, 3
tz.transition 2046, 10, :o1, 7405939, 3
tz.transition 2047, 3, :o4, 7406401, 3
tz.transition 2047, 10, :o1, 7407031, 3
tz.transition 2048, 3, :o4, 7407493, 3
tz.transition 2048, 10, :o1, 7408123, 3
tz.transition 2049, 3, :o4, 7408585, 3
tz.transition 2049, 10, :o1, 7409236, 3
tz.transition 2050, 3, :o4, 7409677, 3
tz.transition 2050, 10, :o1, 7410328, 3
end
end
end
end
end

View File

@@ -0,0 +1,24 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Rangoon
include TimezoneDefinition
timezone 'Asia/Rangoon' do |tz|
tz.offset :o0, 23080, 0, :LMT
tz.offset :o1, 23076, 0, :RMT
tz.offset :o2, 23400, 0, :BURT
tz.offset :o3, 32400, 0, :JST
tz.offset :o4, 23400, 0, :MMT
tz.transition 1879, 12, :o1, 5200664903, 2160
tz.transition 1919, 12, :o2, 5813578159, 2400
tz.transition 1942, 4, :o3, 116663051, 48
tz.transition 1945, 5, :o4, 19452625, 8
end
end
end
end
end

View File

@@ -0,0 +1,18 @@
require 'tzinfo/timezone_definition'
module TZInfo
module Definitions
module Asia
module Riyadh
include TimezoneDefinition
timezone 'Asia/Riyadh' do |tz|
tz.offset :o0, 11212, 0, :LMT
tz.offset :o1, 10800, 0, :AST
tz.transition 1949, 12, :o1, 52558899197, 21600
end
end
end
end
end

Some files were not shown because too many files have changed in this diff Show More