timesteps 0.9.6 → 0.9.7
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 +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
|