copycats 0.7.0 → 0.8.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d4349c7259a07744027bdfe5c4a1264f1a2a618
4
- data.tar.gz: be9e07b7f6537ac7b4e8bd204675ec0b4fcdefbd
3
+ metadata.gz: 5765b3011eacd184d9efd7e2f9cad441ec56ad12
4
+ data.tar.gz: 516850d479c1522598076bd7bbd7b8ed739bae6e
5
5
  SHA512:
6
- metadata.gz: 4d3da0f26e104802d8bd35652fe5dc0e0ac6a04c77bedc1c9eb9e46d79c406de244c90e0327ab9ae227eee0c06ce5252287037128397b20d636027630c69801c
7
- data.tar.gz: c90601d80f6a2c6e4ab19a6b5b0581a44fba9e906748286cc17cb26bdca80e1771168a40cc9b4c0ea2b74fcd610850d33e2f6ae7a2dfaacb8d48778daa737615
6
+ metadata.gz: e12e8cd5f3b18a7fb120f44f1c7b5e49f11cda1d9b2ffc3cbcc5771089affb24d5df070fd7d0c64479f90edb3b0858049d18f86e6356f1b3d2253d5436e6e83b
7
+ data.tar.gz: b881568d4ccc9f303f46ce54e9981d422d7f090843da23fbf8e2f565ec7417bc17d93cbd66c96ec05bdb20d2cc272e94237cb40b6d2dff995715a835741e8b13
data/README.md CHANGED
@@ -4,14 +4,14 @@ copycats command line tool (and core library) - crypto cats / kitties collectibl
4
4
 
5
5
 
6
6
 
