kittyverse 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 625692bc57c7cf12b02b4a08f18029b2fdbf2df8
4
- data.tar.gz: b7e4e3d49b1fa36c78d93bd535a34533d6caf0bb
3
+ metadata.gz: 7a711c97165ef02f83cdbfacde634a013fced668
4
+ data.tar.gz: 512645367b54692385916a9136d092893fc91cf9
5
5
  SHA512:
6
- metadata.gz: 4bc09276dc61fb29354e1af34ff88e6221b4c6a268d1e92fdaab8c35ce9c621e60afad1baaad5c52f8ce6683b8dbf6fd8a0b5fa6696b6f279639fd3090e78e85
7
- data.tar.gz: 0ec559282248dcc5c17ff83d984d30e7ea306c393b74c6b3cea39e433be76c9a4c5fd7a4eb9c862e58cdb4206c369ed964dd0708e1b04f58731c296d179a3554
6
+ metadata.gz: f1d71bd728a0968cbd0ec5bc58196bd5d12658b3bdd26a1b047fe6c9419d14ccdc2119825835ff7b437f3724a586c7d247edb74db3fc098a7ce094e5b7b47920
7
+ data.tar.gz: 3b5a4c57a2087d1853f164b0662247506f9726a97372315aeb8b5f266055324d812814b91485fce6fe2294b6a30c2121e952cd1ebb10eba97bcf8c6976522462
data/lib/kittyverse.rb CHANGED
@@ -3,11 +3,11 @@
3
3
  ## std libs
4
4
  require 'date'
5
5
  require 'json'
6
- require "pp"
7
- require "uri"
8
- require "net/http"
9
- require "net/https"
10
-
6
+ require 'pp'
7
+ require 'uri'
8
+ require 'net/http'
9
+ require 'net/https'
10
+ require 'fileutils'
11
11
 
12
12
 
13
13
  ## 3rd party libs
@@ -78,11 +78,13 @@ def initialize( base_uri:, token: nil )
78
78
  @base_request_uri = uri.request_uri ## e.g. save /v1 etc.
79
79
  ## puts "base_request_uri: >#{@base_request_uri}<"
80
80
 
81
- @token = token
81
+ @request_headers = if token
82
+ { "x-api-token" => token }
83
+ else
84
+ {}
85
+ end
82
86
  end # method initialize
83
87
 
84
-
85
-
86
88
  def get( service, **params )
87
89
 
88
90
  ## add url-encoded query string from params hash e.g. ?limit=100&type=sale
@@ -99,13 +101,9 @@ def get( service, **params )
99
101
  "#{@base_request_uri}#{service}" ## e.g. add /v1 etc.
100
102
  end
101
103
 
102
- request_headers = if @token
103
- { "x-api-token" => @token }
104
- else
105
- {}
106
- end
104
+ pp @request_headers
107
105
 
108
- req = Net::HTTP::Get.new( request_uri, request_headers )
106
+ req = Net::HTTP::Get.new( request_uri, @request_headers )
109
107
 
110
108
  res = @http.request(req)
111
109
 
@@ -81,10 +81,11 @@ end # class Client
81
81
  end # module V1
82
82
 
83
83
 
84
- CLIENT_V0 = V0::Client.new
85
- CLIENT_V1 = V1::Client.new
86
84
 
87
- def self.v0() CLIENT_V0; end
88
- def self.v1() CLIENT_V1; end
85
+ ## CLIENT_V0 = V0::Client.new
86
+ ## CLIENT_V1 = V1::Client.new
87
+ ##
88
+ ## def self.v0() CLIENT_V0; end
89
+ ## def self.v1() CLIENT_V1; end
89
90
 
90
91
  end # module Kitties
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
- COLORS = {
4
- ## 31 colors body
3
+ ## 31 colors body
4
+ COLORS_BODY = {
5
5
  meowgarine: "#fcfc95",
6
6
  cornflower: "#7592fc",
7
7
  icicle: "#c5e2ff",
@@ -32,8 +32,11 @@ COLORS = {
32
32
  redvelvet: "#f77272",
33
33
  verdigris: "#73ffc3",
34
34
  onyx: "#42414c",
35
- martian: "#a4ff6f",
36
- ## 31 colors eyes
35
+ martian: "#a4ff6f"
36
+ }
37
+
38
+ ## 31 colors eyes
39
+ COLORS_EYES = {
37
40
  olive: "#729100",
38
41
  pinefresh: "#177a25",
39
42
  oasis: "#ccffef",
@@ -64,8 +67,11 @@ COLORS = {
64
67
  palejade: "#c3d8cf",
65
68
  eclipse: "#484c5b",
66
69
  babypuke: "#bcba5e",
67
- autumnmoon: "#ffe8bb",
68
- ## 31 colors secondary
70
+ autumnmoon: "#ffe8bb"
71
+ }
72
+
73
+ ## 31 colors secondary
74
+ COLORS_SECONDARY = {
69
75
  cyborg: "#959cae",
70
76
  ooze: "#daea31",
71
77
  peppermint: "#00a86b",
@@ -96,8 +102,11 @@ COLORS = {
96
102
  universe: "#494981",
97
103
  royalblue: "#5b6ee8",
98
104
  mertail: "#36f2bc",
99
- pearl: "#fff8fa",
100
- ## 31 colors tertiary
105
+ pearl: "#fff8fa"
106
+ }
107
+
108
+ ## 31 colors tertiary
109
+ COLORS_TERTIARY = {
101
110
  hanauma: "#7accb5",
102
111
  belleblue: "#afd0f7",
103
112
  peach: "#f9cfad",
@@ -130,3 +139,8 @@ COLORS = {
130
139
  kalahari: "#ffcf8a",
131
140
  atlantis: "#2a7f96"
132
141
  }
142
+
143
+ COLORS = {}.merge( COLORS_BODY )
144
+ .merge( COLORS_EYES )
145
+ .merge( COLORS_SECONDARY )
146
+ .merge( COLORS_TERTIARY )
@@ -9,10 +9,6 @@
9
9
  # https://blog.kotobaza.co/timeline/
10
10
 
11
11
 
12
- ##
13
- ## todo/fix:
14
- ## use count: for time-limited fancies do NOT use limit!!! change limit to count!!!
15
-
16
12
  ##
17
13
  ## note:
18
14
  ## for time limits for fancies use:
@@ -21,34 +17,174 @@
21
17
  ## for overflows for limited edition use:
22
18
  ## e.g. overflow: 1 # 888+1 (=889)
23
19
 
24
-
25
- ### todo/fix:
26
- ## split into EXCLUSIVES
27
- ## and into SPECIAL_EDITIONS (SPECIALS?) - why? why not?
28
-
29
-
30
-
31
- FANCIES =
32
- {
33
- 'curdlin': { name: 'Curdlin',
34
- recipe: {
35
- time: { start: '2019-05-11', end: '2019-11-30' }, count: 4,
36
- traits: ['nachocheez', 'saycheese', 'missmuffett', 'dippedcone']},
37
- desc: 'Cheeze Wizard Cat - Celebrating the Launch of the Cheeze Wizards on the Blockchain'
38
- ## see https://www.cryptokitties.co/blog/post/things-are-getting-cheezy-in-cryptokitties
39
- },
40
-
20
+ SPECIAL_EDITIONS = {
41
21
  'kitt-e': { name: 'KITT-E', date: '2019-05-10',
42
22
  specialedition: {
43
23
  limit: 500 },
44
24
  desc: 'Dapper (Crypto Contract) Wallet Promotion Cat'
45
25
  },
26
+ # Apr 10, 2019
27
+ # Sparkles Special Edition Cat is released.Special Edition Cat
28
+ sparkles: { name: 'Sparkles', date: '2019-04-10',
29
+ specialedition: {
30
+ limit: 100 },
31
+ desc: 'Freebie for CryptoKitties Community Events'
32
+ },
33
+ ##
34
+ ## date: '2019-01-10 ??? -- use for date "announced" or something - why? why not?
35
+ aeoncat: { name: 'Aeoncat',
36
+ specialedition: {
37
+ time: { start: '2019-01-17', end: '2019-01-28' },
38
+ limit: 380 }, ## Don't sleep - there's only 380 up for grabs!
39
+ desc: 'Goddess Aeona - Goddess of Nature - Gods Unchained Promotion'
40
+ },
41
+ ## 2018
42
+ ## December
43
+ catzy: { name: 'Catzy', date: '2018-12-31',
44
+ specialedition: {
45
+ limit: 10, ids: (1137653..1137662).to_a },
46
+ desc: 'Changpeng "CZ" Zhao - CEO of Binance - Top 10 Blockchain Influencer of the Year 2018 by CoinDesk'
47
+ },
48
+ purremyallaire: { name: 'Purremy Allaire', date: '2018-12-31',
49
+ specialedition: {
50
+ limit: 10, ids: (1137663..1137672).to_a },
51
+ desc: 'Jeremy Allaire - Top 10 Blockchain Influencer of the Year 2018 by CoinDesk'
52
+ },
53
+ lilbub: { name: 'Lil Bub Ub Bub (BUB)', date: '2018-11-13',
54
+ specialedition: {
55
+ limit: 468 }
56
+ },
57
+ }
58
+
59
+
60
+ EXCLUSIVES = {
46
61
  'dapp-e': { name: 'DAPP-E', date: '2019-05-10',
47
62
  exclusive: {
48
63
  limit: 50, ids: (1829..1878).to_a },
49
64
  desc: 'Dapper (Crypto Contract) Wallet Promotion Cat'
50
65
  },
66
+ papacatuanuku: { name: 'Papacatuanuku', date: '2019-03-31',
67
+ exclusive: {
68
+ limit: 1, ids: [1500000] },
69
+ desc: 'Kitty #1500000'
70
+ },
71
+ # Mar 26, 2019
72
+ # Sir Meowsalot Exclusive Cat is released. Exclusive Cat
73
+ sirmeowsalot: { name: 'Sir Meowsalot', date: '2019-03-26',
74
+ exclusive: {
75
+ limit: 21, ids: (201..221).to_a }
76
+ },
77
+
78
+ cyberberry: { name: 'Cyber Berry', date: '2019-03-02',
79
+ exclusive: {
80
+ limit: 1, ids: [282] },
81
+ desc: "Winner of the NFTme Sweetstakes"
82
+ },
83
+
84
+ # Mar 1, 2019
85
+ # Hinecatone Exclusive Cat is discovered. Exclusive Cat
86
+ hinecatone: { name: 'Hinecatone', date: '2019-03-01',
87
+ exclusive: {
88
+ limit: 15, ids: [1423547, 1433380, 1433486, 1440835, 1453366, 1456935, 1456973, 1459319, 1463197, 1466118, 1474082, 1484593, 1484982, 1492154, 1498885]}
89
+ },
90
+
91
+ # Feb 15, 2019
92
+ # Felono Exclusive Cat is discovered. Exclusive Cat
93
+ felono: { name: 'Felono', date: '2019-02-15',
94
+ exclusive: {
95
+ limit: 30, ids: [1394641, 1404595, 1406021, 1413065, 1414375, 1420553, 1421315, 1421864, 1424104 ,1425433, 1431823, 1435517, 1436333, 1449860, 1451482, 1455458, 1459320, 1462952, 1463069, 1476999, 1483225, 1487210, 1487551, 1489681, 1490345, 1491632, 1492206, 1492739, 1492817, 1498778]}
96
+ },
97
+ hypurrion: { name: 'Hypurrion', date: '2019-01-10',
98
+ exclusive: {
99
+ limit: 1, ids: [269]},
100
+ desc: 'Hyperion - Mythic Titan of Light - Gods Unchained Promotion'
101
+ },
102
+ dracothemagnificent: { name: 'Draco The Magnificent', date: '2018-11-27',
103
+ exclusive: {
104
+ limit: 12, ids: (270..281).to_a }
105
+ },
106
+ bugcatv2: { name: 'Bug Cat V2', date: '2018-11-27',
107
+ exclusive: {
108
+ limit: 20, ids: (167..186).to_a },
109
+ desc: 'Bug Bounty II (Offers Contract) Kitty'
110
+ },
111
+ lilbubthemagicalspacecat: { name: 'Lil Bub Ub Bub (BUB) The Magical Space Cat', date: '2018-11-13',
112
+ exclusive: {
113
+ limit: 3, ids: [266,267,268]}
114
+ },
115
+ vulcat: { name: 'Vulcat', date: '2018-09-12',
116
+ exclusive: {
117
+ limit: 1, ids: [1000000] },
118
+ desc: '1 000 000th Kitty'
119
+ },
120
+ vulcant: { name: 'Vulcant', date: '2018-08-31',
121
+ exclusive: {
122
+ limit: 20, ids: [932914,937360,938299,946526,948925,949058,950617,952280,952981,956374,956908,958570,964205,967234,983046,984451,990713,992861,995745,997469] }
123
+ },
124
+ rabbidkitty: { name: 'Rabbid Kitty', date: '2018-08-23',
125
+ exclusive: {
126
+ limit: 6, ids: (260..265).to_a },
127
+ desc: 'Ubisoft Blockchain Heroes Hackathon'
128
+ },
129
+ honu: { name: 'Honu', date: '2018-07-20',
130
+ exclusive: {
131
+ limit: 1, ids: [251] },
132
+ desc: 'Kitties for Good - Save Turtle Habitats'
133
+ },
134
+ victoire: { name: 'Victoire', date: '2018-07-18',
135
+ exclusive: {
136
+ limit: 1, ids: [402] },
137
+ desc: 'France Football World Cup Champion'
138
+ },
139
+ furlin: { name: 'Furlin', date: '2018-06-26',
140
+ exclusive: {
141
+ limit: 52, ids: (115..126).to_a + (128..166).to_a }
142
+ },
143
+ celestialcyberdimension: { name: 'Celestial Cyber Dimension', date: '2018-05-12',
144
+ exclusive: {
145
+ limit: 1, ids: [127] }
146
+ },
147
+ goldendragoncat: { name: 'Golden Dragon Cat', name_cn: '帝龙喵', date: '2018-03-08',
148
+ exclusive: {
149
+ limit: 1, ids: [888] },
150
+ desc: 'China Launch'
151
+ }, ## todo: check date for china launch specials!!!
152
+ goldendogcat: { name: 'Golden Dog Cat', name_cn: '旺财汪', date: '2018-03-08',
153
+ exclusive: {
154
+ limit: 11, ids: [1802,1803,1805,1806,1808,1809,1812,1816]+(1825..1828).to_a },
155
+ desc: 'China Launch'
156
+ }, ## todo: check date for china launch specials!!!
157
+
158
+ knightkitty: { name: 'Knight Kitty', date: '2018-03-01',
159
+ exclusive: {
160
+ limit: 11, ids: (104..114).to_a }
161
+ },
162
+ cathena: { name: 'Cathena', date: '2018-02-06',
163
+ exclusive: {
164
+ limit: 1, ids: [500000] },
165
+ desc: '500 000th Kitty'
166
+ },
167
+ genesis: { name: 'Genesis', date: '2017-11-24',
168
+ exclusive: {
169
+ limit: 1, ids: [1] },
170
+ desc: '1st Kitty'
171
+ },
172
+ bugcat: { name: 'Bug Cat', date: '2017-11-23',
173
+ exclusive: {
174
+ limit: 3, ids: [101,102,103] },
175
+ desc: 'Bug Bounty Kitty' }
176
+ }
51
177
 
178
+
179
+ RECIPES = {
180
+ 'curdlin': { name: 'Curdlin',
181
+ recipe: {
182
+ time: { start: '2019-05-11', end: '2019-11-30' }, count: 4,
183
+ traits: ['nachocheez', 'saycheese', 'missmuffett', 'dippedcone']},
184
+ desc: 'Cheeze Wizard Cat - Celebrating the Launch of the Cheeze Wizards on the Blockchain'
185
+ ## see https://www.cryptokitties.co/blog/post/things-are-getting-cheezy-in-cryptokitties
186
+ },
187
+ ##
52
188
  # Apr 27, 2019
53
189
  # Krakitten Fancy Cat is discovered. Fancy Cat
54
190
  krakitten: { name: 'Krakitten',
@@ -67,20 +203,6 @@ FANCIES =
67
203
  ## see https://www.cryptokitties.co/blog/post/pirate-cats-are-plundering-cryptokitties/
68
204
  },
69
205
 
70
- # Apr 10, 2019
71
- # Sparkles Special Edition Cat is released.Special Edition Cat
72
- sparkles: { name: 'Sparkles', date: '2019-04-10',
73
- specialedition: {
74
- limit: 100 },
75
- desc: 'Freebie for CryptoKitties Community Events'
76
- },
77
-
78
- papacatuanuku: { name: 'Papacatuanuku', date: '2019-03-31',
79
- exclusive: {
80
- limit: 1, ids: [1500000] },
81
- desc: 'Kitty #1500000'
82
- },
83
-
84
206
  # Mar 30, 2019
85
207
  # Glitter Fancy Cat is discovered. Fancy Cat
86
208
  glitter: { name: 'Glitter',
@@ -89,14 +211,6 @@ FANCIES =
89
211
  traits: ['rorschach', 'juju', 'unicorn', 'hyacinth'] }
90
212
  },
91
213
 
92
-
93
- # Mar 26, 2019
94
- # Sir Meowsalot Exclusive Cat is released. Exclusive Cat
95
- sirmeowsalot: { name: 'Sir Meowsalot', date: '2019-03-26',
96
- exclusive: {
97
- limit: 21, ids: (201..221).to_a }
98
- },
99
-
100
214
  # Mar 16, 2019
101
215
  # Clover Fancy Cat is discovered. Fancy Cat
102
216
  clover: { name: 'Clover', date: '2019-03-16',
@@ -115,20 +229,6 @@ FANCIES =
115
229
  desc: "Ninja Fancy Cat"
116
230
  },
117
231
 
118
- cyberberry: { name: 'Cyber Berry', date: '2019-03-02',
119
- exclusive: {
120
- limit: 1, ids: [282] },
121
- desc: "Winner of the NFTme Sweetstakes"
122
- },
123
-
124
- # Mar 1, 2019
125
- # Hinecatone Exclusive Cat is discovered. Exclusive Cat
126
- hinecatone: { name: 'Hinecatone', date: '2019-03-01',
127
- exclusive: {
128
- limit: 15, ids: [1423547, 1433380, 1433486, 1440835, 1453366, 1456935, 1456973, 1459319, 1463197, 1466118, 1474082, 1484593, 1484982, 1492154, 1498885]}
129
- },
130
-
131
-
132
232
  # Feb 21, 2019
133
233
  # Ande Fancy Cat is discovered. Fancy Cat
134
234
  ande: { name: 'Ande', date: '2019-02-21',
@@ -151,13 +251,6 @@ FANCIES =
151
251
  traits: ['mekong', 'scarlet', 'spangled', 'wonky'] }
152
252
  },
153
253
 
154
- # Feb 15, 2019
155
- # Felono Exclusive Cat is discovered. Exclusive Cat
156
- felono: { name: 'Felono', date: '2019-02-15',
157
- exclusive: {
158
- limit: 30, ids: [1394641, 1404595, 1406021, 1413065, 1414375, 1420553, 1421315, 1421864, 1424104 ,1425433, 1431823, 1435517, 1436333, 1449860, 1451482, 1455458, 1459320, 1462952, 1463069, 1476999, 1483225, 1487210, 1487551, 1489681, 1490345, 1491632, 1492206, 1492739, 1492817, 1498778]}
159
- },
160
-
161
254
  # Feb 9, 2019
162
255
  # Miss Purrfect Fancy Cat is discovered.Fancy Cat
163
256
  misspurrfect: { name: 'Miss Purrfect',
@@ -187,31 +280,7 @@ FANCIES =
187
280
  traits: ['selkirk', 'koala', 'arcreactor', 'sully'] },
188
281
  desc: 'Gods Unchained Promotion - Mystical Cat Talisman'
189
282
  },
190
- ## date: '2019-01-10 ??? -- use for date "announced" or something - why? why not?
191
- aeoncat: { name: 'Aeoncat',
192
- specialedition: {
193
- time: { start: '2019-01-17', end: '2019-01-28' },
194
- limit: 380 }, ## Don't sleep - there's only 380 up for grabs!
195
- desc: 'Goddess Aeona - Goddess of Nature - Gods Unchained Promotion'
196
- },
197
- hypurrion: { name: 'Hypurrion', date: '2019-01-10',
198
- exclusive: {
199
- limit: 1, ids: [269]},
200
- desc: 'Hyperion - Mythic Titan of Light - Gods Unchained Promotion'
201
- },
202
283
 
203
- ## 2018
204
- ## December
205
- catzy: { name: 'Catzy', date: '2018-12-31',
206
- specialedition: {
207
- limit: 10, ids: (1137653..1137662).to_a },
208
- desc: 'Changpeng "CZ" Zhao - CEO of Binance - Top 10 Blockchain Influencer of the Year 2018 by CoinDesk'
209
- },
210
- purremyallaire: { name: 'Purremy Allaire', date: '2018-12-31',
211
- specialedition: {
212
- limit: 10, ids: (1137663..1137672).to_a },
213
- desc: 'Jeremy Allaire - Top 10 Blockchain Influencer of the Year 2018 by CoinDesk'
214
- },
215
284
  genedough: { name: 'Gene Dough',
216
285
  recipe: {
217
286
  time: { start: '2018-12-23', end: '2019-01-07' }, count: 1376,
@@ -230,15 +299,6 @@ FANCIES =
230
299
  time: { start: '2018-11-30', end: '2018-12-07' }, count: 1115,
231
300
  traits: ['toyger', 'martian', 'peppermint', 'dragonwings', 'SE03'] }
232
301
  },
233
- dracothemagnificent: { name: 'Draco The Magnificent', date: '2018-11-27',
234
- exclusive: {
235
- limit: 12, ids: (270..281).to_a }
236
- },
237
- bugcatv2: { name: 'Bug Cat V2', date: '2018-11-27',
238
- exclusive: {
239
- limit: 20, ids: (167..186).to_a },
240
- desc: 'Bug Bounty II (Offers Contract) Kitty'
241
- },
242
302
  dracojunior: { name: 'Draco Junior',
243
303
  recipe: {
244
304
  time: { start: '2018-11-26', end: '2018-12-07' }, count: 1398,
@@ -254,16 +314,6 @@ FANCIES =
254
314
  limit: 303,
255
315
  traits: ['lynx', 'martian', 'highsociety', 'emeraldgreen']}
256
316
  },
257
- lilbub: { name: 'Lil Bub Ub Bub (BUB)', date: '2018-11-13',
258
- specialedition: {
259
- limit: 468 }
260
- },
261
-
262
- lilbubthemagicalspacecat: { name: 'Lil Bub Ub Bub (BUB) The Magical Space Cat', date: '2018-11-13',
263
- exclusive: {
264
- limit: 3, ids: [266,267,268]}
265
- },
266
-
267
317
  ## October
268
318
  dukecat: { name: 'Dukecat', date: '2018-10-18',
269
319
  recipe: {
@@ -283,11 +333,6 @@ FANCIES =
283
333
  limit: 1185,
284
334
  traits: ['jaguar', 'universe', 'atlantis', 'littlefoot']}
285
335
  },
286
- vulcat: { name: 'Vulcat', date: '2018-09-12',
287
- exclusive: {
288
- limit: 1, ids: [1000000] },
289
- desc: '1 000 000th Kitty'
290
- },
291
336
  meowstro: { name: 'Meowstro', date: '2018-09-09',
292
337
  recipe: {
293
338
  limit: 1698,
@@ -300,20 +345,11 @@ FANCIES =
300
345
  },
301
346
 
302
347
  ## August
303
- vulcant: { name: 'Vulcant', date: '2018-08-31',
304
- exclusive: {
305
- limit: 20, ids: [932914,937360,938299,946526,948925,949058,950617,952280,952981,956374,956908,958570,964205,967234,983046,984451,990713,992861,995745,997469] }
306
- },
307
348
  purrity: { name: 'Purrity', date: '2018-08-23',
308
349
  recipe: {
309
350
  limit: 5984,
310
351
  traits: ['selkirk', 'chronic', 'cloudwhite', 'cheeky'] }
311
352
  },
312
- rabbidkitty: { name: 'Rabbid Kitty', date: '2018-08-23',
313
- exclusive: {
314
- limit: 6, ids: (260..265).to_a },
315
- desc: 'Ubisoft Blockchain Heroes Hackathon'
316
- },
317
353
  squiddlesworth: { name: 'Squiddlesworth', date: '2018-08-16',
318
354
  recipe: {
319
355
  limit: 1510,
@@ -332,16 +368,6 @@ FANCIES =
332
368
  limit: 76,
333
369
  traits: ['ragdoll', 'crazy', 'chocolate', 'mintmacaron', 'yokel', 'WE02']}
334
370
  },
335
- honu: { name: 'Honu', date: '2018-07-20',
336
- exclusive: {
337
- limit: 1, ids: [251] },
338
- desc: 'Kitties for Good - Save Turtle Habitats'
339
- },
340
- victoire: { name: 'Victoire', date: '2018-07-18',
341
- exclusive: {
342
- limit: 1, ids: [402] },
343
- desc: 'France Football World Cup Champion'
344
- },
345
371
  lulu: { name: 'Lulu', date: '2018-07-13',
346
372
  recipe: {
347
373
  limit: 999,
@@ -373,10 +399,6 @@ FANCIES =
373
399
  limit: 1867,
374
400
  traits: ['buzzed', 'nachocheez', 'sandalwood', 'belch']}
375
401
  },
376
- furlin: { name: 'Furlin', date: '2018-06-26',
377
- exclusive: {
378
- limit: 52, ids: (115..126).to_a + (128..166).to_a }
379
- },
380
402
  kittypride: { name: 'Kitty Pride', date: '2018-06-21',
381
403
  recipe: {
382
404
  limit: 1316,
@@ -409,10 +431,6 @@ FANCIES =
409
431
  limit: 250,
410
432
  traits: ['persian','spock','raisedbrow','violet','tongue'] }
411
433
  },
412
- celestialcyberdimension: { name: 'Celestial Cyber Dimension', date: '2018-05-12',
413
- exclusive: {
414
- limit: 1, ids: [127] }
415
- },
416
434
  swish: { name: 'Swish', date: '2018-05-08',
417
435
  recipe: {
418
436
  limit: 2880,
@@ -449,16 +467,6 @@ FANCIES =
449
467
  limit: 888,
450
468
  traits: ['harbourfog','calicool','swampgreen','sapphire','beard']}
451
469
  }, ## todo: check date for china launch specials!!!
452
- goldendragoncat: { name: 'Golden Dragon Cat', name_cn: '帝龙喵', date: '2018-03-08',
453
- exclusive: {
454
- limit: 1, ids: [888] },
455
- desc: 'China Launch'
456
- }, ## todo: check date for china launch specials!!!
457
- goldendogcat: { name: 'Golden Dog Cat', name_cn: '旺财汪', date: '2018-03-08',
458
- exclusive: {
459
- limit: 11, ids: [1802,1803,1805,1806,1808,1809,1812,1816]+(1825..1828).to_a },
460
- desc: 'China Launch'
461
- }, ## todo: check date for china launch specials!!!
462
470
  liondance: { name: 'Lion Dance', name_cn: '咚咚锵', date: '2018-03-07',
463
471
  recipe: {
464
472
  limit: 888, overflow: 1, ## use count 889 ?? - why? why not?
@@ -470,10 +478,6 @@ FANCIES =
470
478
  traits: ['tigerpunk','periwinkle','barkbrown','sweetmeloncakes','yokel']},
471
479
  desc: 'Year of the Dog (Greater China)'
472
480
  },
473
- knightkitty: { name: 'Knight Kitty', date: '2018-03-01',
474
- exclusive: {
475
- limit: 11, ids: (104..114).to_a }
476
- },
477
481
 
478
482
  ## February
479
483
  tabby: { name: 'Tabby', date: '2018-02-26',
@@ -499,11 +503,6 @@ FANCIES =
499
503
  traits: ['birman','orangesoda','hotrod','grim'] },
500
504
  desc: 'Earn.com - Golden Kitty Award (Product Hunt)'
501
505
  },
502
- cathena: { name: 'Cathena', date: '2018-02-06',
503
- exclusive: {
504
- limit: 1, ids: [500000] },
505
- desc: '500 000th Kitty'
506
- },
507
506
 
508
507
  ## January
509
508
  'momo-chan': { name: 'Momo-chan', date: '2018-01-31',
@@ -557,18 +556,14 @@ FANCIES =
557
556
  limit: 10_000,
558
557
  traits: ['cymric','tongue']}
559
558
  },
560
- genesis: { name: 'Genesis', date: '2017-11-24',
561
- exclusive: {
562
- limit: 1, ids: [1] },
563
- desc: '1st Kitty'
564
- },
565
559
  shipcat: { name: 'Ship Cat', date: '2017-11-23',
566
560
  recipe: {
567
561
  limit: 2000,
568
562
  traits: ['sphynx','orangesoda','luckystripe','crazy']}
569
- },
570
- bugcat: { name: 'Bug Cat', date: '2017-11-23',
571
- exclusive: {
572
- limit: 3, ids: [101,102,103] },
573
- desc: 'Bug Bounty Kitty' }
563
+ }
574
564
  }
565
+
566
+
567
+ FANCIES = {}.merge( RECIPES )
568
+ .merge( EXCLUSIVES )
569
+ .merge( SPECIAL_EDITIONS )
@@ -3,15 +3,7 @@
3
3
  ###########################################
4
4
  ## Purrstige Traits / Cattributes
5
5
 
6
-
7
- ## note: totesbasic has three traits / genes
8
- TOTESBASIC = ['Totesbasic 1', 'Totesbasic 2', 'Totesbasic 3'] ## was: ['PA14', 'PA15', 'PA23']
9
- ANY_TOTESBASIC = ALL_TOTESBASIC = TOTESBASIC
10
-
11
-
12
-
13
- PRESTIGES = PURRSTIGES =
14
- {
6
+ PURRSTIGES_ROBOKITTY = {
15
7
  ###
16
8
  # May 1, 2019
17
9
  # 7 Robokitty Purrstiges
@@ -49,8 +41,11 @@ squelch: { name: 'Squelch',
49
41
  recipe: {
50
42
  time: { start: '2019-05-01', end: '2019-08-31' },
51
43
  traits: ['ragdoll', 'WE05', TOTESBASIC, 'PU24'] }
52
- },
44
+ }
45
+ }
46
+
53
47
 
48
+ PURRSTIGES_PIRATE = {
54
49
  ##
55
50
  # Apr 13, 2019
56
51
  # 7 Pirate Purrstiges
@@ -95,20 +90,14 @@ maraud: { name: 'Maraud',
95
90
  recipe: {
96
91
  time: { start: '2019-04-13', end: '2019-05-10' }, count: 620,
97
92
  traits: ['WE10', 'EN01', 'PU26'] }
98
- },
93
+ }
94
+ }
99
95
 
100
- ##
101
- # Mar 15, 2019
102
- # Oohshiny trait is discovered. Purrstige
103
- oohshiny: { name: 'Oohshiny',
104
- recipe: {
105
- time: { start: '2019-03-15', end: '2019-03-28'}, count: 2484,
106
- traits: ['roadtogold', 'PU27'] }
107
- },
108
96
 
97
+ PURRSTIGES_ALPACAT = {
109
98
  ##
110
99
  # Feb 21, 2019
111
- # 7 Alpacat purrstiges
100
+ # 7 Alpacat "hairstyle" purrstiges
112
101
  # Dreamcloud trait is discovered. Purrstige
113
102
  dreamcloud: { name: 'Dreamcloud',
114
103
  recipe: {
@@ -150,7 +139,31 @@ inaband: { name: 'Inaband',
150
139
  recipe: {
151
140
  time: { start: '2019-02-22', end: '2019-03-25' }, count: 1048,
152
141
  traits: ['munchkin', 'WE10', 'PU26'] }
153
- },
142
+ }
143
+ }
144
+
145
+
146
+ ###############
147
+ ## todo:
148
+ ## - use PURRSTIGES_XMAS?! and other themes too - why? why not?
149
+
150
+ ## thatsawrap: { date: '2018-10-21' }, ## prestige
151
+ ## duckduckcat: { date: '2018-10-19' }, ## prestige
152
+
153
+ ## prune: { date: '2018-09-19' }, ## prestige
154
+ ## furball: { date: '2018-09-19' }, ## prestige
155
+
156
+
157
+ PRESTIGES = PURRSTIGES =
158
+ {
159
+ ##
160
+ # Mar 15, 2019
161
+ # Oohshiny trait is discovered. Purrstige
162
+ oohshiny: { name: 'Oohshiny',
163
+ recipe: {
164
+ time: { start: '2019-03-15', end: '2019-03-28'}, count: 2484,
165
+ traits: ['roadtogold', 'PU27'] }
166
+ },
154
167
 
155
168
  ## 2018
156
169
  ## December
@@ -197,4 +210,6 @@ inaband: { name: 'Inaband',
197
210
  time: { start: '2018-09-19', end: '2018-09-30' }, count: 998,
198
211
  traits: ['norwegianforest', TOTESBASIC, 'PU26'] }
199
212
  }
200
- }
213
+ }.merge( PURRSTIGES_ROBOKITTY )
214
+ .merge( PURRSTIGES_PIRATE )
215
+ .merge( PURRSTIGES_ALPACAT )
@@ -415,13 +415,25 @@ ALT_TRAIT_NAMES =
415
415
  'totesbasic_14' => 'totesbasic 1',
