13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# File 'lib/kittypedia/pages/timeline_traits.rb', line 13
def build
TRAITS_TIMELINE.each do |key,h|
trait = Trait.find_by_name( key.to_s )
if trait.nil?
puts "unknown / undefined trait #{key}:"
pp h
exit 1
end
end
buf = ""
buf << HEADER
month = nil
year = nil
last_date = nil
genesisdate = Date.new( 2017, 11, 23)
TRAITS_TIMELINE.each do |key,h|
date = Date.strptime( h[:date], '%Y-%m-%d' )
if year != date.year
buf << "\n"
buf << "\n"
buf << "## #{date.year}"
buf << "\n"
end
if month != date.month
buf << "\n"
buf << "### #{date.strftime( '%B')}"
buf << "\n"
end
year = date.year
month = date.month
if last_date != date
buf << "\n"
buf << date.strftime( '%b %-d, %Y')
day_count = (date.to_date.jd - genesisdate.jd)+1
buf << " (#{day_count}d)"
buf << "\n"
end
last_date = date
trait = Trait.find_by_name( key.to_s )
trait_type = trait.type
kai = trait.kai
tier = trait.tier tier_roman = trait.tier_roman
line = ""
name = "#{key}"
line << "- "
line << "[**#{name}**](#{kitties_search_url(name)}) #{tier_roman} "
line << " - #{trait_type.name.downcase} "
pair = MUTATION_PAIR[kai]
kai_pair = "#{kai}"
kai_pair << " = #{pair}" unless pair.empty?
line << "(#{trait.code} / #{kai_pair}) "
line << "trait discovered. #Cattribute"
line << " #Mewtation" if tier && tier > 0
buf << line
buf << "\n"
end
buf
end
|