buzztools 0.0.11 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aff31eabe68efa1e5a445bd12d0f9f396848eeb1
4
- data.tar.gz: 2d2c6a0ade3692dd6df4a67f09a3822bea65e9f7
3
+ metadata.gz: 87130a8f6f70059943edc9adda62d2c77e1542f7
4
+ data.tar.gz: 32976f3798c1a36cf9b96cd197de890d8fb4afd2
5
5
  SHA512:
6
- metadata.gz: 2565d3962a392389d285bf4dd57405270d41440eeda228dc4dd998c30876151bd129a212aa89545f343865b91f132169eb3d892f1c49b7e36e729b38edab1134
7
- data.tar.gz: 752a338ddd6d7051aa953e87705239821313e8fc1a4b7fbf681343e5c08dd3a7f8a319636fda95f01fe5618c2a84c18e4229c14cf799dbaf84f842cdcf8d3738
6
+ metadata.gz: 5b98fc7ea7b7565974983feddecb1a4bbf9d56bec54b8216f16060d8ab7f30c638d1455980cb3e85e0c5e7ee0ac40ba97a4dbef73b1956251593df6800c0f7a4
7
+ data.tar.gz: ae0952b532029a44988c6ff30918e07baa7f328d1b0fe0d4ccb5ae38e722c636154a3ee352cec9969fff5a20afe06cc532a8e63a9e02cd769a1953e0f9d2ff10
@@ -86,7 +86,7 @@ String.class_eval do
86
86
  deprefix!(aValue,self.clone)
87
87
  end
88
88
 
89
- def desuffix!(aString,aSuffix)
89
+ def desuffix!(aSuffix=$/,aString=self)
90
90
  if aString[-aSuffix.length,aSuffix.length] == aSuffix
91
91
  aString[-aSuffix.length,aSuffix.length] = ''
92
92
  return aString
@@ -96,7 +96,7 @@ String.class_eval do
96
96
  end
97
97
 
98
98
  def desuffix(aValue=$/)
99
- desuffix!(aValue,self.clone)
99
+ desuffix!(aValue,self.dup)
100
100
  end
101
101
 
102
102
  def begins_with?(aString)
@@ -112,6 +112,7 @@ Time.class_eval do
112
112
  end
113
113
 
114
114
  # creates a Time object from an integer date stamp (milliseconds since 1970) compatible with Javascript
115
+ # It will be in local timezone
115
116
  def self.from_ms(aMilliseconds)
116
117
  at(aMilliseconds/1000.0)
117
118
  end
@@ -120,24 +121,39 @@ Time.class_eval do
120
121
  iso8601(3)
121
122
  end
122
123
 
124
+ # "zoneless time" is a way of representing a time and date eg. 1am 1/1/1970 regardless of timezone.
125
+ # This is done by converting it to the same time and date, but with the utc flag set
126
+ # This means that Time.new(1970,1,1).zoneless.to_i will return the same value on any machine
123
127
  def zoneless
124
128
  (self + self.utc_offset).utc
125
129
  end
126
130
 
127
- # sets the zone without affecting the hour or day
128
- def to_zone(aHours)
131
+ # This sets the zone without affecting the hour or day
132
+ # Useful for building a time object eg. New Year in Sydney : Time.new(2016,1,1).to_zone(10)
133
+ def to_zone(aHours=nil)
134
+ aHours ||= utc_offset/3600.0
129
135
  self.in_time_zone(aHours)+self.utc_offset-aHours.to_i.hours
130
136
  end
137
+
138
+ # Useful for building a UTC/zoneless Time from ms since the epoch
139
+ # For Freewheeler :
140
+ # eg. Time.from_zoneless_ms(packet.timems).to_zone(packet.tzm/60)
141
+ def self.from_zoneless_ms(aTimems)
142
+ from_ms(aTimems).utc
143
+ end
131
144
  end
132
145
 
133
146
  if defined? ActiveSupport::TimeWithZone
134
147
  ActiveSupport::TimeWithZone.class_eval do
148
+ # see above
135
149
  def zoneless
136
150
  (self + self.utc_offset).utc
137
151
  end
138
152
 
153
+ # see above
139
154
  # sets the zone without affecting the hour or day
140
- def to_zone(aHours)
155
+ def to_zone(aHours=nil)
156
+ aHours ||= utc_offset/3600.0
141
157
  self.in_time_zone(aHours)+self.utc_offset-aHours.to_i.hours
142
158
  end
143
159
  end
@@ -1,3 +1,3 @@
1
1
  module Buzztools
2
- VERSION = "0.0.11"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buzztools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gary McGhee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-27 00:00:00.000000000 Z
11
+ date: 2016-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler