rhodes 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +3 -0
- data/Rakefile +2 -4
- data/lib/date.rb +9 -9
- data/lib/date/format.rb +34 -12
- data/lib/rhodes.rb +1 -1
- data/lib/singleton.rb +0 -176
- data/lib/time.rb +3 -353
- metadata +4 -4
data/History.txt
CHANGED
data/Rakefile
CHANGED
@@ -17,10 +17,8 @@ $hoe = Hoe.new('rhodes', Rhodes::VERSION) do |p|
|
|
17
17
|
['rspec'],
|
18
18
|
['templater'],
|
19
19
|
['diff-lcs'],
|
20
|
-
['extlib']
|
21
|
-
|
22
|
-
p.extra_dev_deps = [
|
23
|
-
['newgem', ">= #{::Newgem::VERSION}"]
|
20
|
+
['extlib'],
|
21
|
+
['newgem']
|
24
22
|
]
|
25
23
|
|
26
24
|
p.clean_globs |= %w[**/.DS_Store tmp *.log]
|
data/lib/date.rb
CHANGED
@@ -238,20 +238,20 @@ class Date
|
|
238
238
|
# Full month names, in English. Months count from 1 to 12; a
|
239
239
|
# month's numerical representation indexed into this array
|
240
240
|
# gives the name of that month (hence the first element is nil).
|
241
|
-
MONTHNAMES = [nil] + %w(January February March April May June July
|
242
|
-
|
241
|
+
#MONTHNAMES = [nil] + %w(January February March April May June July
|
242
|
+
# August September October November December)
|
243
243
|
|
244
244
|
# Full names of days of the week, in English. Days of the week
|
245
245
|
# count from 0 to 6 (except in the commercial week); a day's numerical
|
246
246
|
# representation indexed into this array gives the name of that day.
|
247
|
-
DAYNAMES = %w(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)
|
247
|
+
#DAYNAMES = %w(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)
|
248
248
|
|
249
249
|
# Abbreviated month names, in English.
|
250
|
-
ABBR_MONTHNAMES = [nil] + %w(Jan Feb Mar Apr May Jun
|
251
|
-
|
250
|
+
#ABBR_MONTHNAMES = [nil] + %w(Jan Feb Mar Apr May Jun
|
251
|
+
# Jul Aug Sep Oct Nov Dec)
|
252
252
|
|
253
253
|
# Abbreviated day names, in English.
|
254
|
-
ABBR_DAYNAMES = %w(Sun Mon Tue Wed Thu Fri Sat)
|
254
|
+
#ABBR_DAYNAMES = %w(Sun Mon Tue Wed Thu Fri Sat)
|
255
255
|
|
256
256
|
[MONTHNAMES, DAYNAMES, ABBR_MONTHNAMES, ABBR_DAYNAMES].each do |xs|
|
257
257
|
xs.each{|x| x.freeze unless x.nil?}.freeze
|
@@ -1738,7 +1738,7 @@ class Time
|
|
1738
1738
|
def to_time() getlocal end
|
1739
1739
|
|
1740
1740
|
def to_date
|
1741
|
-
jd = Date.__send__(:civil_to_jd, year, mon, mday, Date::ITALY)
|
1741
|
+
jd = Date.__send__(:civil_to_jd, year(), mon(), mday(), Date::ITALY)
|
1742
1742
|
Date.new!(Date.__send__(:jd_to_ajd, jd, 0, 0), 0, Date::ITALY)
|
1743
1743
|
end
|
1744
1744
|
|
@@ -1755,7 +1755,7 @@ end
|
|
1755
1755
|
|
1756
1756
|
class Date
|
1757
1757
|
|
1758
|
-
def to_time() Time.local(year, mon, mday) end
|
1758
|
+
def to_time() Time.local(year(), mon(), mday()) end
|
1759
1759
|
def to_date() self end
|
1760
1760
|
def to_datetime() DateTime.new!(jd_to_ajd(jd, 0, 0), @of, @sg) end
|
1761
1761
|
|
@@ -1778,7 +1778,7 @@ class DateTime < Date
|
|
1778
1778
|
def to_time
|
1779
1779
|
d = new_offset(0)
|
1780
1780
|
d.instance_eval do
|
1781
|
-
Time.utc(year, mon, mday, hour, min, sec + sec_fraction)
|
1781
|
+
Time.utc(year(), mon(), mday(), hour(), min(), sec + sec_fraction)
|
1782
1782
|
end.
|
1783
1783
|
getlocal
|
1784
1784
|
end
|
data/lib/date/format.rb
CHANGED
@@ -1,12 +1,34 @@
|
|
1
1
|
# format.rb: Written by Tadayoshi Funaba 1999-2008
|
2
2
|
# $Id: format.rb,v 2.43 2008-01-17 20:16:31+09 tadf Exp $
|
3
3
|
|
4
|
+
if defined? RHO_ME
|
5
|
+
require 'rationalME'
|
6
|
+
end
|
7
|
+
|
4
8
|
require 'rational'
|
5
9
|
|
6
10
|
class Date
|
7
11
|
|
8
12
|
#SECONDS_IN_DAY = 60*60*24
|
9
13
|
#SECONDS_IN_DAY = Rational(1, 86400)
|
14
|
+
|
15
|
+
#From date.rb:
|
16
|
+
# Full month names, in English. Months count from 1 to 12; a
|
17
|
+
# month's numerical representation indexed into this array
|
18
|
+
# gives the name of that month (hence the first element is nil).
|
19
|
+
MONTHNAMES = [nil] + %w(January February March April May June July
|
20
|
+
August September October November December)
|
21
|
+
|
22
|
+
# Full names of days of the week, in English. Days of the week
|
23
|
+
# count from 0 to 6 (except in the commercial week); a day's numerical
|
24
|
+
# representation indexed into this array gives the name of that day.
|
25
|
+
DAYNAMES = %w(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)
|
26
|
+
|
27
|
+
# Abbreviated month names, in English.
|
28
|
+
ABBR_MONTHNAMES = [nil] + %w(Jan Feb Mar Apr May Jun
|
29
|
+
Jul Aug Sep Oct Nov Dec)
|
30
|
+
# Abbreviated day names, in English.
|
31
|
+
ABBR_DAYNAMES = %w(Sun Mon Tue Wed Thu Fri Sat)
|
10
32
|
|
11
33
|
module Format # :nodoc:
|
12
34
|
|
@@ -245,28 +267,28 @@ class Date
|
|
245
267
|
when 'C', 'EC'; emit_sn((year / 100).floor, 2, f)
|
246
268
|
when 'c', 'Ec'; emit_a(strftime('%a %b %e %H:%M:%S %Y'), 0, f)
|
247
269
|
when 'D'; emit_a(strftime('%m/%d/%y'), 0, f)
|
248
|
-
when 'd', 'Od'; emit_n(mday, 2, f)
|
249
|
-
when 'e', 'Oe'; emit_a(mday, 2, f)
|
270
|
+
when 'd', 'Od'; emit_n(mday(), 2, f)
|
271
|
+
when 'e', 'Oe'; emit_a(mday(), 2, f)
|
250
272
|
when 'F'
|
251
273
|
if m == '%F'
|
252
274
|
format('%.4d-%02d-%02d', year(), mon(), mday()) # 4p
|
253
275
|
else
|
254
276
|
emit_a(strftime('%Y-%m-%d'), 0, f)
|
255
277
|
end
|
256
|
-
when 'G'; emit_sn(cwyear, 4, f)
|
278
|
+
when 'G'; emit_sn(cwyear(), 4, f)
|
257
279
|
when 'g'; emit_n(cwyear % 100, 2, f)
|
258
|
-
when 'H', 'OH'; emit_n(hour, 2, f)
|
280
|
+
when 'H', 'OH'; emit_n(hour(), 2, f)
|
259
281
|
when 'h'; emit_ad(strftime('%b'), 0, f)
|
260
282
|
when 'I', 'OI'; emit_n((hour % 12).nonzero? || 12, 2, f)
|
261
|
-
when 'j'; emit_n(yday, 3, f)
|
262
|
-
when 'k'; emit_a(hour, 2, f)
|
283
|
+
when 'j'; emit_n(yday(), 3, f)
|
284
|
+
when 'k'; emit_a(hour(), 2, f)
|
263
285
|
when 'L'
|
264
286
|
w = f[:w] || 3
|
265
287
|
u = 10**w
|
266
288
|
emit_n((sec_fraction * u).floor, w, f)
|
267
289
|
when 'l'; emit_a((hour % 12).nonzero? || 12, 2, f)
|
268
|
-
when 'M', 'OM'; emit_n(min, 2, f)
|
269
|
-
when 'm', 'Om'; emit_n(mon, 2, f)
|
290
|
+
when 'M', 'OM'; emit_n(min(), 2, f)
|
291
|
+
when 'm', 'Om'; emit_n(mon(), 2, f)
|
270
292
|
when 'N'
|
271
293
|
w = f[:w] || 9
|
272
294
|
u = 10**w
|
@@ -279,7 +301,7 @@ class Date
|
|
279
301
|
emit_sn(s, 1, f)
|
280
302
|
when 'R'; emit_a(strftime('%H:%M'), 0, f)
|
281
303
|
when 'r'; emit_a(strftime('%I:%M:%S %p'), 0, f)
|
282
|
-
when 'S', 'OS'; emit_n(sec, 2, f)
|
304
|
+
when 'S', 'OS'; emit_n(sec(), 2, f)
|
283
305
|
when 's'
|
284
306
|
s = ((ajd - UNIX_EPOCH_IN_AJD) / Rational(1, 86400)).round
|
285
307
|
emit_sn(s, 1, f)
|
@@ -292,10 +314,10 @@ class Date
|
|
292
314
|
when 't'; emit_a("\t", 0, f)
|
293
315
|
when 'U', 'W', 'OU', 'OW'
|
294
316
|
emit_n(if c[-1,1] == 'U' then wnum0 else wnum1 end, 2, f)
|
295
|
-
when 'u', 'Ou'; emit_n(cwday, 1, f)
|
296
|
-
when 'V', 'OV'; emit_n(cweek, 2, f)
|
317
|
+
when 'u', 'Ou'; emit_n(cwday(), 1, f)
|
318
|
+
when 'V', 'OV'; emit_n(cweek(), 2, f)
|
297
319
|
when 'v'; emit_a(strftime('%e-%b-%Y'), 0, f)
|
298
|
-
when 'w', 'Ow'; emit_n(wday, 1, f)
|
320
|
+
when 'w', 'Ow'; emit_n(wday(), 1, f)
|
299
321
|
when 'X', 'EX'; emit_a(strftime('%H:%M:%S'), 0, f)
|
300
322
|
when 'x', 'Ex'; emit_a(strftime('%m/%d/%y'), 0, f)
|
301
323
|
when 'Y', 'EY'; emit_sn(year(), 4, f)
|
data/lib/rhodes.rb
CHANGED
data/lib/singleton.rb
CHANGED
@@ -135,179 +135,3 @@ module Singleton
|
|
135
135
|
end
|
136
136
|
|
137
137
|
end
|
138
|
-
|
139
|
-
|
140
|
-
if __FILE__ == $0
|
141
|
-
|
142
|
-
def num_of_instances(klass)
|
143
|
-
"#{ObjectSpace.each_object(klass){}} #{klass} instance(s)"
|
144
|
-
end
|
145
|
-
|
146
|
-
# The basic and most important example.
|
147
|
-
|
148
|
-
class SomeSingletonClass
|
149
|
-
include Singleton
|
150
|
-
end
|
151
|
-
puts "There are #{num_of_instances(SomeSingletonClass)}"
|
152
|
-
|
153
|
-
a = SomeSingletonClass.instance
|
154
|
-
b = SomeSingletonClass.instance # a and b are same object
|
155
|
-
puts "basic test is #{a == b}"
|
156
|
-
|
157
|
-
begin
|
158
|
-
SomeSingletonClass.new
|
159
|
-
rescue NoMethodError => mes
|
160
|
-
puts mes
|
161
|
-
end
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
puts "\nThreaded example with exception and customized #_instantiate?() hook"; p
|
166
|
-
Thread.abort_on_exception = false
|
167
|
-
|
168
|
-
class Ups < SomeSingletonClass
|
169
|
-
def initialize
|
170
|
-
self.class.__sleep
|
171
|
-
puts "initialize called by thread ##{Thread.current[:i]}"
|
172
|
-
end
|
173
|
-
end
|
174
|
-
|
175
|
-
class << Ups
|
176
|
-
def _instantiate?
|
177
|
-
@enter.push Thread.current[:i]
|
178
|
-
while false.equal?(@singleton__instance__)
|
179
|
-
@singleton__mutex__.unlock
|
180
|
-
sleep 0.08
|
181
|
-
@singleton__mutex__.lock
|
182
|
-
end
|
183
|
-
@leave.push Thread.current[:i]
|
184
|
-
@singleton__instance__
|
185
|
-
end
|
186
|
-
|
187
|
-
def __sleep
|
188
|
-
sleep(rand(0.08))
|
189
|
-
end
|
190
|
-
|
191
|
-
def new
|
192
|
-
begin
|
193
|
-
__sleep
|
194
|
-
raise "boom - thread ##{Thread.current[:i]} failed to create instance"
|
195
|
-
ensure
|
196
|
-
# simple flip-flop
|
197
|
-
class << self
|
198
|
-
remove_method :new
|
199
|
-
end
|
200
|
-
end
|
201
|
-
end
|
202
|
-
|
203
|
-
def instantiate_all
|
204
|
-
@enter = []
|
205
|
-
@leave = []
|
206
|
-
1.upto(9) {|i|
|
207
|
-
Thread.new {
|
208
|
-
begin
|
209
|
-
Thread.current[:i] = i
|
210
|
-
__sleep
|
211
|
-
instance
|
212
|
-
rescue RuntimeError => mes
|
213
|
-
puts mes
|
214
|
-
end
|
215
|
-
}
|
216
|
-
}
|
217
|
-
puts "Before there were #{num_of_instances(self)}"
|
218
|
-
sleep 3
|
219
|
-
puts "Now there is #{num_of_instances(self)}"
|
220
|
-
puts "#{@enter.join '; '} was the order of threads entering the waiting loop"
|
221
|
-
puts "#{@leave.join '; '} was the order of threads leaving the waiting loop"
|
222
|
-
end
|
223
|
-
end
|
224
|
-
|
225
|
-
|
226
|
-
Ups.instantiate_all
|
227
|
-
# results in message like
|
228
|
-
# Before there were 0 Ups instance(s)
|
229
|
-
# boom - thread #6 failed to create instance
|
230
|
-
# initialize called by thread #3
|
231
|
-
# Now there is 1 Ups instance(s)
|
232
|
-
# 3; 2; 1; 8; 4; 7; 5 was the order of threads entering the waiting loop
|
233
|
-
# 3; 2; 1; 7; 4; 8; 5 was the order of threads leaving the waiting loop
|
234
|
-
|
235
|
-
|
236
|
-
puts "\nLets see if class level cloning really works"
|
237
|
-
Yup = Ups.clone
|
238
|
-
def Yup.new
|
239
|
-
begin
|
240
|
-
__sleep
|
241
|
-
raise "boom - thread ##{Thread.current[:i]} failed to create instance"
|
242
|
-
ensure
|
243
|
-
# simple flip-flop
|
244
|
-
class << self
|
245
|
-
remove_method :new
|
246
|
-
end
|
247
|
-
end
|
248
|
-
end
|
249
|
-
Yup.instantiate_all
|
250
|
-
|
251
|
-
|
252
|
-
puts "\n\n","Customized marshalling"
|
253
|
-
class A
|
254
|
-
include Singleton
|
255
|
-
attr_accessor :persist, :die
|
256
|
-
def _dump(depth)
|
257
|
-
# this strips the @die information from the instance
|
258
|
-
Marshal.dump(@persist,depth)
|
259
|
-
end
|
260
|
-
end
|
261
|
-
|
262
|
-
def A._load(str)
|
263
|
-
instance.persist = Marshal.load(str)
|
264
|
-
instance
|
265
|
-
end
|
266
|
-
|
267
|
-
a = A.instance
|
268
|
-
a.persist = ["persist"]
|
269
|
-
a.die = "die"
|
270
|
-
a.taint
|
271
|
-
|
272
|
-
stored_state = Marshal.dump(a)
|
273
|
-
# change state
|
274
|
-
a.persist = nil
|
275
|
-
a.die = nil
|
276
|
-
b = Marshal.load(stored_state)
|
277
|
-
p a == b # => true
|
278
|
-
p a.persist # => ["persist"]
|
279
|
-
p a.die # => nil
|
280
|
-
|
281
|
-
|
282
|
-
puts "\n\nSingleton with overridden default #inherited() hook"
|
283
|
-
class Up
|
284
|
-
end
|
285
|
-
def Up.inherited(sub_klass)
|
286
|
-
puts "#{sub_klass} subclasses #{self}"
|
287
|
-
end
|
288
|
-
|
289
|
-
|
290
|
-
class Middle < Up
|
291
|
-
include Singleton
|
292
|
-
end
|
293
|
-
|
294
|
-
class Down < Middle; end
|
295
|
-
|
296
|
-
puts "and basic \"Down test\" is #{Down.instance == Down.instance}\n
|
297
|
-
Various exceptions"
|
298
|
-
|
299
|
-
begin
|
300
|
-
module AModule
|
301
|
-
include Singleton
|
302
|
-
end
|
303
|
-
rescue TypeError => mes
|
304
|
-
puts mes #=> Inclusion of the OO-Singleton module in module AModule
|
305
|
-
end
|
306
|
-
|
307
|
-
begin
|
308
|
-
'aString'.extend Singleton
|
309
|
-
rescue NoMethodError => mes
|
310
|
-
puts mes #=> undefined method `extend_object' for Singleton:Module
|
311
|
-
end
|
312
|
-
|
313
|
-
end
|
data/lib/time.rb
CHANGED
@@ -41,6 +41,9 @@
|
|
41
41
|
#
|
42
42
|
|
43
43
|
require 'date/format'
|
44
|
+
if defined? RHO_ME
|
45
|
+
require 'dateME'
|
46
|
+
end
|
44
47
|
|
45
48
|
#
|
46
49
|
# Implements the extensions to the Time class that are described in the
|
@@ -484,356 +487,3 @@ class Time
|
|
484
487
|
end
|
485
488
|
alias iso8601 xmlschema
|
486
489
|
end
|
487
|
-
|
488
|
-
if __FILE__ == $0
|
489
|
-
require 'test/unit'
|
490
|
-
|
491
|
-
class TimeExtentionTest < Test::Unit::TestCase # :nodoc:
|
492
|
-
def test_rfc822
|
493
|
-
assert_equal(Time.utc(1976, 8, 26, 14, 30) + 4 * 3600,
|
494
|
-
Time.rfc2822("26 Aug 76 14:30 EDT"))
|
495
|
-
assert_equal(Time.utc(1976, 8, 27, 9, 32) + 7 * 3600,
|
496
|
-
Time.rfc2822("27 Aug 76 09:32 PDT"))
|
497
|
-
end
|
498
|
-
|
499
|
-
def test_rfc2822
|
500
|
-
assert_equal(Time.utc(1997, 11, 21, 9, 55, 6) + 6 * 3600,
|
501
|
-
Time.rfc2822("Fri, 21 Nov 1997 09:55:06 -0600"))
|
502
|
-
assert_equal(Time.utc(2003, 7, 1, 10, 52, 37) - 2 * 3600,
|
503
|
-
Time.rfc2822("Tue, 1 Jul 2003 10:52:37 +0200"))
|
504
|
-
assert_equal(Time.utc(1997, 11, 21, 10, 1, 10) + 6 * 3600,
|
505
|
-
Time.rfc2822("Fri, 21 Nov 1997 10:01:10 -0600"))
|
506
|
-
assert_equal(Time.utc(1997, 11, 21, 11, 0, 0) + 6 * 3600,
|
507
|
-
Time.rfc2822("Fri, 21 Nov 1997 11:00:00 -0600"))
|
508
|
-
assert_equal(Time.utc(1997, 11, 24, 14, 22, 1) + 8 * 3600,
|
509
|
-
Time.rfc2822("Mon, 24 Nov 1997 14:22:01 -0800"))
|
510
|
-
begin
|
511
|
-
Time.at(-1)
|
512
|
-
rescue ArgumentError
|
513
|
-
# ignore
|
514
|
-
else
|
515
|
-
assert_equal(Time.utc(1969, 2, 13, 23, 32, 54) + 3 * 3600 + 30 * 60,
|
516
|
-
Time.rfc2822("Thu, 13 Feb 1969 23:32:54 -0330"))
|
517
|
-
assert_equal(Time.utc(1969, 2, 13, 23, 32, 0) + 3 * 3600 + 30 * 60,
|
518
|
-
Time.rfc2822(" Thu,
|
519
|
-
13
|
520
|
-
Feb
|
521
|
-
1969
|
522
|
-
23:32
|
523
|
-
-0330 (Newfoundland Time)"))
|
524
|
-
end
|
525
|
-
assert_equal(Time.utc(1997, 11, 21, 9, 55, 6),
|
526
|
-
Time.rfc2822("21 Nov 97 09:55:06 GMT"))
|
527
|
-
assert_equal(Time.utc(1997, 11, 21, 9, 55, 6) + 6 * 3600,
|
528
|
-
Time.rfc2822("Fri, 21 Nov 1997 09 : 55 : 06 -0600"))
|
529
|
-
assert_raise(ArgumentError) {
|
530
|
-
# inner comment is not supported.
|
531
|
-
Time.rfc2822("Fri, 21 Nov 1997 09(comment): 55 : 06 -0600")
|
532
|
-
}
|
533
|
-
end
|
534
|
-
|
535
|
-
def test_rfc2616
|
536
|
-
t = Time.utc(1994, 11, 6, 8, 49, 37)
|
537
|
-
assert_equal(t, Time.httpdate("Sun, 06 Nov 1994 08:49:37 GMT"))
|
538
|
-
assert_equal(t, Time.httpdate("Sunday, 06-Nov-94 08:49:37 GMT"))
|
539
|
-
assert_equal(t, Time.httpdate("Sun Nov 6 08:49:37 1994"))
|
540
|
-
assert_equal(Time.utc(1995, 11, 15, 6, 25, 24),
|
541
|
-
Time.httpdate("Wed, 15 Nov 1995 06:25:24 GMT"))
|
542
|
-
assert_equal(Time.utc(1995, 11, 15, 4, 58, 8),
|
543
|
-
Time.httpdate("Wed, 15 Nov 1995 04:58:08 GMT"))
|
544
|
-
assert_equal(Time.utc(1994, 11, 15, 8, 12, 31),
|
545
|
-
Time.httpdate("Tue, 15 Nov 1994 08:12:31 GMT"))
|
546
|
-
assert_equal(Time.utc(1994, 12, 1, 16, 0, 0),
|
547
|
-
Time.httpdate("Thu, 01 Dec 1994 16:00:00 GMT"))
|
548
|
-
assert_equal(Time.utc(1994, 10, 29, 19, 43, 31),
|
549
|
-
Time.httpdate("Sat, 29 Oct 1994 19:43:31 GMT"))
|
550
|
-
assert_equal(Time.utc(1994, 11, 15, 12, 45, 26),
|
551
|
-
Time.httpdate("Tue, 15 Nov 1994 12:45:26 GMT"))
|
552
|
-
assert_equal(Time.utc(1999, 12, 31, 23, 59, 59),
|
553
|
-
Time.httpdate("Fri, 31 Dec 1999 23:59:59 GMT"))
|
554
|
-
|
555
|
-
assert_equal(Time.utc(2007, 12, 23, 11, 22, 33),
|
556
|
-
Time.httpdate('Sunday, 23-Dec-07 11:22:33 GMT'))
|
557
|
-
end
|
558
|
-
|
559
|
-
def test_rfc3339
|
560
|
-
t = Time.utc(1985, 4, 12, 23, 20, 50, 520000)
|
561
|
-
s = "1985-04-12T23:20:50.52Z"
|
562
|
-
assert_equal(t, Time.iso8601(s))
|
563
|
-
assert_equal(s, t.iso8601(2))
|
564
|
-
|
565
|
-
t = Time.utc(1996, 12, 20, 0, 39, 57)
|
566
|
-
s = "1996-12-19T16:39:57-08:00"
|
567
|
-
assert_equal(t, Time.iso8601(s))
|
568
|
-
# There is no way to generate time string with arbitrary timezone.
|
569
|
-
s = "1996-12-20T00:39:57Z"
|
570
|
-
assert_equal(t, Time.iso8601(s))
|
571
|
-
assert_equal(s, t.iso8601)
|
572
|
-
|
573
|
-
t = Time.utc(1990, 12, 31, 23, 59, 60)
|
574
|
-
s = "1990-12-31T23:59:60Z"
|
575
|
-
assert_equal(t, Time.iso8601(s))
|
576
|
-
# leap second is representable only if timezone file has it.
|
577
|
-
s = "1990-12-31T15:59:60-08:00"
|
578
|
-
assert_equal(t, Time.iso8601(s))
|
579
|
-
|
580
|
-
begin
|
581
|
-
Time.at(-1)
|
582
|
-
rescue ArgumentError
|
583
|
-
# ignore
|
584
|
-
else
|
585
|
-
t = Time.utc(1937, 1, 1, 11, 40, 27, 870000)
|
586
|
-
s = "1937-01-01T12:00:27.87+00:20"
|
587
|
-
assert_equal(t, Time.iso8601(s))
|
588
|
-
end
|
589
|
-
end
|
590
|
-
|
591
|
-
# http://www.w3.org/TR/xmlschema-2/
|
592
|
-
def test_xmlschema
|
593
|
-
assert_equal(Time.utc(1999, 5, 31, 13, 20, 0) + 5 * 3600,
|
594
|
-
Time.xmlschema("1999-05-31T13:20:00-05:00"))
|
595
|
-
assert_equal(Time.local(2000, 1, 20, 12, 0, 0),
|
596
|
-
Time.xmlschema("2000-01-20T12:00:00"))
|
597
|
-
assert_equal(Time.utc(2000, 1, 20, 12, 0, 0),
|
598
|
-
Time.xmlschema("2000-01-20T12:00:00Z"))
|
599
|
-
assert_equal(Time.utc(2000, 1, 20, 12, 0, 0) - 12 * 3600,
|
600
|
-
Time.xmlschema("2000-01-20T12:00:00+12:00"))
|
601
|
-
assert_equal(Time.utc(2000, 1, 20, 12, 0, 0) + 13 * 3600,
|
602
|
-
Time.xmlschema("2000-01-20T12:00:00-13:00"))
|
603
|
-
assert_equal(Time.utc(2000, 3, 4, 23, 0, 0) - 3 * 3600,
|
604
|
-
Time.xmlschema("2000-03-04T23:00:00+03:00"))
|
605
|
-
assert_equal(Time.utc(2000, 3, 4, 20, 0, 0),
|
606
|
-
Time.xmlschema("2000-03-04T20:00:00Z"))
|
607
|
-
assert_equal(Time.local(2000, 1, 15, 0, 0, 0),
|
608
|
-
Time.xmlschema("2000-01-15T00:00:00"))
|
609
|
-
assert_equal(Time.local(2000, 2, 15, 0, 0, 0),
|
610
|
-
Time.xmlschema("2000-02-15T00:00:00"))
|
611
|
-
assert_equal(Time.local(2000, 1, 15, 12, 0, 0),
|
612
|
-
Time.xmlschema("2000-01-15T12:00:00"))
|
613
|
-
assert_equal(Time.utc(2000, 1, 16, 12, 0, 0),
|
614
|
-
Time.xmlschema("2000-01-16T12:00:00Z"))
|
615
|
-
assert_equal(Time.local(2000, 1, 1, 12, 0, 0),
|
616
|
-
Time.xmlschema("2000-01-01T12:00:00"))
|
617
|
-
assert_equal(Time.utc(1999, 12, 31, 23, 0, 0),
|
618
|
-
Time.xmlschema("1999-12-31T23:00:00Z"))
|
619
|
-
assert_equal(Time.local(2000, 1, 16, 12, 0, 0),
|
620
|
-
Time.xmlschema("2000-01-16T12:00:00"))
|
621
|
-
assert_equal(Time.local(2000, 1, 16, 0, 0, 0),
|
622
|
-
Time.xmlschema("2000-01-16T00:00:00"))
|
623
|
-
assert_equal(Time.utc(2000, 1, 12, 12, 13, 14),
|
624
|
-
Time.xmlschema("2000-01-12T12:13:14Z"))
|
625
|
-
assert_equal(Time.utc(2001, 4, 17, 19, 23, 17, 300000),
|
626
|
-
Time.xmlschema("2001-04-17T19:23:17.3Z"))
|
627
|
-
assert_raise(ArgumentError) { Time.xmlschema("2000-01-01T00:00:00.+00:00") }
|
628
|
-
end
|
629
|
-
|
630
|
-
def test_encode_xmlschema
|
631
|
-
t = Time.utc(2001, 4, 17, 19, 23, 17, 300000)
|
632
|
-
assert_equal("2001-04-17T19:23:17Z", t.xmlschema)
|
633
|
-
assert_equal("2001-04-17T19:23:17.3Z", t.xmlschema(1))
|
634
|
-
assert_equal("2001-04-17T19:23:17.300000Z", t.xmlschema(6))
|
635
|
-
assert_equal("2001-04-17T19:23:17.3000000Z", t.xmlschema(7))
|
636
|
-
|
637
|
-
t = Time.utc(2001, 4, 17, 19, 23, 17, 123456)
|
638
|
-
assert_equal("2001-04-17T19:23:17.1234560Z", t.xmlschema(7))
|
639
|
-
assert_equal("2001-04-17T19:23:17.123456Z", t.xmlschema(6))
|
640
|
-
assert_equal("2001-04-17T19:23:17.12345Z", t.xmlschema(5))
|
641
|
-
assert_equal("2001-04-17T19:23:17.1Z", t.xmlschema(1))
|
642
|
-
|
643
|
-
begin
|
644
|
-
Time.at(-1)
|
645
|
-
rescue ArgumentError
|
646
|
-
# ignore
|
647
|
-
else
|
648
|
-
t = Time.utc(1960, 12, 31, 23, 0, 0, 123456)
|
649
|
-
assert_equal("1960-12-31T23:00:00.123456Z", t.xmlschema(6))
|
650
|
-
end
|
651
|
-
|
652
|
-
assert_equal(249, Time.xmlschema("2008-06-05T23:49:23.000249+09:00").usec)
|
653
|
-
end
|
654
|
-
|
655
|
-
def test_completion
|
656
|
-
now = Time.local(2001,11,29,21,26,35)
|
657
|
-
assert_equal(Time.local( 2001,11,29,21,12),
|
658
|
-
Time.parse("2001/11/29 21:12", now))
|
659
|
-
assert_equal(Time.local( 2001,11,29),
|
660
|
-
Time.parse("2001/11/29", now))
|
661
|
-
assert_equal(Time.local( 2001,11,29),
|
662
|
-
Time.parse( "11/29", now))
|
663
|
-
#assert_equal(Time.local(2001,11,1), Time.parse("Nov", now))
|
664
|
-
assert_equal(Time.local( 2001,11,29,10,22),
|
665
|
-
Time.parse( "10:22", now))
|
666
|
-
end
|
667
|
-
|
668
|
-
def test_invalid
|
669
|
-
# They were actually used in some web sites.
|
670
|
-
assert_raise(ArgumentError) { Time.httpdate("1 Dec 2001 10:23:57 GMT") }
|
671
|
-
assert_raise(ArgumentError) { Time.httpdate("Sat, 1 Dec 2001 10:25:42 GMT") }
|
672
|
-
assert_raise(ArgumentError) { Time.httpdate("Sat, 1-Dec-2001 10:53:55 GMT") }
|
673
|
-
assert_raise(ArgumentError) { Time.httpdate("Saturday, 01-Dec-2001 10:15:34 GMT") }
|
674
|
-
assert_raise(ArgumentError) { Time.httpdate("Saturday, 01-Dec-101 11:10:07 GMT") }
|
675
|
-
assert_raise(ArgumentError) { Time.httpdate("Fri, 30 Nov 2001 21:30:00 JST") }
|
676
|
-
|
677
|
-
# They were actually used in some mails.
|
678
|
-
assert_raise(ArgumentError) { Time.rfc2822("01-5-20") }
|
679
|
-
assert_raise(ArgumentError) { Time.rfc2822("7/21/00") }
|
680
|
-
assert_raise(ArgumentError) { Time.rfc2822("2001-8-28") }
|
681
|
-
assert_raise(ArgumentError) { Time.rfc2822("00-5-6 1:13:06") }
|
682
|
-
assert_raise(ArgumentError) { Time.rfc2822("2001-9-27 9:36:49") }
|
683
|
-
assert_raise(ArgumentError) { Time.rfc2822("2000-12-13 11:01:11") }
|
684
|
-
assert_raise(ArgumentError) { Time.rfc2822("2001/10/17 04:29:55") }
|
685
|
-
assert_raise(ArgumentError) { Time.rfc2822("9/4/2001 9:23:19 PM") }
|
686
|
-
assert_raise(ArgumentError) { Time.rfc2822("01 Nov 2001 09:04:31") }
|
687
|
-
assert_raise(ArgumentError) { Time.rfc2822("13 Feb 2001 16:4 GMT") }
|
688
|
-
assert_raise(ArgumentError) { Time.rfc2822("01 Oct 00 5:41:19 PM") }
|
689
|
-
assert_raise(ArgumentError) { Time.rfc2822("2 Jul 00 00:51:37 JST") }
|
690
|
-
assert_raise(ArgumentError) { Time.rfc2822("01 11 2001 06:55:57 -0500") }
|
691
|
-
assert_raise(ArgumentError) { Time.rfc2822("18 \343\366\356\341\370 2000") }
|
692
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fri, Oct 2001 18:53:32") }
|
693
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fri, 2 Nov 2001 03:47:54") }
|
694
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fri, 27 Jul 2001 11.14.14 +0200") }
|
695
|
-
assert_raise(ArgumentError) { Time.rfc2822("Thu, 2 Nov 2000 04:13:53 -600") }
|
696
|
-
assert_raise(ArgumentError) { Time.rfc2822("Wed, 5 Apr 2000 22:57:09 JST") }
|
697
|
-
assert_raise(ArgumentError) { Time.rfc2822("Mon, 11 Sep 2000 19:47:33 00000") }
|
698
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fri, 28 Apr 2000 20:40:47 +-900") }
|
699
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fri, 19 Jan 2001 8:15:36 AM -0500") }
|
700
|
-
assert_raise(ArgumentError) { Time.rfc2822("Thursday, Sep 27 2001 7:42:35 AM EST") }
|
701
|
-
assert_raise(ArgumentError) { Time.rfc2822("3/11/2001 1:31:57 PM Pacific Daylight Time") }
|
702
|
-
assert_raise(ArgumentError) { Time.rfc2822("Mi, 28 Mrz 2001 11:51:36") }
|
703
|
-
assert_raise(ArgumentError) { Time.rfc2822("P, 30 sept 2001 23:03:14") }
|
704
|
-
assert_raise(ArgumentError) { Time.rfc2822("fr, 11 aug 2000 18:39:22") }
|
705
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fr, 21 Sep 2001 17:44:03 -1000") }
|
706
|
-
assert_raise(ArgumentError) { Time.rfc2822("Mo, 18 Jun 2001 19:21:40 -1000") }
|
707
|
-
assert_raise(ArgumentError) { Time.rfc2822("l\366, 12 aug 2000 18:53:20") }
|
708
|
-
assert_raise(ArgumentError) { Time.rfc2822("l\366, 26 maj 2001 00:15:58") }
|
709
|
-
assert_raise(ArgumentError) { Time.rfc2822("Dom, 30 Sep 2001 17:36:30") }
|
710
|
-
assert_raise(ArgumentError) { Time.rfc2822("%&, 31 %2/ 2000 15:44:47 -0500") }
|
711
|
-
assert_raise(ArgumentError) { Time.rfc2822("dom, 26 ago 2001 03:57:07 -0300") }
|
712
|
-
assert_raise(ArgumentError) { Time.rfc2822("ter, 04 set 2001 16:27:58 -0300") }
|
713
|
-
assert_raise(ArgumentError) { Time.rfc2822("Wen, 3 oct 2001 23:17:49 -0400") }
|
714
|
-
assert_raise(ArgumentError) { Time.rfc2822("Wen, 3 oct 2001 23:17:49 -0400") }
|
715
|
-
assert_raise(ArgumentError) { Time.rfc2822("ele, 11 h: 2000 12:42:15 -0500") }
|
716
|
-
assert_raise(ArgumentError) { Time.rfc2822("Tue, 14 Aug 2001 3:55:3 +0200") }
|
717
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fri, 25 Aug 2000 9:3:48 +0800") }
|
718
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fri, 1 Dec 2000 0:57:50 EST") }
|
719
|
-
assert_raise(ArgumentError) { Time.rfc2822("Mon, 7 May 2001 9:39:51 +0200") }
|
720
|
-
assert_raise(ArgumentError) { Time.rfc2822("Wed, 1 Aug 2001 16:9:15 +0200") }
|
721
|
-
assert_raise(ArgumentError) { Time.rfc2822("Wed, 23 Aug 2000 9:17:36 +0800") }
|
722
|
-
assert_raise(ArgumentError) { Time.rfc2822("Fri, 11 Aug 2000 10:4:42 +0800") }
|
723
|
-
assert_raise(ArgumentError) { Time.rfc2822("Sat, 15 Sep 2001 13:22:2 +0300") }
|
724
|
-
assert_raise(ArgumentError) { Time.rfc2822("Wed,16 \276\305\324\302 2001 20:06:25 +0800") }
|
725
|
-
assert_raise(ArgumentError) { Time.rfc2822("Wed,7 \312\256\322\273\324\302 2001 23:47:22 +0800") }
|
726
|
-
assert_raise(ArgumentError) { Time.rfc2822("=?iso-8859-1?Q?(=C5=DA),?= 10 2 2001 23:32:26 +0900 (JST)") }
|
727
|
-
assert_raise(ArgumentError) { Time.rfc2822("\307\341\314\343\332\311, 30 \344\346\335\343\310\321 2001 10:01:06") }
|
728
|
-
assert_raise(ArgumentError) { Time.rfc2822("=?iso-8859-1?Q?(=BF=E5),?= 12 =?iso-8859-1?Q?9=B7=EE?= 2001 14:52:41\n+0900 (JST)") }
|
729
|
-
end
|
730
|
-
|
731
|
-
def test_zone_0000
|
732
|
-
assert_equal(true, Time.parse("2000-01-01T00:00:00Z").utc?)
|
733
|
-
assert_equal(true, Time.parse("2000-01-01T00:00:00-00:00").utc?)
|
734
|
-
assert_equal(false, Time.parse("2000-01-01T00:00:00+00:00").utc?)
|
735
|
-
assert_equal(false, Time.parse("Sat, 01 Jan 2000 00:00:00 GMT").utc?)
|
736
|
-
assert_equal(true, Time.parse("Sat, 01 Jan 2000 00:00:00 -0000").utc?)
|
737
|
-
assert_equal(false, Time.parse("Sat, 01 Jan 2000 00:00:00 +0000").utc?)
|
738
|
-
assert_equal(false, Time.rfc2822("Sat, 01 Jan 2000 00:00:00 GMT").utc?)
|
739
|
-
assert_equal(true, Time.rfc2822("Sat, 01 Jan 2000 00:00:00 -0000").utc?)
|
740
|
-
assert_equal(false, Time.rfc2822("Sat, 01 Jan 2000 00:00:00 +0000").utc?)
|
741
|
-
assert_equal(true, Time.rfc2822("Sat, 01 Jan 2000 00:00:00 UTC").utc?)
|
742
|
-
end
|
743
|
-
|
744
|
-
def test_parse_leap_second
|
745
|
-
t = Time.utc(1998,12,31,23,59,59)
|
746
|
-
assert_equal(t, Time.parse("Thu Dec 31 23:59:59 UTC 1998"))
|
747
|
-
assert_equal(t, Time.parse("Fri Dec 31 23:59:59 -0000 1998"));t.localtime
|
748
|
-
assert_equal(t, Time.parse("Fri Jan 1 08:59:59 +0900 1999"))
|
749
|
-
assert_equal(t, Time.parse("Fri Jan 1 00:59:59 +0100 1999"))
|
750
|
-
assert_equal(t, Time.parse("Fri Dec 31 23:59:59 +0000 1998"))
|
751
|
-
assert_equal(t, Time.parse("Fri Dec 31 22:59:59 -0100 1998"));t.utc
|
752
|
-
t += 1
|
753
|
-
assert_equal(t, Time.parse("Thu Dec 31 23:59:60 UTC 1998"))
|
754
|
-
assert_equal(t, Time.parse("Fri Dec 31 23:59:60 -0000 1998"));t.localtime
|
755
|
-
assert_equal(t, Time.parse("Fri Jan 1 08:59:60 +0900 1999"))
|
756
|
-
assert_equal(t, Time.parse("Fri Jan 1 00:59:60 +0100 1999"))
|
757
|
-
assert_equal(t, Time.parse("Fri Dec 31 23:59:60 +0000 1998"))
|
758
|
-
assert_equal(t, Time.parse("Fri Dec 31 22:59:60 -0100 1998"));t.utc
|
759
|
-
t += 1 if t.sec == 60
|
760
|
-
assert_equal(t, Time.parse("Thu Jan 1 00:00:00 UTC 1999"))
|
761
|
-
assert_equal(t, Time.parse("Fri Jan 1 00:00:00 -0000 1999"));t.localtime
|
762
|
-
assert_equal(t, Time.parse("Fri Jan 1 09:00:00 +0900 1999"))
|
763
|
-
assert_equal(t, Time.parse("Fri Jan 1 01:00:00 +0100 1999"))
|
764
|
-
assert_equal(t, Time.parse("Fri Jan 1 00:00:00 +0000 1999"))
|
765
|
-
assert_equal(t, Time.parse("Fri Dec 31 23:00:00 -0100 1998"))
|
766
|
-
end
|
767
|
-
|
768
|
-
def test_rfc2822_leap_second
|
769
|
-
t = Time.utc(1998,12,31,23,59,59)
|
770
|
-
assert_equal(t, Time.rfc2822("Thu, 31 Dec 1998 23:59:59 UTC"))
|
771
|
-
assert_equal(t, Time.rfc2822("Fri, 31 Dec 1998 23:59:59 -0000"));t.localtime
|
772
|
-
assert_equal(t, Time.rfc2822("Fri, 1 Jan 1999 08:59:59 +0900"))
|
773
|
-
assert_equal(t, Time.rfc2822("Fri, 1 Jan 1999 00:59:59 +0100"))
|
774
|
-
assert_equal(t, Time.rfc2822("Fri, 31 Dec 1998 23:59:59 +0000"))
|
775
|
-
assert_equal(t, Time.rfc2822("Fri, 31 Dec 1998 22:59:59 -0100"));t.utc
|
776
|
-
t += 1
|
777
|
-
assert_equal(t, Time.rfc2822("Thu, 31 Dec 1998 23:59:60 UTC"))
|
778
|
-
assert_equal(t, Time.rfc2822("Fri, 31 Dec 1998 23:59:60 -0000"));t.localtime
|
779
|
-
assert_equal(t, Time.rfc2822("Fri, 1 Jan 1999 08:59:60 +0900"))
|
780
|
-
assert_equal(t, Time.rfc2822("Fri, 1 Jan 1999 00:59:60 +0100"))
|
781
|
-
assert_equal(t, Time.rfc2822("Fri, 31 Dec 1998 23:59:60 +0000"))
|
782
|
-
assert_equal(t, Time.rfc2822("Fri, 31 Dec 1998 22:59:60 -0100"));t.utc
|
783
|
-
t += 1 if t.sec == 60
|
784
|
-
assert_equal(t, Time.rfc2822("Thu, 1 Jan 1999 00:00:00 UTC"))
|
785
|
-
assert_equal(t, Time.rfc2822("Fri, 1 Jan 1999 00:00:00 -0000"));t.localtime
|
786
|
-
assert_equal(t, Time.rfc2822("Fri, 1 Jan 1999 09:00:00 +0900"))
|
787
|
-
assert_equal(t, Time.rfc2822("Fri, 1 Jan 1999 01:00:00 +0100"))
|
788
|
-
assert_equal(t, Time.rfc2822("Fri, 1 Jan 1999 00:00:00 +0000"))
|
789
|
-
assert_equal(t, Time.rfc2822("Fri, 31 Dec 1998 23:00:00 -0100"))
|
790
|
-
end
|
791
|
-
|
792
|
-
def test_xmlschema_leap_second
|
793
|
-
t = Time.utc(1998,12,31,23,59,59)
|
794
|
-
assert_equal(t, Time.xmlschema("1998-12-31T23:59:59Z"))
|
795
|
-
assert_equal(t, Time.xmlschema("1998-12-31T23:59:59-00:00"));t.localtime
|
796
|
-
assert_equal(t, Time.xmlschema("1999-01-01T08:59:59+09:00"))
|
797
|
-
assert_equal(t, Time.xmlschema("1999-01-01T00:59:59+01:00"))
|
798
|
-
assert_equal(t, Time.xmlschema("1998-12-31T23:59:59+00:00"))
|
799
|
-
assert_equal(t, Time.xmlschema("1998-12-31T22:59:59-01:00"));t.utc
|
800
|
-
t += 1
|
801
|
-
assert_equal(t, Time.xmlschema("1998-12-31T23:59:60Z"))
|
802
|
-
assert_equal(t, Time.xmlschema("1998-12-31T23:59:60-00:00"));t.localtime
|
803
|
-
assert_equal(t, Time.xmlschema("1999-01-01T08:59:60+09:00"))
|
804
|
-
assert_equal(t, Time.xmlschema("1999-01-01T00:59:60+01:00"))
|
805
|
-
assert_equal(t, Time.xmlschema("1998-12-31T23:59:60+00:00"))
|
806
|
-
assert_equal(t, Time.xmlschema("1998-12-31T22:59:60-01:00"));t.utc
|
807
|
-
t += 1 if t.sec == 60
|
808
|
-
assert_equal(t, Time.xmlschema("1999-01-01T00:00:00Z"))
|
809
|
-
assert_equal(t, Time.xmlschema("1999-01-01T00:00:00-00:00"));t.localtime
|
810
|
-
assert_equal(t, Time.xmlschema("1999-01-01T09:00:00+09:00"))
|
811
|
-
assert_equal(t, Time.xmlschema("1999-01-01T01:00:00+01:00"))
|
812
|
-
assert_equal(t, Time.xmlschema("1999-01-01T00:00:00+00:00"))
|
813
|
-
assert_equal(t, Time.xmlschema("1998-12-31T23:00:00-01:00"))
|
814
|
-
end
|
815
|
-
|
816
|
-
def test_xmlschema_fraction
|
817
|
-
assert_equal(500000, Time.xmlschema("2000-01-01T00:00:00.5+00:00").tv_usec)
|
818
|
-
end
|
819
|
-
|
820
|
-
def test_ruby_talk_152866
|
821
|
-
t = Time::xmlschema('2005-08-30T22:48:00-07:00')
|
822
|
-
assert_equal(31, t.day)
|
823
|
-
assert_equal(8, t.mon)
|
824
|
-
end
|
825
|
-
|
826
|
-
def test_parse_fraction
|
827
|
-
assert_equal(500000, Time.parse("2000-01-01T00:00:00.5+00:00").tv_usec)
|
828
|
-
end
|
829
|
-
|
830
|
-
def test_strptime
|
831
|
-
assert_equal(Time.utc(2005, 8, 28, 06, 54, 20), Time.strptime("28/Aug/2005:06:54:20 +0000", "%d/%b/%Y:%T %z"))
|
832
|
-
end
|
833
|
-
|
834
|
-
def test_nsec
|
835
|
-
assert_equal(123456789, Time.xmlschema("2000-01-01T00:00:00.123456789+00:00").tv_nsec)
|
836
|
-
assert_equal(123456789, Time.parse("2000-01-01T00:00:00.123456789+00:00").tv_nsec)
|
837
|
-
end
|
838
|
-
end
|
839
|
-
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhodes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rhomobile Dev
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-01-
|
12
|
+
date: 2009-01-26 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -74,13 +74,13 @@ dependencies:
|
|
74
74
|
version:
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: newgem
|
77
|
-
type: :
|
77
|
+
type: :runtime
|
78
78
|
version_requirement:
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
83
|
+
version: "0"
|
84
84
|
version:
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: hoe
|