copycats 0.7.0 → 0.8.0

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: 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: {}