7
- * home :: [github.com/openblockchains/copycats](https://github.com/openblockchains/copycats)
8
- * bugs :: [github.com/openblockchains/copycats/issues](https://github.com/openblockchains/copycats/issues)
7
+ * home :: [github.com/cryptocopycats/copycats](https://github.com/cryptocopycats/copycats)
8
+ * bugs :: [github.com/cryptocopycats/copycats/issues](https://github.com/cryptocopycats/copycats/issues)
9
9
  * gem :: [rubygems.org/gems/copycats](https://rubygems.org/gems/copycats)
10
10
  * rdoc :: [rubydoc.info/gems/copycats](http://rubydoc.info/gems/copycats)
11
11
 
12
12
 
13
13
 
14
-
14
+ <!--
15
15
  ## Timeline / Updates
16
16
 
17
17
  ### New Traits / Catttributes
@@ -57,6 +57,7 @@ Mar 1, 2018
57
57
 
58
58
 
59
59
  See [Updates - Fancies / Exclusives](updates/FANCIES.md) for more.
60
+ -->
60
61
 
61
62
 
62
63
 
@@ -65,7 +66,7 @@ See [Updates - Fancies / Exclusives](updates/FANCIES.md) for more.
65
66
 
66
67
  Use the `kitty` command line tool to (auto-)read kitty data records
67
68
  (in comma-separated values (CSV)) into an in-memory SQLite database
68
- and print reports. Example - [`kitties/1-99_999/000.csv`](https://github.com/openblockchains/kitties/blob/master/1-99_999/000.csv):
69
+ and print reports. Example - [`kitties/1-99_999/000.csv`](https://github.com/cryptocopycats/kitties/blob/master/1-99_999/000.csv):
69
70
 
70
71
  ```
71
72
  id,gen,matron_id,sire_id,birthdate,genes,name
@@ -530,11 +531,11 @@ genes.map { |gene| gene.kitty } # get kitties (from gene)
530
531
 
531
532
  ## Datasets
532
533
 
533
- [(Crypto) Kitties on the Blockchain](https://github.com/openblockchains/kitties) -
534
+ [(Crypto) Kitties on the Blockchain](https://github.com/cryptocopycats/kitties) -
534
535
  public dataset in comma-separated values (CSV) format in blocks of a thousand kitties each (e.g.
535
- [`000.csv`](https://github.com/openblockchains/kitties/blob/master/1-99_999/000.csv) incl. 1-999,
536
- [`001.csv`](https://github.com/openblockchains/kitties/blob/master/1-99_999/001.csv) incl. 1000-1999,
537
- [`002.csv`](https://github.com/openblockchains/kitties/blob/master/1-99_999/002.csv) incl. 2000-2999,
536
+ [`000.csv`](https://github.com/cryptocopycats/kitties/blob/master/1-99_999/000.csv) incl. 1-999,
537
+ [`001.csv`](https://github.com/cryptocopycats/kitties/blob/master/1-99_999/001.csv) incl. 1000-1999,
538
+ [`002.csv`](https://github.com/cryptocopycats/kitties/blob/master/1-99_999/002.csv) incl. 2000-2999,
538
539
  and so on). The data records for kitties incl. id, gen(eration), matron+sire ids, birthdate, 48 (12x4) genes in kai (base32) notation, and more.
539
540
 
540
541
  [(Crypto) Kittydex Kitty Data](https://cryptokittydex.com/resources) - public dataset in comma-separated values (CSV) format in a single file (+250 MiB).
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ Hoe.spec 'copycats' do
8
8
  self.summary = "copycats - command line tool (and core library) crypto cats / kitties collectibles unchained - buy! sell! hodl! sire! - play for free - runs off the blockchain w/ ledger lite - no ether / gas required; run your own peer-to-peer (P2P) network node over HTTP"
9
9
  self.description = summary
10
10
 
11
- self.urls = ['https://github.com/openblockchains/copycats']
11
+ self.urls = ['https://github.com/cryptocopycats/copycats']
12
12
 
13
13
  self.author = 'Gerald Bauer'
14
14
  self.email = 'wwwmake@googlegroups.com'
@@ -21,6 +21,7 @@ Hoe.spec 'copycats' do
21
21
  ['base32-kai'],
22
22
  ['activerecord'],
23
23
  ['sqlite3'],
24
+ ['csvreader']
24
25
  ]
25
26
 
26
27
  self.licenses = ['Public Domain']
@@ -6,7 +6,6 @@ require 'date'
6
6
  require 'time'
7
7
  require 'uri'
8
8
  require 'json'
9
- require 'csv'
10
9
  require 'enumerator' ## needed for each_slice
11
10
  require 'optparse' # note: used for command line tool (see Tool in tool.rb)
12
11
 
@@ -16,6 +15,7 @@ require 'logger' # note: use for ActiveRecord::Base.logger -- remove/replace
16
15
  require 'active_record' ## todo: add sqlite3? etc.
17
16
 
18
17
  require 'base32-kai' ## base32 / kai encoding / decoding for genes
18
+ require 'csvreader'
19
19
 
20
20
 
21
21
  ## our own code
@@ -126,19 +126,23 @@ def read_datafiles( data_dir: './data' )
126
126
 
127
127
  puts "== #{i+1}/#{files.size} reading datafile '#{file}'..."
128
128
 
129
- kitties = CSV.read( file, headers:true )
130
- pp kitties.headers
131
129
 
130
+ kitties_headers = CsvReader.header( file )
131
+ pp kitties_headers
132
+
133
+ ## todo: fix - use field index not name!!!! - why? why not?
132
134
  ## check format
133
- if kitties.headers.include?( 'id' ) &&
134
- kitties.headers.include?( 'gen' ) &&
135
- kitties.headers.include?( 'matron_id' ) &&
136
- kitties.headers.include?( 'sire_id' ) &&
137
- kitties.headers.include?( 'birthdate' ) &&
138
- kitties.headers.include?( 'genes' ) &&
139
- kitties.headers.include?( 'name' )
135
+ if kitties_headers.include?( 'id' ) &&
136
+ kitties_headers.include?( 'gen' ) &&
137
+ kitties_headers.include?( 'matron_id' ) &&
138
+ kitties_headers.include?( 'sire_id' ) &&
139
+ kitties_headers.include?( 'birthdate' ) &&
140
+ kitties_headers.include?( 'genes' ) &&
141
+ kitties_headers.include?( 'name' )
140
142
  ## "standard" format
141
143
  ## required headers include: id, gen, matron_id, sire_id, birthdate, genes, name
144
+
145
+ ## todo: fix - use field index not name!!!! - why? why not?
142
146
  headers = {
143
147
  'id' => 'id',
144
148
  'gen' => 'gen',
@@ -148,12 +152,12 @@ def read_datafiles( data_dir: './data' )
148
152
  'genes' => 'genes',
149
153
  'name' => 'name'
150
154
  }
151
- elsif kitties.headers.include?( 'id' ) &&
152
- kitties.headers.include?( 'matron_id' ) &&
153
- kitties.headers.include?( 'sire_id' ) &&
154
- kitties.headers.include?( 'gen' ) &&
155
- kitties.headers.include?( 'birth_date' ) &&
156
- kitties.headers.include?( 'genes_kai' )
155
+ elsif kitties_headers.include?( 'id' ) &&
156
+ kitties_headers.include?( 'matron_id' ) &&
157
+ kitties_headers.include?( 'sire_id' ) &&
158
+ kitties_headers.include?( 'gen' ) &&
159
+ kitties_headers.include?( 'birth_date' ) &&
160
+ kitties_headers.include?( 'genes_kai' )
157
161
  ## "kittydex" format
158
162
  ## see https://cryptokittydex.com/resources
159
163
  ## required headers include: id, matron_id, sire_id, gen, birth_date, genes_kai
@@ -179,13 +183,14 @@ def read_datafiles( data_dir: './data' )
179
183
  ## note: for now use first 5 rows for testing
180
184
  ## kitties[0..4].each do |row|
181
185
 
186
+ kitties = CsvHash.read( file )
182
187
  kitties.each do |row|
183
188
  ## puts row['id'] + '|' + row['gen'] + '|' + row['genes_kai']
184
189
  k = Copycats::Model::Kitty.new
185
190
  k.id = row[headers['id']].to_i
186
191
  k.gen = row[headers['gen']].to_i
187
192
  k.matron_id = row[headers['matron_id']].to_i unless row[headers['matron_id']].blank? || row[headers['matron_id']] == '0'
188
- k.sire_id = row[headers['sire_id']].to_i unless row[headers['sire_id']].blank? || row[headers['sire_id']] == '0'
193
+ k.sire_id = row[headers['sire_id']].to_i unless row[headers['sire_id']].blank? || row[headers['sire_id']] == '0'
189
194
  k.name = row[headers['name']] unless row[headers['name']].blank?
190
195
 
191
196
  ## founder cats - first one hundret (1 to 100 - note: includes genesis (1))
@@ -48,6 +48,6 @@ FANCIES =
48
48
  negato: { name: 'Negato', limit: 500, desc: 'Ninja Kitty' },
49
49
  pussforprogress: { name: 'Puss For Progress', limit: 1_920, desc: "Women's Day" },
50
50
  tabby: { name: 'Tabby', limit: 250 },
51
- yuricatsuki: { name: 'Yuri Catsuki', limit: 250, desc: 'Figure Scating Kitty - Winter Olympics (Korea)' }
52
-
51
+ yuricatsuki: { name: 'Yuri Catsuki', limit: 250, desc: 'Figure Scating Kitty - Winter Olympics (Korea)' },
52
+ vernon: { name: 'Vernon', limit: 320, desc: 'Spring Equinox Kitty' }, ## first, see https://www.cryptokitties.co/kitty/696398
53
53
  }
@@ -21,13 +21,13 @@ TRAITS =
21
21
  kai: {
22
22
  '1' => 'savannah',
23
23
  '2' => 'selkirk',
24
- '3' => '',
24
+ '3' => 'chantilly',
25
25
  '4' => 'birman',
26
- '5' => '',
26
+ '5' => 'koladiviya',
27
27
  '6' => 'bobtail',
28
- '7' => '',
28
+ '7' => 'manul',
29
29
  '8' => 'pixiebob',
30
- '9' => '',
30
+ '9' => 'siberian',
31
31
  'a' => 'cymric',
32
32
  'b' => 'chartreux',
33
33
  'c' => 'himalayan',
@@ -36,20 +36,20 @@ TRAITS =
36
36
  'f' => 'ragamuffin',
37
37
  'g' => 'ragdoll',
38
38
  'h' => 'norwegianforest',
39
- 'i' => '',
40
- 'j' => '',
41
- 'k' => '',
42
- 'm' => '',
39
+ 'i' => 'mekong',
40
+ 'j' => 'highlander',
41
+ 'k' => 'balinese',
42
+ 'm' => 'lynx',
43
43
  'n' => 'mainecoon',
44
44
  'o' => 'laperm',
45
45
  'p' => 'persian',
46
- 'q' => '',
47
- 'r' => '',
48
- 's' => '',
46
+ 'q' => 'fox',
47
+ 'r' => 'kurilian',
48
+ 's' => 'toyger',
49
49
  't' => 'manx',
50
- 'u' => '',
51
- 'v' => '',
52
- 'w' => '',
50
+ 'u' => 'lykoi',
51
+ 'v' => 'burmilla',
52
+ 'w' => 'liger',
53
53
  'x' => ''
54
54
  }
55
55
  },
@@ -57,37 +57,37 @@ TRAITS =
57
57
  genes: '4-7',
58
58
  name: 'Pattern',
59
59
  kai: {
60
- '1' => '',
60
+ '1' => 'vigilante',
61
61
  '2' => 'tiger',
62
62
  '3' => 'rascal',
63
63
  '4' => 'ganado',
64
64
  '5' => 'leopard',
65
65
  '6' => 'camo ',
66
- '7' => '',
66
+ '7' => 'rorschach',
67
67
  '8' => 'spangled',
68
68
  '9' => 'calicool',
69
69
  'a' => 'luckystripe',
70
70
  'b' => 'amur',
71
71
  'c' => 'jaguar',
72
72
  'd' => 'spock',
73
- 'e' => '',
73
+ 'e' => 'mittens',
74
74
  'f' => 'totesbasic', ## use totesbasic_f - why? why not?
75
75
  'g' => 'totesbasic', ## use totesbasic_g
76
- 'h' => '',
76
+ 'h' => 'splat',
77
77
  'i' => 'thunderstruck',
78
78
  'j' => 'dippedcone',
79
- 'k' => '',
79
+ 'k' => 'highsociety',
80
80
  'm' => 'tigerpunk',
81
81
  'n' => 'henna',
82
- 'o' => '',
82
+ 'o' => 'arcreactor',
83
83
  'p' => 'totesbasic', ## use totesbasic_p
84
- 'q' => '',
85
- 'r' => '',
84
+ 'q' => 'scorpius',
85
+ 'r' => 'razzledazzle',
86
86
  's' => 'hotrod',
87
- 't' => '',
88
- 'u' => '',
89
- 'v' => '',
90
- 'w' => '',
87
+ 't' => 'allyouneed',
88
+ 'u' => 'avatar',
89
+ 'v' => 'gyre',
90
+ 'w' => 'moonrise',
91
91
  'x' => ''
92
92
  }
93
93
  },
@@ -99,33 +99,33 @@ TRAITS =
99
99
  '2' => 'gold',
100
100
  '3' => 'topaz',
101
101
  '4' => 'mintgreen',
102
- '5' => '',
102
+ '5' => 'isotope',
103
103
  '6' => 'sizzurp',
104
104
  '7' => 'chestnut',
105
105
  '8' => 'strawberry',
106
106
  '9' => 'sapphire',
107
107
  'a' => 'forgetmenot',
108
- 'b' => '',
108
+ 'b' => 'dahlia',
109
109
  'c' => 'coralsunrise',
110
- 'd' => '',
111
- 'e' => '',
112
- 'f' => '',
110
+ 'd' => 'olive',
111
+ 'e' => 'doridnudibranch',
112
+ 'f' => 'parakeet',
113
113
  'g' => 'cyan',
114
114
  'h' => 'pumpkin',
115
115
  'i' => 'limegreen',
116
- 'j' => '',
116
+ 'j' => 'bridesmaid',
117
117
  'k' => 'bubblegum',
118
118
  'm' => 'twilightsparkle',
119
- 'n' => '',
120
- 'o' => '',
121
- 'p' => '',
119
+ 'n' => 'palejade',
120
+ 'o' => 'pinefresh',
121
+ 'p' => 'eclipse',
122
122
  'q' => 'babypuke',
123
- 'r' => '',
124
- 's' => '',
125
- 't' => '',
126
- 'u' => '',
127
- 'v' => '',
128
- 'w' => '',
123
+ 'r' => 'downbythebay',
124
+ 's' => 'autumnmoon',
125
+ 't' => 'oasis',
126
+ 'u' => 'gemini',
127
+ 'v' => 'dioscuri',
128
+ 'w' => 'kaleidoscope',
129
129
  'x' => ''
130
130
  }
131
131
  },
@@ -133,6 +133,7 @@ TRAITS =
133
133
  genes: '12-15',
134
134
  name: 'Eye Shape', ## eye type
135
135
  kai: {
136
+ '1' => 'swarley',
136
137
  '2' => 'wonky',
137
138
  '3' => 'serpent',
138
139
  '4' => 'googly',
@@ -140,18 +141,30 @@ TRAITS =
140
141
  '6' => 'simple',
141
142
  '7' => 'crazy',
142
143
  '8' => 'thicccbrowz',
144
+ '9' => 'caffeine',
145
+ 'a' => 'wowza',
143
146
  'b' => 'baddate',
147
+ 'c' => 'asif',
144
148
  'd' => 'chronic',
145
149
  'e' => 'slyboots',
146
150
  'f' => 'wiley',
147
151
  'g' => 'stunned',
152
+ 'h' => 'chameleon',
148
153
  'i' => 'alien',
149
154
  'j' => 'fabulous',
150
155
  'k' => 'raisedbrow',
156
+ 'm' => 'tendertears',
157
+ 'n' => 'hacker',
151
158
  'o' => 'sass',
152
159
  'p' => 'sweetmeloncakes',
160
+ 'q' => 'oceanid',
153
161
  'r' => 'wingtips',
154
- 't' => 'buzzed'
162
+ 's' => 'firedup',
163
+ 't' => 'buzzed',
164
+ 'u' => 'bornwithit',
165
+ 'v' => 'candyshoppe',
166
+ 'w' => 'drama',
167
+ 'x' => ''
155
168
  }
156
169
  },
157
170
  color1: {
@@ -160,32 +173,50 @@ TRAITS =
160
173
  kai: {
161
174
  '1' => 'shadowgrey',
162
175
  '2' => 'salmon',
176
+ '3' => 'meowgarine',
163
177
  '4' => 'orangesoda',
164
178
  '5' => 'cottoncandy',
165
179
  '6' => 'mauveover',
166
180
  '7' => 'aquamarine',
167
181
  '8' => 'nachocheez',
168
182
  '9' => 'harbourfog',
183
+ 'a' => 'cinderella',
169
184
  'b' => 'greymatter',
170
- 'd' => 'dragonfruit',
185
+ 'c' => 'tundra',
186
+ 'd' => 'brownies',
187
+ 'e' => 'dragonfruit',
171
188
  'f' => 'hintomint',
172
189
  'g' => 'bananacream',
173
190
  'h' => 'cloudwhite',
191
+ 'i' => 'cornflower',
174
192
  'j' => 'oldlace',
175
193
  'k' => 'koala',
194
+ 'm' => 'lavender',
195
+ 'n' => 'glacier',
196
+ 'o' => 'redvelvet',
176
197
  'p' => 'verdigris',
177
- 'r' => 'onyx'
198
+ 'q' => 'icicle',
199
+ 'r' => 'onyx',
200
+ 's' => 'hyacinth',
201
+ 't' => 'martian',
202
+ 'u' => 'hotcocoa',
203
+ 'v' => 'shamrock',
204
+ 'w' => 'firstblush',
205
+ 'x' => ''
178
206
  }
179
207
  },
180
208
  color2: {
181
209
  genes: '20-23',
182
210
  name: 'Highlight Color', ## colorsecondary / sec color / pattern color
183
211
  kai: {
212
+ '1' => 'cyborg',
213
+ '2' => 'springcrocus',
184
214
  '3' => 'egyptiankohl',
185
215
  '4' => 'poisonberry',
186
216
  '5' => 'lilac',
187
217
  '6' => 'apricot',
188
218
  '7' => 'royalpurple',
219
+ '8' => 'padparadscha',
189
220
  '9' => 'swampgreen',
190
221
  'a' => 'violet',
191
222
  'b' => 'scarlet',
@@ -193,12 +224,23 @@ TRAITS =
193
224
  'd' => 'coffee',
194
225
  'e' => 'lemonade',
195
226
  'f' => 'chocolate',
227
+ 'g' => 'butterscotch',
228
+ 'h' => 'ooze',
196
229
  'i' => 'safetyvest',
197
230
  'j' => 'turtleback',
231
+ 'k' => 'rosequartz',
198
232
  'm' => 'wolfgrey',
199
233
  'n' => 'cerulian',
200
234
  'o' => 'skyblue',
201
- 's' => 'royalblue'
235
+ 'p' => 'garnet',
236
+ 'q' => 'peppermint',
237
+ 'r' => 'universe',
238
+ 's' => 'royalblue',
239
+ 't' => 'mertail',
240
+ 'u' => 'inflatablepool',
241
+ 'v' => 'pearl',
242
+ 'w' => 'prairierose',
243
+ 'x' => ''
202
244
  }
203
245
  },
204
246
  color3: {
@@ -210,32 +252,32 @@ TRAITS =
210
252
  '3' => 'peach',
211
253
  '4' => 'icy',
212
254
  '5' => 'granitegrey',
213
- '6' => '',
255
+ '6' => 'cashewmilk',
214
256
  '7' => 'kittencream',
215
257
  '8' => 'emeraldgreen',
216
- '9' => '',
217
- 'a' => '',
258
+ '9' => 'kalahari',
259
+ 'a' => 'shale',
218
260
  'b' => 'purplehaze',
219
- 'c' => '',
261
+ 'c' => 'hanauma',
220
262
  'd' => 'azaleablush',
221
263
  'e' => 'missmuffett',
222
264
  'f' => 'morningglory',
223
- 'g' => '',
265
+ 'g' => 'frosting',
224
266
  'h' => 'daffodil',
225
267
  'i' => 'flamingo',
226
- 'j' => '',
268
+ 'j' => 'buttercup',
227
269
  'k' => 'bloodred',
228
- 'm' => '',
229
- 'n' => '',
270
+ 'm' => 'atlantis',
271
+ 'n' => 'summerbonnet',
230
272
  'o' => 'periwinkle',
231
- 'p' => '',
273
+ 'p' => 'patrickstarfish',
232
274
  'q' => 'seafoam',
233
- 'r' => '',
234
- 's' => '',
235
- 't' => '',
236
- 'u' => '',
237
- 'v' => '',
238
- 'w' => '',
275
+ 'r' => 'cobalt',
276
+ 's' => 'mallowflower',
277
+ 't' => 'mintmacaron',
278
+ 'u' => 'sully',
279
+ 'v' => 'fallspice',
280
+ 'w' => 'dreamboat',
239
281
  'x' => ''
240
282
  }
241
283
  },
@@ -243,8 +285,21 @@ TRAITS =
243
285
  genes: '28-31',
244
286
  name: 'Wild',
245
287
  kai: {
246
- 'i' => 'elk',
247
- 'k' => 'trioculus'
288
+ 'h' => 'littlefoot',
289
+ 'i' => 'elk',
290
+ 'j' => 'ducky',
291
+ 'k' => 'trioculus',
292
+ 'm' => 'daemonwings',
293
+ 'n' => 'featherbrain',
294
+ 'o' => 'flapflap',
295
+ 'q' => 'dragontail',
296
+ 'r' => 'aflutter',
297
+ 's' => 'foghornpawhorn',
298
+ 't' => 'unicorn',
299
+ 'u' => 'dragonwings',
300
+ 'v' => 'alicorn',
301
+ 'w' => 'wyrm',
302
+ 'x' => ''
248
303
  }
249
304
  },
250
305
  mouth: {
@@ -255,49 +310,66 @@ TRAITS =
255
310
  '2' => 'wasntme',
256
311
  '3' => 'wuvme',
257
312
  '4' => 'gerbil',
258
- '5' => '',
259
- '6' => '',
313
+ '5' => 'confuzzled',
314
+ '6' => 'impish',
260
315
  '7' => 'belch',
261
- '8' => '',
316
+ '8' => 'rollercoaster',
262
317
  '9' => 'beard',
263
318
  'a' => 'pouty',
264
319
  'b' => 'saycheese',
265
320
  'c' => 'grim',
266
- 'd' => '',
267
- 'e' => '',
321
+ 'd' => 'fangtastic',
322
+ 'e' => 'moue',
268
323
  'f' => 'happygokitty',
269
324
  'g' => 'soserious',
270
325
  'h' => 'cheeky',
271
326
  'i' => 'starstruck',
272
- 'j' => '',
273
- 'k' => '',
327
+ 'j' => 'samwise',
328
+ 'k' => 'ruhroh',
274
329
  'm' => 'dali',
275
330
  'n' => 'grimace',
276
- 'o' => '',
331
+ 'o' => 'majestic',
277
332
  'p' => 'tongue',
278
333
  'q' => 'yokel',
279
- 'r' => '',
334
+ 'r' => 'topoftheworld',
280
335
  's' => 'neckbeard',
281
- 't' => '',
282
- 'u' => '',
283
- 'v' => '',
284
- 'w' => '',
336
+ 't' => 'satiated',
337
+ 'u' => 'walrus',
338
+ 'v' => 'struck',
339
+ 'w' => 'delite',
285
340
  'x' => ''
286
341
  }
287
342
  },
288
- future1: {
343
+ future1: { ## todo/fix: change to environment
289
344
  genes: '36-39',
290
- name: 'Future 1',
291
- kai: { } ## use alpha_1, alpha_2, ... - why? why not?
345
+ name: 'Environment',
346
+ kai: {
347
+ 'h' => 'salty',
348
+ 'i' => 'dune',
349
+ 'j' => 'juju',
350
+ 'k' => 'tinybox',
351
+ 'm' => 'myparade',
352
+ 'n' => 'finalfrontier',
353
+ 'o' => 'metime',
354
+ 'p' => 'drift',
355
+ 'q' => 'secretgarden',
356
+ 'r' => 'frozen',
357
+ 's' => 'roadtogold',
358
+ 't' => 'jacked',
359
+ 'u' => 'floorislava',
360
+ 'v' => 'prism',
361
+ 'w' => 'junglebook',
362
+ 'x' => ''
363
+ } ## use alpha_1, alpha_2, ... - why? why not?
292
364
  },
293
365
  future2: {
294
366
  genes: '40-43',
295
- name: 'Future 2',
367
+ name: 'Y Gene', ## todo: change to Y Gene or Y (see https://guide.cryptokitties.co/guide/cat-features/genes)
296
368
  kai: { } ## use beta_1, beta_2, ... - why? why not?
297
369
  },
298
- future3: {
370
+ future3: { ## todo/fix: change to purrstige
299
371
  genes: '44-47',
300
- name: 'Future 3',
372
+ name: 'Purrstige',
301
373
  kai: { } ## use gamma_1, gamma_2, ... - why? why not?
302
374
  }
303
375
  }
@@ -4,7 +4,7 @@
4
4
  module Copycats
5
5
 
6
6
  MAJOR = 0
7
- MINOR = 7
7
+ MINOR = 8
8
8
  PATCH = 0
9
9
  VERSION = [MAJOR,MINOR,PATCH].join('.')
10
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: copycats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-27 00:00:00.000000000 Z
11
+ date: 2018-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base32-kai
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: csvreader
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rdoc
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +134,7 @@ files:
120
134
  - test/test_models.rb
121
135
  - test/test_traits.rb
122
136
  - test/test_version.rb
123
- homepage: https://github.com/openblockchains/copycats
137
+ homepage: https://github.com/cryptocopycats/copycats
124
138
  licenses:
125
139
  - Public Domain
126
140
  metadata: {}