geoeras 0.0.1
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 +7 -0
- data/lib/geoeras.rb +195 -0
- metadata +45 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 3f748ebd610fb97be5d60f907a41718a02c5e354
|
|
4
|
+
data.tar.gz: 38f31eac70ed7e5b5db1eff13d0a642ec6e517b1
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: f4aa1fb2346f563d7e1181aa04e34985059afa6e9b815c56f4e085ebf8177fae832dc51106a1fc173331716675b6ced9916754fa247e714c301f3ca26ed3eaf9
|
|
7
|
+
data.tar.gz: d29128ae719a6816c8742fb347909ea376046df931a4562790376d3fc2f2863ef55eb4f746f2839db5dbc69979bddea0d2d67e60c6044f905ba0c92d082a7774
|
data/lib/geoeras.rb
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
class Date
|
|
2
|
+
GEOLOGIC_TIME_PERIODS = [
|
|
3
|
+
{name:"Archean",lvl: 1,lag: 2500,eag: 4000},
|
|
4
|
+
{name:"Proterozoic",lvl: 1,lag: 541,eag: 2500},
|
|
5
|
+
{name:"Phanerozoic",lvl: 1,lag: 0,eag: 541},
|
|
6
|
+
{name:"Eoarchean",lvl: 2,lag: 3600,eag: 4000},
|
|
7
|
+
{name:"Paleoarchean",lvl: 2,lag: 3200,eag: 3600},
|
|
8
|
+
{name:"Mesoarchean",lvl: 2,lag: 2800,eag: 3200},
|
|
9
|
+
{name:"Neoarchean",lvl: 2,lag: 2500,eag: 2800},
|
|
10
|
+
{name:"Paleoproterozoic",lvl: 2,lag: 1600,eag: 2500},
|
|
11
|
+
{name:"Mesoproterozoic",lvl: 2,lag: 1000,eag: 1600},
|
|
12
|
+
{name:"Neoproterozoic",lvl: 2,lag: 541,eag: 1000},
|
|
13
|
+
{name:"Paleozoic",lvl: 2,lag: 252.2,eag: 541},
|
|
14
|
+
{name:"Mesozoic",lvl: 2,lag: 66,eag: 252.2},
|
|
15
|
+
{name:"Cenozoic",lvl: 2,lag: 0,eag: 66},
|
|
16
|
+
{name:"Siderian",lvl: 3,lag: 2300,eag: 2500},
|
|
17
|
+
{name:"Rhyacian",lvl: 3,lag: 2050,eag: 2300},
|
|
18
|
+
{name:"Orosirian",lvl: 3,lag: 1800,eag: 2050},
|
|
19
|
+
{name:"Statherian",lvl: 3,lag: 1600,eag: 1800},
|
|
20
|
+
{name:"Calymmian",lvl: 3,lag: 1400,eag: 1600},
|
|
21
|
+
{name:"Ectasian",lvl: 3,lag: 1200,eag: 1400},
|
|
22
|
+
{name:"Stenian",lvl: 3,lag: 1000,eag: 1200},
|
|
23
|
+
{name:"Tonian",lvl: 3,lag: 850,eag: 1000},
|
|
24
|
+
{name:"Cryogenian",lvl: 3,lag: 635,eag: 850},
|
|
25
|
+
{name:"Ediacaran",lvl: 3,lag: 541,eag: 635},
|
|
26
|
+
{name:"Cambrian",lvl: 3,lag: 485.4,eag: 541},
|
|
27
|
+
{name:"Ordovician",lvl: 3,lag: 443.4,eag: 485.4},
|
|
28
|
+
{name:"Silurian",lvl: 3,lag: 419.2,eag: 443.4},
|
|
29
|
+
{name:"Devonian",lvl: 3,lag: 358.9,eag: 419.2},
|
|
30
|
+
{name:"Carboniferous",lvl: 3,lag: 298.9,eag: 358.9},
|
|
31
|
+
{name:"Permian",lvl: 3,lag: 252.2,eag: 298.9},
|
|
32
|
+
{name:"Triassic",lvl: 3,lag: 201.3,eag: 252.2},
|
|
33
|
+
{name:"Jurassic",lvl: 3,lag: 145,eag: 201.3},
|
|
34
|
+
{name:"Cretaceous",lvl: 3,lag: 66,eag: 145},
|
|
35
|
+
{name:"Paleogene",lvl: 3,lag: 23.03,eag: 66},
|
|
36
|
+
{name:"Neogene",lvl: 3,lag: 2.588,eag: 23.03},
|
|
37
|
+
{name:"Quaternary",lvl: 3,lag: 0,eag: 2.588},
|
|
38
|
+
{name:"Terreneuvian",lvl: 4,lag: 521,eag: 541},
|
|
39
|
+
{name:"Series 2",lvl: 4,lag: 509,eag: 521},
|
|
40
|
+
{name:"Series 3",lvl: 4,lag: 497,eag: 509},
|
|
41
|
+
{name:"Furongian",lvl: 4,lag: 485.4,eag: 497},
|
|
42
|
+
{name:"Early Ordovician",lvl: 4,lag: 470,eag: 485.4},
|
|
43
|
+
{name:"Middle Ordovician",lvl: 4,lag: 458.4,eag: 470},
|
|
44
|
+
{name:"Late Ordovician",lvl: 4,lag: 443.4,eag: 458.4},
|
|
45
|
+
{name:"Llandovery",lvl: 4,lag: 433.4,eag: 443.4},
|
|
46
|
+
{name:"Wenlock",lvl: 4,lag: 427.4,eag: 433.4},
|
|
47
|
+
{name:"Ludlow",lvl: 4,lag: 423,eag: 427.4},
|
|
48
|
+
{name:"Pridoli",lvl: 4,lag: 419.2,eag: 423},
|
|
49
|
+
{name:"Early Devonian",lvl: 4,lag: 393.3,eag: 419.2},
|
|
50
|
+
{name:"Middle Devonian",lvl: 4,lag: 382.7,eag: 393.3},
|
|
51
|
+
{name:"Late Devonian",lvl: 4,lag: 358.9,eag: 382.7},
|
|
52
|
+
{name:"Mississippian",lvl: 4,lag: 323.2,eag: 358.9},
|
|
53
|
+
{name:"Pennsylvanian",lvl: 4,lag: 298.9,eag: 323.2},
|
|
54
|
+
{name:"Cisuralian",lvl: 4,lag: 272.3,eag: 298.9},
|
|
55
|
+
{name:"Guadalupian",lvl: 4,lag: 259.9,eag: 272.3},
|
|
56
|
+
{name:"Lopingian",lvl: 4,lag: 252.2,eag: 259.9},
|
|
57
|
+
{name:"Early Triassic",lvl: 4,lag: 247.2,eag: 252.2},
|
|
58
|
+
{name:"Middle Triassic",lvl: 4,lag: 237,eag: 247.2},
|
|
59
|
+
{name:"Late Triassic",lvl: 4,lag: 201.3,eag: 237},
|
|
60
|
+
{name:"Early Jurassic",lvl: 4,lag: 174.1,eag: 201.3},
|
|
61
|
+
{name:"Middle Jurassic",lvl: 4,lag: 163.5,eag: 174.1},
|
|
62
|
+
{name:"Late Jurassic",lvl: 4,lag: 145,eag: 163.5},
|
|
63
|
+
{name:"Early Cretaceous",lvl: 4,lag: 100.5,eag: 145},
|
|
64
|
+
{name:"Late Cretaceous",lvl: 4,lag: 66,eag: 100.5},
|
|
65
|
+
{name:"Paleocene",lvl: 4,lag: 56,eag: 66},
|
|
66
|
+
{name:"Eocene",lvl: 4,lag: 33.9,eag: 56},
|
|
67
|
+
{name:"Oligocene",lvl: 4,lag: 23.03,eag: 33.9},
|
|
68
|
+
{name:"Miocene",lvl: 4,lag: 5.333,eag: 23.03},
|
|
69
|
+
{name:"Pliocene",lvl: 4,lag: 2.588,eag: 5.333},
|
|
70
|
+
{name:"Pleistocene",lvl: 4,lag: 0.0117,eag: 2.588},
|
|
71
|
+
{name:"Holocene",lvl: 4,lag: 0,eag: 0.0117},
|
|
72
|
+
{name:"Fortunian",lvl: 5,lag: 529,eag: 541},
|
|
73
|
+
{name:"Stage 2",lvl: 5,lag: 521,eag: 529},
|
|
74
|
+
{name:"Stage 3",lvl: 5,lag: 514,eag: 521},
|
|
75
|
+
{name:"Stage 4",lvl: 5,lag: 509,eag: 514},
|
|
76
|
+
{name:"Stage 5",lvl: 5,lag: 504.5,eag: 509},
|
|
77
|
+
{name:"Drumian",lvl: 5,lag: 500.5,eag: 504.5},
|
|
78
|
+
{name:"Guzhangian",lvl: 5,lag: 497,eag: 500.5},
|
|
79
|
+
{name:"Paibian",lvl: 5,lag: 494,eag: 497},
|
|
80
|
+
{name:"Jiangshanian",lvl: 5,lag: 489.5,eag: 494},
|
|
81
|
+
{name:"Stage 10",lvl: 5,lag: 485.4,eag: 489.5},
|
|
82
|
+
{name:"Tremadocian",lvl: 5,lag: 477.7,eag: 485.4},
|
|
83
|
+
{name:"Floian",lvl: 5,lag: 470,eag: 477.7},
|
|
84
|
+
{name:"Dapingian",lvl: 5,lag: 467.3,eag: 470},
|
|
85
|
+
{name:"Darriwilian",lvl: 5,lag: 458.4,eag: 467.3},
|
|
86
|
+
{name:"Sandbian",lvl: 5,lag: 453,eag: 458.4},
|
|
87
|
+
{name:"Katian",lvl: 5,lag: 445.2,eag: 453},
|
|
88
|
+
{name:"Hirnantian",lvl: 5,lag: 443.4,eag: 445.2},
|
|
89
|
+
{name:"Rhuddanian",lvl: 5,lag: 440.8,eag: 443.4},
|
|
90
|
+
{name:"Aeronian",lvl: 5,lag: 438.5,eag: 440.8},
|
|
91
|
+
{name:"Telychian",lvl: 5,lag: 433.4,eag: 438.5},
|
|
92
|
+
{name:"Sheinwoodian",lvl: 5,lag: 430.5,eag: 433.4},
|
|
93
|
+
{name:"Homerian",lvl: 5,lag: 427.4,eag: 430.5},
|
|
94
|
+
{name:"Gorstian",lvl: 5,lag: 425.6,eag: 427.4},
|
|
95
|
+
{name:"Ludfordian",lvl: 5,lag: 423,eag: 425.6},
|
|
96
|
+
{name:"Pridoli",lvl: 5,lag: 419.2,eag: 423},
|
|
97
|
+
{name:"Lochkovian",lvl: 5,lag: 410.8,eag: 419.2},
|
|
98
|
+
{name:"Pragian",lvl: 5,lag: 407.6,eag: 410.8},
|
|
99
|
+
{name:"Emsian",lvl: 5,lag: 393.3,eag: 407.6},
|
|
100
|
+
{name:"Eifelian",lvl: 5,lag: 387.7,eag: 393.3},
|
|
101
|
+
{name:"Givetian",lvl: 5,lag: 382.7,eag: 387.7},
|
|
102
|
+
{name:"Frasnian",lvl: 5,lag: 372.2,eag: 382.7},
|
|
103
|
+
{name:"Famennian",lvl: 5,lag: 358.9,eag: 372.2},
|
|
104
|
+
{name:"Tournaisian",lvl: 5,lag: 346.7,eag: 358.9},
|
|
105
|
+
{name:"Visean",lvl: 5,lag: 330.9,eag: 346.7},
|
|
106
|
+
{name:"Serpukhovian",lvl: 5,lag: 323.2,eag: 330.9},
|
|
107
|
+
{name:"Bashkirian",lvl: 5,lag: 315.2,eag: 323.2},
|
|
108
|
+
{name:"Moscovian",lvl: 5,lag: 307,eag: 315.2},
|
|
109
|
+
{name:"Kasimovian",lvl: 5,lag: 303.7,eag: 307},
|
|
110
|
+
{name:"Gzhelian",lvl: 5,lag: 298.9,eag: 303.7},
|
|
111
|
+
{name:"Asselian",lvl: 5,lag: 295.5,eag: 298.9},
|
|
112
|
+
{name:"Sakmarian",lvl: 5,lag: 290.1,eag: 295.5},
|
|
113
|
+
{name:"Artinskian",lvl: 5,lag: 279.3,eag: 290.1},
|
|
114
|
+
{name:"Kungurian",lvl: 5,lag: 272.3,eag: 279.3},
|
|
115
|
+
{name:"Roadian",lvl: 5,lag: 268.8,eag: 272.3},
|
|
116
|
+
{name:"Wordian",lvl: 5,lag: 265.1,eag: 268.8},
|
|
117
|
+
{name:"Capitanian",lvl: 5,lag: 259.9,eag: 265.1},
|
|
118
|
+
{name:"Wuchiapingian",lvl: 5,lag: 254.2,eag: 259.9},
|
|
119
|
+
{name:"Changhsingian",lvl: 5,lag: 252.2,eag: 254.2},
|
|
120
|
+
{name:"Induan",lvl: 5,lag: 251.2,eag: 252.2},
|
|
121
|
+
{name:"Olenekian",lvl: 5,lag: 247.2,eag: 251.2},
|
|
122
|
+
{name:"Anisian",lvl: 5,lag: 242,eag: 247.2},
|
|
123
|
+
{name:"Ladinian",lvl: 5,lag: 237,eag: 242},
|
|
124
|
+
{name:"Carnian",lvl: 5,lag: 228,eag: 237},
|
|
125
|
+
{name:"Norian",lvl: 5,lag: 208.5,eag: 228},
|
|
126
|
+
{name:"Rhaetian",lvl: 5,lag: 201.3,eag: 208.5},
|
|
127
|
+
{name:"Hettangian",lvl: 5,lag: 199.3,eag: 201.3},
|
|
128
|
+
{name:"Sinemurian",lvl: 5,lag: 190.8,eag: 199.3},
|
|
129
|
+
{name:"Pliensbachian",lvl: 5,lag: 182.7,eag: 190.8},
|
|
130
|
+
{name:"Toarcian",lvl: 5,lag: 174.1,eag: 182.7},
|
|
131
|
+
{name:"Aalenian",lvl: 5,lag: 170.3,eag: 174.1},
|
|
132
|
+
{name:"Bajocian",lvl: 5,lag: 168.3,eag: 170.3},
|
|
133
|
+
{name:"Bathonian",lvl: 5,lag: 166.1,eag: 168.3},
|
|
134
|
+
{name:"Callovian",lvl: 5,lag: 163.5,eag: 166.1},
|
|
135
|
+
{name:"Oxfordian",lvl: 5,lag: 157.3,eag: 163.5},
|
|
136
|
+
{name:"Kimmeridgian",lvl: 5,lag: 152.1,eag: 157.3},
|
|
137
|
+
{name:"Tithonian",lvl: 5,lag: 145,eag: 152.1},
|
|
138
|
+
{name:"Berriasian",lvl: 5,lag: 139.8,eag: 145},
|
|
139
|
+
{name:"Valanginian",lvl: 5,lag: 132.9,eag: 139.8},
|
|
140
|
+
{name:"Hauterivian",lvl: 5,lag: 129.4,eag: 132.9},
|
|
141
|
+
{name:"Barremian",lvl: 5,lag: 125,eag: 129.4},
|
|
142
|
+
{name:"Aptian",lvl: 5,lag: 113,eag: 125},
|
|
143
|
+
{name:"Albian",lvl: 5,lag: 100.5,eag: 113},
|
|
144
|
+
{name:"Cenomanian",lvl: 5,lag: 93.9,eag: 100.5},
|
|
145
|
+
{name:"Turonian",lvl: 5,lag: 89.8,eag: 93.9},
|
|
146
|
+
{name:"Coniacian",lvl: 5,lag: 86.3,eag: 89.8},
|
|
147
|
+
{name:"Santonian",lvl: 5,lag: 83.6,eag: 86.3},
|
|
148
|
+
{name:"Campanian",lvl: 5,lag: 72.1,eag: 83.6},
|
|
149
|
+
{name:"Maastrichtian",lvl: 5,lag: 66,eag: 72.1},
|
|
150
|
+
{name:"Danian",lvl: 5,lag: 61.6,eag: 66},
|
|
151
|
+
{name:"Selandian",lvl: 5,lag: 59.2,eag: 61.6},
|
|
152
|
+
{name:"Thanetian",lvl: 5,lag: 56,eag: 59.2},
|
|
153
|
+
{name:"Ypresian",lvl: 5,lag: 47.8,eag: 56},
|
|
154
|
+
{name:"Lutetian",lvl: 5,lag: 41.3,eag: 47.8},
|
|
155
|
+
{name:"Bartonian",lvl: 5,lag: 38,eag: 41.3},
|
|
156
|
+
{name:"Priabonian",lvl: 5,lag: 33.9,eag: 38},
|
|
157
|
+
{name:"Rupelian",lvl: 5,lag: 28.1,eag: 33.9},
|
|
158
|
+
{name:"Chattian",lvl: 5,lag: 23.03,eag: 28.1},
|
|
159
|
+
{name:"Aquitanian",lvl: 5,lag: 20.44,eag: 23.03},
|
|
160
|
+
{name:"Burdigalian",lvl: 5,lag: 15.97,eag: 20.44},
|
|
161
|
+
{name:"Langhian",lvl: 5,lag: 13.82,eag: 15.97},
|
|
162
|
+
{name:"Serravallian",lvl: 5,lag: 11.62,eag: 13.82},
|
|
163
|
+
{name:"Tortonian",lvl: 5,lag: 7.246,eag: 11.62},
|
|
164
|
+
{name:"Messinian",lvl: 5,lag: 5.333,eag: 7.246},
|
|
165
|
+
{name:"Zanclean",lvl: 5,lag: 3.6,eag: 5.333},
|
|
166
|
+
{name:"Piacenzian",lvl: 5,lag: 2.588,eag: 3.6},
|
|
167
|
+
{name:"Gelasian",lvl: 5,lag: 1.806,eag: 2.588},
|
|
168
|
+
{name:"Calabrian",lvl: 5,lag: 0.781,eag: 1.806},
|
|
169
|
+
{name:"Middle Pleistocene",lvl: 5,lag: 0.126,eag: 0.781},
|
|
170
|
+
{name:"Late Pleistocene",lvl: 5,lag: 0.0117,eag: 0.126},
|
|
171
|
+
{name:"Holocene",lvl: 5,lag: 0,eag: 0.0117}
|
|
172
|
+
]
|
|
173
|
+
|
|
174
|
+
def self.geologic_present
|
|
175
|
+
Date.new(1950,1,1)
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
def self.million_years_ago(years)
|
|
179
|
+
Date.geologic_present - (years*365*1000000).to_i
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
def in_geologic_time_range?(million_years_start, million_years_end)
|
|
183
|
+
time_period_start = Date.million_years_ago(million_years_start)
|
|
184
|
+
time_period_end = million_years_end == 0 ? Date.today : Date.million_years_ago(million_years_end)
|
|
185
|
+
(time_period_start..time_period_end).cover?(self)
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
def after_dinosaurs?
|
|
189
|
+
self > Date.million_years_ago(65)
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
GEOLOGIC_TIME_PERIODS.each do |time_period|
|
|
193
|
+
define_method("in_#{time_period[:name].downcase.tr(' ', '_')}?") { in_geologic_time_range?(time_period[:eag], time_period[:lag]) }
|
|
194
|
+
end
|
|
195
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: geoeras
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Martin Artnik
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2014-06-18 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: A gem that adds geologic time related methods to Date
|
|
14
|
+
email: artoartnik@gmail.com
|
|
15
|
+
executables: []
|
|
16
|
+
extensions: []
|
|
17
|
+
extra_rdoc_files: []
|
|
18
|
+
files:
|
|
19
|
+
- lib/geoeras.rb
|
|
20
|
+
homepage: http://rubygems.org/gems/geoeras
|
|
21
|
+
licenses:
|
|
22
|
+
- MIT
|
|
23
|
+
metadata: {}
|
|
24
|
+
post_install_message:
|
|
25
|
+
rdoc_options: []
|
|
26
|
+
require_paths:
|
|
27
|
+
- lib
|
|
28
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - '>='
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
34
|
+
requirements:
|
|
35
|
+
- - '>='
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: '0'
|
|
38
|
+
requirements: []
|
|
39
|
+
rubyforge_project:
|
|
40
|
+
rubygems_version: 2.0.6
|
|
41
|
+
signing_key:
|
|
42
|
+
specification_version: 4
|
|
43
|
+
summary: Geologic Eras
|
|
44
|
+
test_files: []
|
|
45
|
+
has_rdoc:
|