timesteps 0.9.6 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Note.ja.md +9 -0
- data/README.md +5 -5
- data/lib/timesteps.rb +2 -0
- data/lib/timesteps/datetime_parse_timestamp.rb +21 -12
- data/lib/timesteps/datetime_timestep.rb +64 -0
- data/lib/timesteps/datetimelike.rb +6 -17
- data/lib/timesteps/grads.rb +39 -18
- data/lib/timesteps/timeperiod.rb +50 -47
- data/lib/timesteps/timestep.rb +477 -247
- data/lib/timesteps/timestep_calendar.rb +49 -29
- data/lib/timesteps/timestep_converter.rb +19 -22
- data/lib/timesteps/timestep_datetime_ext.rb +6 -16
- data/lib/timesteps/timestep_pair.rb +37 -24
- data/lib/timesteps/timestep_range.rb +150 -0
- data/spec/allleap_spec.rb +4 -15
- data/spec/fixed360day_spec.rb +4 -15
- data/spec/noleap_spec.rb +2 -13
- data/spec/timestep_spec.rb +4 -27
- data/timesteps.gemspec +1 -1
- metadata +4 -2
data/spec/allleap_spec.rb
CHANGED
@@ -123,17 +123,6 @@ describe "AllLeap.parse_timestamp" do
|
|
123
123
|
|
124
124
|
end
|
125
125
|
|
126
|
-
example "with bc option" do
|
127
|
-
|
128
|
-
d1 = DateTime::AllLeap.new(0, 1, 1, 0, 0, 0, 0)
|
129
|
-
d2 = DateTime.parse_timestamp('BC 0001-1-1 00:00:00', calendar: "allleap")
|
130
|
-
d3 = DateTime.parse_timestamp('-0001-1-1 00:00:00', calendar: "allleap", bc: true)
|
131
|
-
|
132
|
-
is_asserted_by { d2 == d1 }
|
133
|
-
is_asserted_by { d3 == d1 }
|
134
|
-
|
135
|
-
end
|
136
|
-
|
137
126
|
example '2000-12-31 24:00:00' do
|
138
127
|
|
139
128
|
d1 = DateTime::AllLeap.new(2001, 1, 1, 0, 0, 0, 0)
|
@@ -301,8 +290,8 @@ describe "AllLeap#difference_in_years" do
|
|
301
290
|
d3 = DateTime::AllLeap.new(2002, 3, 5, 9, 35, 11.5, 9.quo(24))
|
302
291
|
d4 = DateTime::AllLeap.new(2002, 3, 5, 9, 35, 12.5, 9.quo(24))
|
303
292
|
|
304
|
-
is_asserted_by { d2.difference_in_years(d1) ==
|
305
|
-
is_asserted_by { d3.difference_in_years(d1) ==
|
293
|
+
is_asserted_by { d2.difference_in_years(d1) == 1.quo(2) }
|
294
|
+
is_asserted_by { d3.difference_in_years(d1) == 1.quo(2) }
|
306
295
|
is_asserted_by { d4.difference_in_years(d1) == 1 }
|
307
296
|
|
308
297
|
end
|
@@ -319,8 +308,8 @@ describe "AllLeap#difference_in_months" do
|
|
319
308
|
d4 = DateTime::AllLeap.new(2001, 4, 5, 9, 35, 12.5, 9.quo(24))
|
320
309
|
d5 = DateTime::AllLeap.new(2002, 3, 5, 9, 35, 12.5, 9.quo(24))
|
321
310
|
|
322
|
-
is_asserted_by { d2.difference_in_months(d1) ==
|
323
|
-
is_asserted_by { d3.difference_in_months(d1) ==
|
311
|
+
is_asserted_by { d2.difference_in_months(d1) == 1.quo(2) }
|
312
|
+
is_asserted_by { d3.difference_in_months(d1) == 1.quo(2) }
|
324
313
|
is_asserted_by { d4.difference_in_months(d1) == 1 }
|
325
314
|
is_asserted_by { d5.difference_in_months(d1) == 12 }
|
326
315
|
|
data/spec/fixed360day_spec.rb
CHANGED
@@ -133,17 +133,6 @@ describe "Fixed360Day.parse_timestamp" do
|
|
133
133
|
|
134
134
|
end
|
135
135
|
|
136
|
-
example "with bc option" do
|
137
|
-
|
138
|
-
d1 = DateTime::Fixed360Day.new(0, 1, 1, 0, 0, 0, 0)
|
139
|
-
d2 = DateTime.parse_timestamp('BC 0001-1-1 00:00:00', calendar: "360_day")
|
140
|
-
d3 = DateTime.parse_timestamp('-0001-1-1 00:00:00', calendar: "360_day", bc: true)
|
141
|
-
|
142
|
-
is_asserted_by { d2 == d1 }
|
143
|
-
is_asserted_by { d3 == d1 }
|
144
|
-
|
145
|
-
end
|
146
|
-
|
147
136
|
example '2000-12-31 24:00:00' do
|
148
137
|
|
149
138
|
d1 = DateTime::Fixed360Day.new(2001, 1, 1, 0, 0, 0, 0)
|
@@ -312,8 +301,8 @@ describe "Fixed360Day#difference_in_years" do
|
|
312
301
|
d3 = DateTime::Fixed360Day.new(2002, 3, 5, 9, 35, 11.5, 9.quo(24))
|
313
302
|
d4 = DateTime::Fixed360Day.new(2002, 3, 5, 9, 35, 12.5, 9.quo(24))
|
314
303
|
|
315
|
-
is_asserted_by { d2.difference_in_years(d1) ==
|
316
|
-
is_asserted_by { d3.difference_in_years(d1) ==
|
304
|
+
is_asserted_by { d2.difference_in_years(d1) == 1.quo(2) }
|
305
|
+
is_asserted_by { d3.difference_in_years(d1) == 1.quo(2) }
|
317
306
|
is_asserted_by { d4.difference_in_years(d1) == 1 }
|
318
307
|
|
319
308
|
end
|
@@ -330,8 +319,8 @@ describe "Fixed360Day#difference_in_months" do
|
|
330
319
|
d4 = DateTime::Fixed360Day.new(2001, 4, 5, 9, 35, 12.5, 9.quo(24))
|
331
320
|
d5 = DateTime::Fixed360Day.new(2002, 3, 5, 9, 35, 12.5, 9.quo(24))
|
332
321
|
|
333
|
-
is_asserted_by { d2.difference_in_months(d1) ==
|
334
|
-
is_asserted_by { d3.difference_in_months(d1) ==
|
322
|
+
is_asserted_by { d2.difference_in_months(d1) == 1.quo(2) }
|
323
|
+
is_asserted_by { d3.difference_in_months(d1) == 1.quo(2) }
|
335
324
|
is_asserted_by { d4.difference_in_months(d1) == 1 }
|
336
325
|
is_asserted_by { d5.difference_in_months(d1) == 12 }
|
337
326
|
|
data/spec/noleap_spec.rb
CHANGED
@@ -121,17 +121,6 @@ describe "NoLeap.parse_timestamp" do
|
|
121
121
|
|
122
122
|
end
|
123
123
|
|
124
|
-
example "with bc option" do
|
125
|
-
|
126
|
-
d1 = DateTime::NoLeap.new(0, 1, 1, 0, 0, 0, 0)
|
127
|
-
d2 = DateTime.parse_timestamp('BC 0001-1-1 00:00:00', calendar: "noleap")
|
128
|
-
d3 = DateTime.parse_timestamp('-0001-1-1 00:00:00', calendar: "noleap", bc: true)
|
129
|
-
|
130
|
-
is_asserted_by { d2 == d1 }
|
131
|
-
is_asserted_by { d3 == d1 }
|
132
|
-
|
133
|
-
end
|
134
|
-
|
135
124
|
example '2000-12-31 24:00:00' do
|
136
125
|
|
137
126
|
d1 = DateTime::NoLeap.new(2001, 1, 1, 0, 0, 0, 0)
|
@@ -300,8 +289,8 @@ describe "NoLeap#difference_in_years" do
|
|
300
289
|
d3 = DateTime::NoLeap.new(2002, 3, 5, 9, 35, 11.5, 9.quo(24))
|
301
290
|
d4 = DateTime::NoLeap.new(2002, 3, 5, 9, 35, 12.5, 9.quo(24))
|
302
291
|
|
303
|
-
is_asserted_by { d2.difference_in_years(d1) ==
|
304
|
-
is_asserted_by { d3.difference_in_years(d1) ==
|
292
|
+
is_asserted_by { d2.difference_in_years(d1) == 1.quo(2) }
|
293
|
+
is_asserted_by { d3.difference_in_years(d1) == 1.quo(2) }
|
305
294
|
is_asserted_by { d4.difference_in_years(d1) == 1 }
|
306
295
|
|
307
296
|
end
|
data/spec/timestep_spec.rb
CHANGED
@@ -319,10 +319,10 @@ describe "TimeStep#index_at" do
|
|
319
319
|
is_asserted_by { ts.index_at( ts.origin.next_year(100) ) == 100 }
|
320
320
|
is_asserted_by { ts.index_at( ts.origin.prev_year(1) ) == -1 }
|
321
321
|
is_asserted_by { ts.index_at( ts.origin.prev_year(100) ) == -100 }
|
322
|
-
is_asserted_by { ts.index_at( ts.origin.next_year(1) - 1 ) == 0 }
|
323
|
-
is_asserted_by { ts.index_at( ts.origin.next_year(100) - 1 ) == 99 }
|
324
|
-
is_asserted_by { ts.index_at( ts.origin.prev_year(1) + 1 ) ==
|
325
|
-
is_asserted_by { ts.index_at( ts.origin.prev_year(100) + 1 ) == -
|
322
|
+
is_asserted_by { ts.index_at( ts.origin.next_year(1) - 1 ).floor == 0 }
|
323
|
+
is_asserted_by { ts.index_at( ts.origin.next_year(100) - 1 ).floor == 99 }
|
324
|
+
is_asserted_by { ts.index_at( ts.origin.prev_year(1) + 1 ).floor == -1 }
|
325
|
+
is_asserted_by { ts.index_at( ts.origin.prev_year(100) + 1 ).floor == -100 }
|
326
326
|
|
327
327
|
end
|
328
328
|
|
@@ -436,26 +436,3 @@ describe "TimeStep#new_origin" do
|
|
436
436
|
|
437
437
|
end
|
438
438
|
|
439
|
-
describe "TimeStep#limit" do
|
440
|
-
|
441
|
-
example do
|
442
|
-
|
443
|
-
CALENDAR_NAMES.each do |calendar|
|
444
|
-
|
445
|
-
ts = TimeStep.new("1 hours since 2001-02-03 04:05:06 +07:00", calendar: calendar, count: 31)
|
446
|
-
is_asserted_by { ts.limit == ts.time_at(30) }
|
447
|
-
|
448
|
-
ts = TimeStep.new("1 hours since 2001-02-03 04:05:06 +07:00", calendar: calendar)
|
449
|
-
ts.count = 31
|
450
|
-
is_asserted_by { ts.limit == ts.time_at(30) }
|
451
|
-
|
452
|
-
ts = TimeStep.new("1 hours since 2001-02-03 04:05:06 +07:00", calendar: calendar)
|
453
|
-
ts.limit = ts.time_at(30)
|
454
|
-
is_asserted_by { ts.count == 31 }
|
455
|
-
|
456
|
-
end
|
457
|
-
|
458
|
-
end
|
459
|
-
|
460
|
-
end
|
461
|
-
|
data/timesteps.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timesteps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroki Motoyoshi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-05
|
11
|
+
date: 2020-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: " A library for time conversion and intercomparison of multiple time
|
14
14
|
series data \n in the case of handling time series data of the type that specifies
|
@@ -31,6 +31,7 @@ files:
|
|
31
31
|
- lib/timesteps/datetime_allleap.rb
|
32
32
|
- lib/timesteps/datetime_noleap.rb
|
33
33
|
- lib/timesteps/datetime_parse_timestamp.rb
|
34
|
+
- lib/timesteps/datetime_timestep.rb
|
34
35
|
- lib/timesteps/datetimelike.rb
|
35
36
|
- lib/timesteps/datetimelike_format.rb
|
36
37
|
- lib/timesteps/grads.rb
|
@@ -41,6 +42,7 @@ files:
|
|
41
42
|
- lib/timesteps/timestep_datetime_ext.rb
|
42
43
|
- lib/timesteps/timestep_pair.rb
|
43
44
|
- lib/timesteps/timestep_query.rb
|
45
|
+
- lib/timesteps/timestep_range.rb
|
44
46
|
- spec/allleap_spec.rb
|
45
47
|
- spec/fixed360day_spec.rb
|
46
48
|
- spec/noleap_spec.rb
|