opal-d3 0.0.20170205
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/.gitignore +2 -0
- data/Gemfile +3 -0
- data/README.md +7 -0
- data/Rakefile +31 -0
- data/d3.js +16393 -0
- data/demo/Gemfile +4 -0
- data/demo/README.md +7 -0
- data/demo/app/data/elections_2016.rb +10 -0
- data/demo/app/data/harry_potter.rb +19 -0
- data/demo/app/data/iphones.rb +29 -0
- data/demo/app/data/london_population.rb +26 -0
- data/demo/app/data/man_vs_horse.rb +55 -0
- data/demo/app/data/mtg_modern_colors.rb +96 -0
- data/demo/app/data/mtg_modern_creatures.rb +116 -0
- data/demo/app/data/olympics_2016_medals.rb +100 -0
- data/demo/app/data/paradox.rb +60 -0
- data/demo/app/data/polish_pms.rb +28 -0
- data/demo/app/data/star_trek_voyager.rb +183 -0
- data/demo/app/data/weather_in_london.rb +381 -0
- data/demo/app/elections_2016.rb +19 -0
- data/demo/app/harry_potter.rb +35 -0
- data/demo/app/iphones.rb +47 -0
- data/demo/app/london_population.rb +46 -0
- data/demo/app/london_population_area.rb +42 -0
- data/demo/app/man_vs_horse.rb +53 -0
- data/demo/app/mtg_modern_colors.rb +49 -0
- data/demo/app/mtg_modern_creatures.rb +63 -0
- data/demo/app/olympics_2016_medals.rb +54 -0
- data/demo/app/paradox.rb +57 -0
- data/demo/app/polish_pms.rb +53 -0
- data/demo/app/star_trek_voyager.rb +39 -0
- data/demo/app/weather_in_london.rb +62 -0
- data/demo/assets/d3.js +16393 -0
- data/demo/assets/style.css +0 -0
- data/demo/config.ru +39 -0
- data/demo/views/index.erb +21 -0
- data/demo/views/visualization.erb +29 -0
- data/lib/opal/d3/arc.rb +21 -0
- data/lib/opal/d3/area.rb +49 -0
- data/lib/opal/d3/axis.rb +77 -0
- data/lib/opal/d3/band_scale.rb +29 -0
- data/lib/opal/d3/collections.rb +10 -0
- data/lib/opal/d3/color.rb +78 -0
- data/lib/opal/d3/continuous_scale.rb +64 -0
- data/lib/opal/d3/creator.rb +11 -0
- data/lib/opal/d3/curve.rb +74 -0
- data/lib/opal/d3/dsv.rb +103 -0
- data/lib/opal/d3/ease.rb +319 -0
- data/lib/opal/d3/format.rb +97 -0
- data/lib/opal/d3/histograms.rb +44 -0
- data/lib/opal/d3/interpolate.rb +125 -0
- data/lib/opal/d3/line.rb +29 -0
- data/lib/opal/d3/map.rb +52 -0
- data/lib/opal/d3/misc.rb +15 -0
- data/lib/opal/d3/native.rb +84 -0
- data/lib/opal/d3/nest.rb +100 -0
- data/lib/opal/d3/ordinal_scale.rb +56 -0
- data/lib/opal/d3/path.rb +22 -0
- data/lib/opal/d3/pie.rb +23 -0
- data/lib/opal/d3/point_scale.rb +26 -0
- data/lib/opal/d3/polygon.rb +16 -0
- data/lib/opal/d3/quadtree.rb +95 -0
- data/lib/opal/d3/quantile_scale.rb +21 -0
- data/lib/opal/d3/quantize_scale.rb +23 -0
- data/lib/opal/d3/radial_area.rb +49 -0
- data/lib/opal/d3/radial_line.rb +29 -0
- data/lib/opal/d3/random.rb +12 -0
- data/lib/opal/d3/search.rb +28 -0
- data/lib/opal/d3/selection.rb +149 -0
- data/lib/opal/d3/sequential_scale.rb +96 -0
- data/lib/opal/d3/set.rb +33 -0
- data/lib/opal/d3/stack.rb +11 -0
- data/lib/opal/d3/statistics.rb +81 -0
- data/lib/opal/d3/symbol.rb +70 -0
- data/lib/opal/d3/threshold_scale.rb +23 -0
- data/lib/opal/d3/time_format.rb +48 -0
- data/lib/opal/d3/time_interval.rb +81 -0
- data/lib/opal/d3/transformations.rb +13 -0
- data/lib/opal/d3/version.rb +5 -0
- data/lib/opal/d3.rb +62 -0
- data/lib/opal-d3.rb +9 -0
- data/opal-d3.gemspec +20 -0
- data/spec/arc_spec.rb +86 -0
- data/spec/area_spec.rb +102 -0
- data/spec/axis_spec.rb +174 -0
- data/spec/band_scale_spec.rb +73 -0
- data/spec/color_spec.rb +74 -0
- data/spec/continuous_scale_spec.rb +217 -0
- data/spec/coverage_spec.rb +23 -0
- data/spec/creator_spec.rb +15 -0
- data/spec/curve_spec.rb +214 -0
- data/spec/dsv_spec.rb +194 -0
- data/spec/ease_spec.rb +370 -0
- data/spec/format_spec.rb +87 -0
- data/spec/histograms_spec.rb +61 -0
- data/spec/html/d3.js +16393 -0
- data/spec/html/index.html.erb +12 -0
- data/spec/interpolate_spec.rb +152 -0
- data/spec/line_spec.rb +58 -0
- data/spec/map_spec.rb +80 -0
- data/spec/misc_spec.rb +19 -0
- data/spec/nest_spec.rb +89 -0
- data/spec/objects_spec.rb +22 -0
- data/spec/ordinal_scale_spec.rb +59 -0
- data/spec/path_spec.rb +65 -0
- data/spec/pie_spec.rb +114 -0
- data/spec/point_scale_spec.rb +58 -0
- data/spec/polygon_spec.rb +51 -0
- data/spec/quadtree_spec.rb +128 -0
- data/spec/quantile_scale_spec.rb +24 -0
- data/spec/quantize_scale_spec.rb +40 -0
- data/spec/radial_area_spec.rb +127 -0
- data/spec/radial_line_spec.rb +54 -0
- data/spec/random_spec.rb +34 -0
- data/spec/search_spec.rb +69 -0
- data/spec/selection_data_spec.rb +71 -0
- data/spec/selection_manipulation_spec.rb +179 -0
- data/spec/selection_spec.rb +214 -0
- data/spec/sequential_scale_spec.rb +90 -0
- data/spec/set_spec.rb +57 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/stack_spec.rb +23 -0
- data/spec/statistics_spec.rb +65 -0
- data/spec/symbol_spec.rb +121 -0
- data/spec/threshold_scale_spec.rb +28 -0
- data/spec/time_format_spec.rb +99 -0
- data/spec/time_interval_spec.rb +304 -0
- data/spec/transformations_spec.rb +51 -0
- metadata +258 -0
data/demo/Gemfile
ADDED
data/demo/README.md
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
|
3
|
+
Elections2016 = [
|
4
|
+
{ name: "Donald Trump", votes: 62_979_879, color: "#ff8c00" },
|
5
|
+
{ name: "Hillary Clinton", votes: 65_844_954, color: "#98abc5" },
|
6
|
+
{ name: "Gary Johnson", votes: 4_488_919, color: "#8a89a6" },
|
7
|
+
{ name: "Jill Stein", votes: 1_457_044, color: "#7b6888" },
|
8
|
+
{ name: "Evan McMullin", votes: 725_902, color: "#6b486b" },
|
9
|
+
{ name: "Darrell Castle", votes: 202_979, color: "#a05d56" },
|
10
|
+
].map{|o| OpenStruct.new(o) }
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
require "time"
|
3
|
+
|
4
|
+
# Pages for UK releases, according to Harry Potter wikia
|
5
|
+
HarryPotterBooks = [
|
6
|
+
["Philosopher's Stone", "1997-06-26", 223],
|
7
|
+
["Chamber of Secrets", "1998-07-02", 251],
|
8
|
+
["Prisoner of Azkaban", "1999-07-08", 317],
|
9
|
+
["Goblet of Fire", "2000-07-08", 636],
|
10
|
+
["Order of the Phoenix", "2003-06-21", 766],
|
11
|
+
["Half-Blood Prince", "2005-07-16", 607],
|
12
|
+
["Deathly Hallows", "2007-07-21", 610],
|
13
|
+
].map do |title, time, pages|
|
14
|
+
OpenStruct.new(
|
15
|
+
title: title,
|
16
|
+
date: Time.parse(time),
|
17
|
+
pages: pages
|
18
|
+
)
|
19
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require "date"
|
2
|
+
require "time"
|
3
|
+
require "ostruct"
|
4
|
+
|
5
|
+
IPhones = [
|
6
|
+
["iPhone", "2007-06-29", [4,8,16]],
|
7
|
+
["iPhone 3G", "2008-07-11", [8,16]],
|
8
|
+
["iPhone 3GS", "2009-06-19", [8,16,32]],
|
9
|
+
["iPhone 4", "2010-06-24", [8,16,32]],
|
10
|
+
["iPhone 4S", "2011-10-14", [8,16,32,64]],
|
11
|
+
["iPhone 5", "2012-09-21", [16,32,64]],
|
12
|
+
["iPhone 5C", "2013-09-20", [8,16,32]],
|
13
|
+
["iPhone 5S", "2013-09-20", [16,32,64]],
|
14
|
+
["iPhone 6", "2014-09-19", [16,64,128]],
|
15
|
+
["iPhone 6 Plus", "2014-09-19", [16,64,128]],
|
16
|
+
["iPhone 6S", "2015-09-25", [16,32,64,128]],
|
17
|
+
["iPhone 6S Plus", "2015-09-25", [16,32,64,128]],
|
18
|
+
["iPhone SE", "2016-03-31", [16,64]],
|
19
|
+
["iPhone 7", "2016-09-16", [32,128,256]],
|
20
|
+
["iPhone 7 Plus", "2016-09-16", [32,128,256]],
|
21
|
+
].map{|n,d,s|
|
22
|
+
OpenStruct.new(name: n, released: Time.parse(d), sizes: s)
|
23
|
+
}
|
24
|
+
|
25
|
+
IPhoneVariants = IPhones.flat_map do |i|
|
26
|
+
i.sizes.map do |sz|
|
27
|
+
OpenStruct.new(name: i.name, released: i.released, size: sz)
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
|
3
|
+
LondonPopulation = [
|
4
|
+
{"year": 1801, "inner": 879491, "outer": 131666, "greater": 1011157 },
|
5
|
+
{"year": 1811, "inner": 1040033, "outer": 157640, "greater": 1197673 },
|
6
|
+
{"year": 1821, "inner": 1263975, "outer": 186147, "greater": 1450122 },
|
7
|
+
{"year": 1831, "inner": 1515557, "outer": 214392, "greater": 1729949 },
|
8
|
+
{"year": 1841, "inner": 1661346, "outer": 255667, "greater": 1917013 },
|
9
|
+
{"year": 1851, "inner": 1995846, "outer": 290763, "greater": 2286609 },
|
10
|
+
{"year": 1861, "inner": 2634143, "outer": 460248, "greater": 3094391 },
|
11
|
+
{"year": 1871, "inner": 3272441, "outer": 629737, "greater": 3902178 },
|
12
|
+
{"year": 1881, "inner": 3910735, "outer": 799225, "greater": 4709960 },
|
13
|
+
{"year": 1891, "inner": 4422340, "outer": 1143516, "greater": 5565856 },
|
14
|
+
{"year": 1901, "inner": 4670177, "outer": 1556317, "greater": 6226494 },
|
15
|
+
{"year": 1911, "inner": 4997741, "outer": 2160134, "greater": 7157875 },
|
16
|
+
{"year": 1921, "inner": 4936803, "outer": 2616723, "greater": 7553526 },
|
17
|
+
{"year": 1931, "inner": 4887932, "outer": 3211010, "greater": 8098942 },
|
18
|
+
{"year": 1941, "inner": 4224135, "outer": 3763801, "greater": 7987936 },
|
19
|
+
{"year": 1951, "inner": 3680821, "outer": 4483595, "greater": 8164416 },
|
20
|
+
{"year": 1961, "inner": 3336557, "outer": 4444785, "greater": 7781342 },
|
21
|
+
{"year": 1971, "inner": 3030490, "outer": 4418694, "greater": 7449184 },
|
22
|
+
{"year": 1981, "inner": 2425534, "outer": 4182979, "greater": 6608513 },
|
23
|
+
{"year": 1991, "inner": 2625245, "outer": 4262035, "greater": 6887280 },
|
24
|
+
{"year": 2001, "inner": 2765975, "outer": 4406061, "greater": 7172036 },
|
25
|
+
{"year": 2011, "inner": 3231900, "outer": 4942100, "greater": 8173900 },
|
26
|
+
].map{|o| OpenStruct.new(o)}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
|
3
|
+
ManVsHorse = [
|
4
|
+
[2016, "Horse", "Lindsey Walters", "Deliva Crianza", "2:17:58", "Ross MacDonald", "2:37:51"],
|
5
|
+
[2015, "Horse", "Geoffrey Allen", "Leo", "2:20:46", "Hugh Aggleton", "2:30:35"],
|
6
|
+
[2014, "Horse", "Geoffrey Allen", "Leo", "2:22:53", "Jonathan Albon", "2:42:49"],
|
7
|
+
[2013, "Horse", "Beti Gordon", "Next in line Grangeway", "2:18:03", "Hugh Aggleton", "2:46:25"],
|
8
|
+
[2012, "Horse", "Iola Evans", "Rheidol Star", "2:00:51", "Huw Lobb", "2:25:57"],
|
9
|
+
[2011, "Horse", "Beti Gordon", "Next in line Grangeway", "2:08:37", "Charlie Pearson", "2:25:45"],
|
10
|
+
[2010, "Horse", "Llinos Mair Jones", "Sly Dai", "2:07:04", "Haggai Chepkwony", "2:17:27"],
|
11
|
+
[2009, "Horse", "Geoffrey Allen", "Dukes Touch of Fun", "2:11:43", "Martin Cox", "2:20:02"],
|
12
|
+
[2008, "Horse", "Geoffrey Allen", "Dukes Touch of Fun", "2:18:13", "John Macfarlane", "2:18:43"],
|
13
|
+
[2007, "Human", "Geoffrey Allen", "Lucy", "2:31:26", "Florian Holzinger", "2:20:30"],
|
14
|
+
[2006, "Horse", "Denise Meldrum", "Tarran Bay", "2:10:29", "Haggai Chepkwony", "2:19:06"],
|
15
|
+
[2005, "Horse", "Lise Cooke", "Gifted Lady", "2:19:11", "Stephen Goulding", "2:33:22"],
|
16
|
+
[2004, "Human", "Zoe White", "Kay Bee Jay", "2:07:36", "Huw Lobb", "2:05:19"],
|
17
|
+
[2003, "Horse", "Robyn Petrie-Ritchie", "Druimguiga Shemal", "2:02:01", "Mark Croasdale", "2:19:02"],
|
18
|
+
[2002, "Horse", "Robyn Petrie-Ritchie", "Druimguiga Shemal", "2:02:23", "James McQueen", "2:18:52"],
|
19
|
+
[2001, "Horse", "Heather Evans", "Royal Mikado", "2:08:06", "Martin Cox", "2:17:17"],
|
20
|
+
[2000, "Horse", "Heather Evans", "Royal Mikado", "2:08", "Mark Croasdale", "2:10"],
|
21
|
+
[1999, "Horse", "Jackie Gilmour", "Ruama", "1:58", "Mark Palmer", "2:16"],
|
22
|
+
[1998, "Horse", "Jackie Gilmour", "Ruama", "1:46", "Stuart Major", "2:16"],
|
23
|
+
[1997, "Horse", "Megan Lewis", "unknown", "1:52", "Paul Cadwallader", "2:09"],
|
24
|
+
[1996, "Horse", "Ken Mapp", "Ahmaar", "1:57", "Mark Palmer", "2:12"],
|
25
|
+
[1995, "Horse", "Ken Mapp", "Ahmaar", "1:57", "Paul Cadwallader", "2:06"],
|
26
|
+
[1994, "Horse", "Celia Tymons", "Eskalabar", "1:52", "Mark Croasdale", "2:09"],
|
27
|
+
[1993, "Horse", "John Hudson", "unknown", "1:47", "Robin Bergstrand", "2:03"],
|
28
|
+
[1992, "Horse", "Zoe Jennings", "Hussar", "1:38", "Derek Green", "2:09"],
|
29
|
+
[1991, "Horse", "Zoe Jennings", "Hussar", "1:30", "Mark Croasdale", "2:05"],
|
30
|
+
[1990, "Horse", "Ray Jenkins", "The Doid", "1:36", "Glyn Williams", "2:07"],
|
31
|
+
[1989, "Horse", "Ray Jenkins", "The Doid", "1:54", "Mark Croasdale", "2:10"],
|
32
|
+
[1988, "Horse", "John Davies", "Mavies", "1:47", "Mark Croasdale", "2:08"],
|
33
|
+
[1987, "Horse", "Ray Jenkins", "The Doid", "1:32", "Paul Wheeler", "1:57"],
|
34
|
+
[1986, "Horse", "Nia Tudno-Jones", "Jenny", "1:44", "Fuselier Hughes", "2:08"],
|
35
|
+
[1985, "Horse", "Nia Tudno-Jones", "Jenny", "1:40", "David Woodhead", "2:08"],
|
36
|
+
[1984, "Horse", "William Jones", "Solitaire", "1:20", "David Woodhead", "2:05"],
|
37
|
+
[1983, "Horse", "Ann Thomas", "Nutmeg", "1:26", "Dic Evans", "2:02"],
|
38
|
+
[1982, "Horse", "Sue Thomas", "Simon", "2:06", "Paul Brownson", "2:10"],
|
39
|
+
[1981, "Horse", "Clive Powell", "Sultan", "2:02", "Dic Evans", "2:24"],
|
40
|
+
[1980, "Horse", "Glyn Jones", "Solomon", "1:27", "Dic Evans", "2:10"],
|
41
|
+
].map{|y,w,rn,hn,ht,mn,mt|
|
42
|
+
h,m,s = ht.split(":").map(&:to_i)
|
43
|
+
ht = h*60+m+(s||0)
|
44
|
+
h,m,s = mt.split(":").map(&:to_i)
|
45
|
+
mt = h*60+m+(s||0)
|
46
|
+
OpenStruct.new(
|
47
|
+
year: y,
|
48
|
+
winner: w,
|
49
|
+
rider: rn,
|
50
|
+
horse: hn,
|
51
|
+
horse_time: ht,
|
52
|
+
human: mn,
|
53
|
+
human_time: mt,
|
54
|
+
)
|
55
|
+
}
|
@@ -0,0 +1,96 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
|
3
|
+
# As of AER
|
4
|
+
MtgModernColors = [
|
5
|
+
[0, "b", 3],
|
6
|
+
[0, "g", 1],
|
7
|
+
[0, "r", 2],
|
8
|
+
[0, "u", 3],
|
9
|
+
[0, "w", 2],
|
10
|
+
[0, "x", 29],
|
11
|
+
[1, "b", 180],
|
12
|
+
[1, "g", 198],
|
13
|
+
[1, "m", 35],
|
14
|
+
[1, "r", 203],
|
15
|
+
[1, "u", 161],
|
16
|
+
[1, "w", 215],
|
17
|
+
[1, "x", 148],
|
18
|
+
[2, "b", 293],
|
19
|
+
[2, "g", 324],
|
20
|
+
[2, "m", 237],
|
21
|
+
[2, "r", 303],
|
22
|
+
[2, "u", 332],
|
23
|
+
[2, "w", 392],
|
24
|
+
[2, "x", 266],
|
25
|
+
[3, "b", 364],
|
26
|
+
[3, "g", 344],
|
27
|
+
[3, "m", 287],
|
28
|
+
[3, "r", 369],
|
29
|
+
[3, "u", 344],
|
30
|
+
[3, "w", 347],
|
31
|
+
[3, "x", 328],
|
32
|
+
[4, "b", 300],
|
33
|
+
[4, "g", 293],
|
34
|
+
[4, "m", 225],
|
35
|
+
[4, "r", 316],
|
36
|
+
[4, "u", 311],
|
37
|
+
[4, "w", 299],
|
38
|
+
[4, "x", 201],
|
39
|
+
[5, "b", 225],
|
40
|
+
[5, "g", 214],
|
41
|
+
[5, "m", 205],
|
42
|
+
[5, "r", 202],
|
43
|
+
[5, "u", 197],
|
44
|
+
[5, "w", 182],
|
45
|
+
[5, "x", 109],
|
46
|
+
[6, "b", 119],
|
47
|
+
[6, "g", 120],
|
48
|
+
[6, "m", 116],
|
49
|
+
[6, "r", 125],
|
50
|
+
[6, "u", 115],
|
51
|
+
[6, "w", 87],
|
52
|
+
[6, "x", 77],
|
53
|
+
[7, "b", 48],
|
54
|
+
[7, "g", 58],
|
55
|
+
[7, "m", 47],
|
56
|
+
[7, "r", 36],
|
57
|
+
[7, "u", 42],
|
58
|
+
[7, "w", 45],
|
59
|
+
[7, "x", 44],
|
60
|
+
[8, "b", 12],
|
61
|
+
[8, "g", 23],
|
62
|
+
[8, "m", 20],
|
63
|
+
[8, "r", 16],
|
64
|
+
[8, "u", 11],
|
65
|
+
[8, "w", 10],
|
66
|
+
[8, "x", 18],
|
67
|
+
[9, "b", 8],
|
68
|
+
[9, "g", 5],
|
69
|
+
[9, "r", 6],
|
70
|
+
[9, "u", 8],
|
71
|
+
[9, "w", 5],
|
72
|
+
[9, "x", 9],
|
73
|
+
[10, "b", 2],
|
74
|
+
[10, "g", 2],
|
75
|
+
[10, "m", 2],
|
76
|
+
[10, "r", 2],
|
77
|
+
[10, "u", 8],
|
78
|
+
[10, "w", 2],
|
79
|
+
[10, "x", 6],
|
80
|
+
[11, "g", 1],
|
81
|
+
[11, "u", 1],
|
82
|
+
[11, "x", 6],
|
83
|
+
[12, "m", 1],
|
84
|
+
[12, "u", 1],
|
85
|
+
[12, "x", 2],
|
86
|
+
[13, "x", 1],
|
87
|
+
[14, "u", 1],
|
88
|
+
[15, "m", 1],
|
89
|
+
[15, "x", 1],
|
90
|
+
].map do |cmc, color, count|
|
91
|
+
OpenStruct.new(
|
92
|
+
cmc: cmc,
|
93
|
+
color: color,
|
94
|
+
count: count,
|
95
|
+
)
|
96
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
|
3
|
+
# As of AER
|
4
|
+
# get rid of all *-cards
|
5
|
+
MtgModernCreatures = [
|
6
|
+
[-1, -1, 1],
|
7
|
+
[-1, 3, 1],
|
8
|
+
["*", "*", 70],
|
9
|
+
["*", 1, 2],
|
10
|
+
["*", "1+*", 2],
|
11
|
+
["*", 3, 3],
|
12
|
+
["*", 4, 1],
|
13
|
+
["*", 5, 1],
|
14
|
+
[0, "*", 1],
|
15
|
+
[0, 0, 86],
|
16
|
+
[0, 1, 47],
|
17
|
+
[0, 2, 32],
|
18
|
+
[0, 3, 42],
|
19
|
+
[0, 4, 41],
|
20
|
+
[0, 5, 18],
|
21
|
+
[0, 6, 9],
|
22
|
+
[0, 7, 2],
|
23
|
+
[0, 8, 2],
|
24
|
+
[0, 13, 2],
|
25
|
+
[1, 1, 757],
|
26
|
+
[1, 2, 178],
|
27
|
+
[1, 3, 147],
|
28
|
+
[1, 4, 70],
|
29
|
+
[1, 5, 23],
|
30
|
+
[1, 6, 4],
|
31
|
+
[1, 7, 2],
|
32
|
+
[1, 8, 1],
|
33
|
+
["1+*", "1+*", 1],
|
34
|
+
[2, "*", 1],
|
35
|
+
[2, 0, 1],
|
36
|
+
[2, 1, 423],
|
37
|
+
[2, 2, 956],
|
38
|
+
[2, 3, 271],
|
39
|
+
[2, 4, 111],
|
40
|
+
[2, 5, 35],
|
41
|
+
[2, 6, 5],
|
42
|
+
[2, 7, 3],
|
43
|
+
[2, 8, 2],
|
44
|
+
[2, 10, 1],
|
45
|
+
[3, 1, 111],
|
46
|
+
[3, 2, 219],
|
47
|
+
[3, 3, 532],
|
48
|
+
[3, 4, 121],
|
49
|
+
[3, 5, 49],
|
50
|
+
[3, 6, 17],
|
51
|
+
[3, 7, 4],
|
52
|
+
[3, 8, 1],
|
53
|
+
[4, 1, 31],
|
54
|
+
[4, 2, 53],
|
55
|
+
[4, 3, 106],
|
56
|
+
[4, 4, 338],
|
57
|
+
[4, 5, 75],
|
58
|
+
[4, 6, 27],
|
59
|
+
[4, 7, 7],
|
60
|
+
[4, 8, 1],
|
61
|
+
[4, 9, 2],
|
62
|
+
[5, 1, 11],
|
63
|
+
[5, 2, 16],
|
64
|
+
[5, 3, 40],
|
65
|
+
[5, 4, 77],
|
66
|
+
[5, 5, 203],
|
67
|
+
[5, 6, 34],
|
68
|
+
[5, 7, 17],
|
69
|
+
[5, 8, 3],
|
70
|
+
[5, 9, 1],
|
71
|
+
[6, 1, 8],
|
72
|
+
[6, 2, 4],
|
73
|
+
[6, 3, 8],
|
74
|
+
[6, 4, 32],
|
75
|
+
[6, 5, 31],
|
76
|
+
[6, 6, 125],
|
77
|
+
[6, 7, 8],
|
78
|
+
[6, 8, 2],
|
79
|
+
[6, 9, 1],
|
80
|
+
[7, 2, 3],
|
81
|
+
[7, 3, 1],
|
82
|
+
[7, 4, 5],
|
83
|
+
[7, 5, 7],
|
84
|
+
[7, 6, 13],
|
85
|
+
[7, 7, 47],
|
86
|
+
[7, 8, 2],
|
87
|
+
[7, 10, 1],
|
88
|
+
[7, 11, 2],
|
89
|
+
[8, 0, 1],
|
90
|
+
[8, 4, 1],
|
91
|
+
[8, 5, 3],
|
92
|
+
[8, 7, 1],
|
93
|
+
[8, 8, 30],
|
94
|
+
[8, 9, 1],
|
95
|
+
[9, 5, 1],
|
96
|
+
[9, 7, 2],
|
97
|
+
[9, 8, 1],
|
98
|
+
[9, 9, 11],
|
99
|
+
[9, 10, 1],
|
100
|
+
[9, 14, 1],
|
101
|
+
[10, 2, 1],
|
102
|
+
[10, 8, 1],
|
103
|
+
[10, 9, 1],
|
104
|
+
[10, 10, 13],
|
105
|
+
[11, 9, 1],
|
106
|
+
[11, 11, 4],
|
107
|
+
[12, 12, 3],
|
108
|
+
[13, 13, 5],
|
109
|
+
[15, 15, 2],
|
110
|
+
].map do |p,t,c|
|
111
|
+
OpenStruct.new(
|
112
|
+
power: p,
|
113
|
+
toughness: t,
|
114
|
+
count: c,
|
115
|
+
)
|
116
|
+
end.select{|cg| cg.power.is_a?(Integer) and cg.toughness.is_a?(Integer) }
|
@@ -0,0 +1,100 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
|
3
|
+
Olympics2016Medals = [
|
4
|
+
["United States", "USA", 46, 37, 38],
|
5
|
+
["Great Britain", "GBR", 27, 23, 17],
|
6
|
+
["China", "CHN", 26, 18, 26],
|
7
|
+
["Russia", "RUS", 19, 17, 19],
|
8
|
+
["Germany", "GER", 17, 10, 15],
|
9
|
+
["Japan", "JPN", 12, 8, 21],
|
10
|
+
["France", "FRA", 10, 18, 14],
|
11
|
+
["South Korea", "KOR", 9, 3, 9],
|
12
|
+
["Italy", "ITA", 8, 12, 8],
|
13
|
+
["Australia", "AUS", 8, 11, 10],
|
14
|
+
["Netherlands", "NED", 8, 7, 4],
|
15
|
+
["Hungary", "HUN", 8, 3, 4],
|
16
|
+
["Brazil", "BRA", 7, 6, 6],
|
17
|
+
["Spain", "ESP", 7, 4, 6],
|
18
|
+
["Kenya", "KEN", 6, 6, 1],
|
19
|
+
["Jamaica", "JAM", 6, 3, 2],
|
20
|
+
["Croatia", "CRO", 5, 3, 2],
|
21
|
+
["Cuba", "CUB", 5, 2, 4],
|
22
|
+
["New Zealand", "NZL", 4, 9, 5],
|
23
|
+
["Canada", "CAN", 4, 3, 15],
|
24
|
+
["Uzbekistan", "UZB", 4, 2, 7],
|
25
|
+
["Kazakhstan", "KAZ", 3, 5, 9],
|
26
|
+
["Colombia", "COL", 3, 2, 3],
|
27
|
+
["Switzerland", "SUI", 3, 2, 2],
|
28
|
+
["Iran", "IRI", 3, 1, 4],
|
29
|
+
["Greece", "GRE", 3, 1, 2],
|
30
|
+
["Argentina", "ARG", 3, 1, 0],
|
31
|
+
["Denmark", "DEN", 2, 6, 7],
|
32
|
+
["Sweden", "SWE", 2, 6, 3],
|
33
|
+
["South Africa", "RSA", 2, 6, 2],
|
34
|
+
["Ukraine", "UKR", 2, 5, 4],
|
35
|
+
["Serbia", "SRB", 2, 4, 2],
|
36
|
+
["Poland", "POL", 2, 3, 6],
|
37
|
+
["North Korea", "PRK", 2, 3, 2],
|
38
|
+
["Belgium", "BEL", 2, 2, 2],
|
39
|
+
["Thailand", "THA", 2, 2, 2],
|
40
|
+
["Slovakia", "SVK", 2, 2, 0],
|
41
|
+
["Georgia", "GEO", 2, 1, 4],
|
42
|
+
["Azerbaijan", "AZE", 1, 7, 10],
|
43
|
+
["Belarus", "BLR", 1, 4, 4],
|
44
|
+
["Turkey", "TUR", 1, 3, 4],
|
45
|
+
["Armenia", "ARM", 1, 3, 0],
|
46
|
+
["Czech Republic", "CZE", 1, 2, 7],
|
47
|
+
["Ethiopia", "ETH", 1, 2, 5],
|
48
|
+
["Slovenia", "SLO", 1, 2, 1],
|
49
|
+
["Indonesia", "INA", 1, 2, 0],
|
50
|
+
["Romania", "ROU", 1, 1, 2],
|
51
|
+
["Bahrain", "BRN", 1, 1, 0],
|
52
|
+
["Vietnam", "VIE", 1, 1, 0],
|
53
|
+
["Chinese Taipei", "TPE", 1, 0, 2],
|
54
|
+
["Bahamas", "BAH", 1, 0, 1],
|
55
|
+
["Côte d'Ivoire", "CIV", 1, 0, 1],
|
56
|
+
["Independent", "IOA", 1, 0, 1],
|
57
|
+
["Fiji", "FIJ", 1, 0, 0],
|
58
|
+
["Jordan", "JOR", 1, 0, 0],
|
59
|
+
["Kosovo", "KOS", 1, 0, 0],
|
60
|
+
["Puerto Rico", "PUR", 1, 0, 0],
|
61
|
+
["Singapore", "SIN", 1, 0, 0],
|
62
|
+
["Tajikistan", "TJK", 1, 0, 0],
|
63
|
+
["Malaysia", "MAS", 0, 4, 1],
|
64
|
+
["Mexico", "MEX", 0, 3, 2],
|
65
|
+
["Algeria", "ALG", 0, 2, 0],
|
66
|
+
["Ireland", "IRL", 0, 2, 0],
|
67
|
+
["Lithuania", "LTU", 0, 1, 3],
|
68
|
+
["Bulgaria", "BUL", 0, 1, 2],
|
69
|
+
["Venezuela", "VEN", 0, 1, 2],
|
70
|
+
["India", "IND", 0, 1, 1],
|
71
|
+
["Mongolia", "MGL", 0, 1, 1],
|
72
|
+
["Burundi", "BDI", 0, 1, 0],
|
73
|
+
["Grenada", "GRN", 0, 1, 0],
|
74
|
+
["Niger", "NIG", 0, 1, 0],
|
75
|
+
["Philippines", "PHI", 0, 1, 0],
|
76
|
+
["Qatar", "QAT", 0, 1, 0],
|
77
|
+
["Norway", "NOR", 0, 0, 4],
|
78
|
+
["Egypt", "EGY", 0, 0, 3],
|
79
|
+
["Tunisia", "TUN", 0, 0, 3],
|
80
|
+
["Israel", "ISR", 0, 0, 2],
|
81
|
+
["Austria", "AUT", 0, 0, 1],
|
82
|
+
["Dominican Republic", "DOM", 0, 0, 1],
|
83
|
+
["Estonia", "EST", 0, 0, 1],
|
84
|
+
["Finland", "FIN", 0, 0, 1],
|
85
|
+
["Morocco", "MAR", 0, 0, 1],
|
86
|
+
["Moldova", "MDA", 0, 0, 1],
|
87
|
+
["Nigeria", "NGR", 0, 0, 1],
|
88
|
+
["Portugal", "POR", 0, 0, 1],
|
89
|
+
["Trinidad and Tobago", "TTO", 0, 0, 1],
|
90
|
+
["United Arab Emirates", "UAE", 0, 0, 1],
|
91
|
+
].map{|n,a,g,s,b|
|
92
|
+
OpenStruct.new(
|
93
|
+
name: n,
|
94
|
+
acronym: a,
|
95
|
+
gold: g,
|
96
|
+
silver: s,
|
97
|
+
bronze: b,
|
98
|
+
total: g+s+b,
|
99
|
+
)
|
100
|
+
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
require "time"
|
3
|
+
|
4
|
+
ParadoxGames = [
|
5
|
+
["Crusader Kings", 1, "", "2004-08-27"],
|
6
|
+
["Crusader Kings", 1, "Deus Vult", "2007-10-04"],
|
7
|
+
["Crusader Kings", 2, "", "2012-02-14"],
|
8
|
+
["Crusader Kings", 2, "Sword of Islam", "2012-06-26"],
|
9
|
+
["Crusader Kings", 2, "Legacy of Rome", "2012-10-16"],
|
10
|
+
["Crusader Kings", 2, "Sunset Invasion", "2012-11-15"],
|
11
|
+
["Crusader Kings", 2, "The Republic", "2013-01-12"],
|
12
|
+
["Crusader Kings", 2, "The Old Gods", "2013-05-28"],
|
13
|
+
["Crusader Kings", 2, "Sons of Abraham", "2013-11-18"],
|
14
|
+
["Crusader Kings", 2, "Charlemagne", "2014-10-14"],
|
15
|
+
["Crusader Kings", 2, "Rajas of India", "2014-03-25"],
|
16
|
+
["Crusader Kings", 2, "Way of Life", "2014-12-16"],
|
17
|
+
["Crusader Kings", 2, "Horse Lords", "2015-07-14"],
|
18
|
+
["Crusader Kings", 2, "Conclave", "2016-02-02"],
|
19
|
+
["Crusader Kings", 2, "The Reaper's Due", "2016-08-25"],
|
20
|
+
["Europa Universalis", 1, "", "2000-02-20"],
|
21
|
+
["Europa Universalis", 2, "", "2001-12-11"],
|
22
|
+
["Europa Universalis", 2, "Asia Chapters", "2004-03-25"],
|
23
|
+
["Europa Universalis", 3, "", "2007-01-23"],
|
24
|
+
["Europa Universalis", 3, "Napoleon's Ambition", "2007-08-22"],
|
25
|
+
["Europa Universalis", 3, "In Nomine", "2008-05-28"],
|
26
|
+
["Europa Universalis", 3, "Heir to the Throne", "2009-12-15"],
|
27
|
+
["Europa Universalis", 3, "Divine Wind", "2010-12-14"],
|
28
|
+
["Europa Universalis", 4, "", "2013-08-13"],
|
29
|
+
["Europa Universalis", 4, "Conquest of Paradise", "2014-01-14"],
|
30
|
+
["Europa Universalis", 4, "Wealth of Nations", "2014-05-29"],
|
31
|
+
["Europa Universalis", 4, "Res Publica", "2014-07-16"],
|
32
|
+
["Europa Universalis", 4, "Art of War", "2014-10-30"],
|
33
|
+
["Europa Universalis", 4, "El Dorado", "2015-02-26"],
|
34
|
+
["Europa Universalis", 4, "Common Sense", "2015-06-09"],
|
35
|
+
["Europa Universalis", 4, "The Cossacks", "2015-12-01"],
|
36
|
+
["Europa Universalis", 4, "Mare Nostrum", "2016-04-05"],
|
37
|
+
["Europa Universalis", 4, "Rights of Man", "2016-10-11"],
|
38
|
+
["Hearts of Iron", 1, "", "2002-11-24"],
|
39
|
+
["Hearts of Iron", 2, "", "2005-01-04"],
|
40
|
+
["Hearts of Iron", 2, "Armageddon", "2007-03-29"],
|
41
|
+
["Hearts of Iron", 2, "Doomsday", "2006-04-04"],
|
42
|
+
["Hearts of Iron", 2, "Iron Cross", "2010-10-07"],
|
43
|
+
["Hearts of Iron", 3, "", "2009-08-07"],
|
44
|
+
["Hearts of Iron", 3, "Semper Fi", "2010-06-06"],
|
45
|
+
["Hearts of Iron", 3, "For the Motherland", "2011-06-29"],
|
46
|
+
["Hearts of Iron", 3, "Their Finest Hour", "2012-09-29"],
|
47
|
+
["Hearts of Iron", 4, "", "2016-06-06"],
|
48
|
+
["Victoria", 1, "", "2003-08-13"],
|
49
|
+
["Victoria", 1, "Revolutions", "2006-08-17"],
|
50
|
+
["Victoria", 2, "", "2010-08-13"],
|
51
|
+
["Victoria", 2, "A House Divided", "2012-02-02"],
|
52
|
+
["Victoria", 2, "Heart of Darkness", "2013-04-16"],
|
53
|
+
].map do |s,n,d,t|
|
54
|
+
OpenStruct.new(
|
55
|
+
series: s,
|
56
|
+
number: n,
|
57
|
+
dlc: d,
|
58
|
+
time: Time.parse(t),
|
59
|
+
)
|
60
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
require "time"
|
3
|
+
|
4
|
+
PolishPMs = [
|
5
|
+
["Tadeusz Mazowiecki", "UD", "1989-08-24", "1991-01-04"],
|
6
|
+
["Jan Krzysztof Bielecki", "KLD", "1991-01-04", "1991-12-06"],
|
7
|
+
["Jan Olszewski", "PC", "1991-12-06", "1992-06-05"],
|
8
|
+
["Waldemar Pawlak", "PSL", "1992-06-05", "1992-07-11"],
|
9
|
+
["Hanna Suchocka", "UD", "1992-07-11", "1993-10-26"],
|
10
|
+
["Waldemar Pawlak", "PSL", "1993-10-26", "1995-03-07"],
|
11
|
+
["Józef Oleksy", "SLD", "1995-03-07", "1996-02-07"],
|
12
|
+
["Włodzimierz Cimoszewicz", "SLD", "1996-02-07", "1997-10-31"],
|
13
|
+
["Jerzy Buzek", "AWS", "1997-10-31", "2001-10-19"],
|
14
|
+
["Leszek Miller", "SLD", "2001-10-19", "2004-05-02"],
|
15
|
+
["Marek Belka", "SLD", "2004-05-02", "2005-10-31"],
|
16
|
+
["Kazimierz Marcinkiewicz", "PiS", "2005-10-31", "2006-07-14"],
|
17
|
+
["Jarosław Kaczyński", "PiS", "2006-07-14", "2007-11-16"],
|
18
|
+
["Donald Tusk", "PO", "2007-11-16", "2014-09-22"],
|
19
|
+
["Ewa Kopacz", "PO", "2014-09-22", "2015-11-16"],
|
20
|
+
["Beata Szydło", "PiS", "2015-11-16", "2017-01-06"],
|
21
|
+
].map{|n,p,s,e|
|
22
|
+
OpenStruct.new(
|
23
|
+
name: n,
|
24
|
+
party: p,
|
25
|
+
start: Time.parse(s),
|
26
|
+
end: Time.parse(e),
|
27
|
+
)
|
28
|
+
}
|