416
416
  'totesbasic_15' => 'totesbasic 2',
417
417
  'totesbasic_23' => 'totesbasic 3',
418
+ 'totesbasic 14' => 'totesbasic 1',
419
+ 'totesbasic 15' => 'totesbasic 2',
420
+ 'totesbasic 23' => 'totesbasic 3',
421
+
418
422
  'totesbasic (f)' => 'totesbasic 1',
419
423
  'totesbasic (g)' => 'totesbasic 2',
420
424
  'totesbasic (p)' => 'totesbasic 3',
425
+ 'totesbasic f' => 'totesbasic 1',
426
+ 'totesbasic g' => 'totesbasic 2',
427
+ 'totesbasic p' => 'totesbasic 3',
421
428
  'totesbasic_f' => 'totesbasic 1',
422
429
  'totesbasic_g' => 'totesbasic 2',
423
430
  'totesbasic_p' => 'totesbasic 3',
431
+
424
432
  'totesbasic_1' => 'totesbasic 1',
425
433
  'totesbasic_2' => 'totesbasic 2',
426
434
  'totesbasic_3' => 'totesbasic 3',
427
435
  }
436
+
437
+ ## note: totesbasic has three traits / genes
438
+ TOTESBASIC = ['Totesbasic 1', 'Totesbasic 2', 'Totesbasic 3'] ## was: ['PA14', 'PA15', 'PA23']
439
+ ANY_TOTESBASIC = ALL_TOTESBASIC = TOTESBASIC
@@ -38,9 +38,6 @@ TRAITS_TIMELINE =
38
38
  gemini: { date: '2018-10-23' },
39
39
  kaleidoscope: { date: '2018-10-23' },
40
40
 
41
- ## thatsawrap: { date: '2018-10-21' }, ## todo: move prestige to fancies!!!
42
- ## duckduckcat: { date: '2018-10-19' }, ## todo: move prestige to fancies!!!
43
-
44
41
  siberian: { date: '2018-10-17' },
45
42
  lynx: { date: '2018-10-17' },
46
43
  toyger: { date: '2018-10-17' },
@@ -64,9 +61,6 @@ TRAITS_TIMELINE =
64
61
  hanauma: { date: '2018-09-21' },
65
62
  summerbonnet: { date: '2018-09-21' },
66
63
 
67
- ## prune: { date: '2018-09-19' }, ## todo: move prestige to fancies!!!
68
- ## furball: { date: '2018-09-19' }, ## todo: move prestige to fancies!!!
69
-
70
64
  firedup: { date: '2018-09-06' },
71
65
  hacker: { date: '2018-09-06' },
72
66
  drama: { date: '2018-09-06' },
@@ -5,7 +5,7 @@ class Kittyverse
5
5
 
6
6
  MAJOR = 0
7
7
  MINOR = 4
8
- PATCH = 3
8
+ PATCH = 4
9
9
  VERSION = [MAJOR,MINOR,PATCH].join('.')
10
10
 
11
11
  def self.version
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kittyverse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-18 00:00:00.000000000 Z
11
+ date: 2019-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base32-alphabets