]> git.madduck.net Git - etc/awesome.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Give tt_info objects a metatable; and document them
authordaurnimator <quae@daurnimator.com>
Sun, 24 Nov 2013 10:42:23 +0000 (05:42 -0500)
committerdaurnimator <quae@daurnimator.com>
Sun, 24 Nov 2013 10:42:23 +0000 (05:42 -0500)
doc/tzinfo.md
luatz/tzfile.lua
luatz/tzinfo.lua

index 7ae1b55b6addc3b999b67ef6a31ff02cbd3daea5..78d04530bf722e9acd7cf187757a9f52060e8121 100644 (file)
@@ -13,7 +13,10 @@ so the following details can be skipped over.
 
 The table contains a sequence of tables that describe the timezone at a given point
 using a `transition_time`: the unix timestamp (in UTC) that this definition starts, and
-a `info` table, which contains information about the change at that point:
+a `tt_info` object.
+
+A `tt_info` object contains information about a time offset;
+and contains the following fields:
 
   - `gmtoff` (number) The offset from GMT (UTC) in seconds
   - `isdst` (boolean): If this change was declared as daylight savings
@@ -22,9 +25,10 @@ a `info` table, which contains information about the change at that point:
   - `isstd` (boolean)
   - `isgmt` (boolean)
 
+
 ## `:find_current ( utc_ts )`
 
-Returns the relevant `info` table at the given utc timestamp for the given UTC timestamp.
+Returns the relevant `tt_info` object for the given UTC timestamp in the timezone.
 
 
 ## `:localise ( utc_ts )` and `:localize ( utc_ts )`
index 96686dcac793d0be8a834513ea0676dad250228b..a0f8da5fb62e969bd62bf7b4f13d1afb74d9d407 100644 (file)
@@ -1,4 +1,6 @@
 local tz_info_mt = require "luatz.tzinfo".tz_info_mt
+local tt_info_mt = require "luatz.tzinfo".tt_info_mt
+
 
 local function read_int32be ( fd )
        local data , err = fd:read ( 4 )
@@ -162,6 +164,7 @@ local function read_tz ( fd )
                        v.abbr = abbreviations:sub ( v.abbrind+1 , v.abbrind+3 )
                        v.isstd = isstd [ i ] or false
                        v.isgmt = isgmt [ i ] or false
+                       setmetatable ( v , tt_info_mt )
                end
 
                --[[
index 11248adb34b11711372076447e2cfceaff49b4df..77d0656c2ef05515d47c255e8b29e5bc2f4a4f2c 100644 (file)
@@ -4,6 +4,8 @@ local tz_info_methods = { }
 local tz_info_mt = {
        __index = tz_info_methods ;
 }
+local tt_info_mt = {
+}
 
 -- Binary search
 local function _find_current ( tzinfo , target , i , j )
@@ -75,4 +77,5 @@ end
 
 return {
        tz_info_mt = tz_info_mt ;
+       tt_info_mt = tt_info_mt ;
 }