kittyverse 1.0.0 → 1.0.1

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
  SHA256:
3
- metadata.gz: 2c9a1e3b4124c7cfc32ae01192d0ae57348ef143a79fabfe9517deb5494ea8f8
4
- data.tar.gz: a32acc4988391b51d6d4bd9d84810fcbf642283431da8d8648a309e139c157f9
3
+ metadata.gz: dacd0a0a5f7be35ca76a335fddf0132bac31bf0b9abe45a96e28cdd1d8d7835e
4
+ data.tar.gz: 3feed388c41c6da0f570335797c66739519d73e0c4ed579fa952c00e7c32a58c
5
5
  SHA512:
6
- metadata.gz: 520e64e77f3a60bc3da660a247cd2067bba1fa1de14ca4d7cf2f4d8f700d11edd545987a68ed6afcf318e01a89d08dd68b7f42f540cc0f65e7c2876971d9a745
7
- data.tar.gz: 0b0f530b74d3643a767f163d5fa8fe16225e016f8b3fbcc3476bae0f800e20393e25ca460cd9d247b5758a5118500c7066a1652891c987dc5a6e2079e34effc7
6
+ metadata.gz: 6275bb517145ac46b79990c01ce388ef328b57dfc3e54b47ad59b33c123ba0f4e1f7f1fae824b29cb71c04c9d3a4339f6c7192f2f25f69b7203f3cc28b694a72
7
+ data.tar.gz: e059e6a891dfea2ee859838caaaf252206492ac2886ba0b88f3c35d8a089de27dcd7026763f7f0c8d58195e577a2e214c07d3d71c116191d1c64ac2a68c1c3ef
data/Manifest.txt CHANGED
@@ -14,9 +14,7 @@ lib/kittyverse/config/traits_timeline.rb
14
14
  lib/kittyverse/fancies.rb
15
15
  lib/kittyverse/gene.rb
16
16
  lib/kittyverse/genome.rb
17
- lib/kittyverse/links.rb
18
17
  lib/kittyverse/mewtations.rb
19
- lib/kittyverse/pages/genes.rb
20
18
  lib/kittyverse/recipes.rb
21
19
  lib/kittyverse/traits.rb
22
20
  lib/kittyverse/version.rb
data/README.md CHANGED
@@ -390,22 +390,6 @@ and so on and so forth.
390
390
 
391
391
  ## Real World Usage
392
392
 
393
- ### Reference Pages / Cheat Sheets @ Kittypedia
394
-
395
- Auto-generated reference pages / cheat sheets
396
- in the [Kittypedia - The Free CryptoKitties Encyclopedia](https://github.com/cryptocopycats/kittypedia) include:
397
-
398
- - [Cattributes Rarity / Popularity Statistics](https://github.com/cryptocopycats/kittypedia/blob/master/CATTRIBUTES.md)
399
- - [Genome / Genes Cheat Sheet](https://github.com/cryptocopycats/kittypedia/blob/master/GENES.md) - Fur (FU) · Pattern (PA) · Eye Color (EC) · Eye Shape (ES) · Base Color (BC) · Highlight Color (HC) · Accent Color (AC) · Wild Element (WE) · Mouth (MO) · Environment (EN) · Secret Y Gene (SE) · Purrstige (PU)
400
- - [Traits Cheat Sheet (with Codes, Mewtation Levels / Tiers, Search Links and More)](https://github.com/cryptocopycats/kittypedia/blob/master/TRAITS.md)
401
- - [Fancy / Exclusive / Special Edition Cats - Timeline](https://github.com/cryptocopycats/kittypedia/blob/master/TIMELINE-FANCIES.md)
402
- - [Purrstige Trait Recipes / Formulas - Timeline](https://github.com/cryptocopycats/kittypedia/blob/master/TIMELINE-PURRSTIGES.md)
403
- - and others
404
-
405
-
406
-
407
-
408
- ### More
409
393
 
410
394
  See the [copycats command line tool (and core library)](https://github.com/cryptocopycats/copycats) - crypto cats / kitties collectibles unchained - buy! sell! hodl! sire! - play for free - runs off the blockchain - no ether / gas required
411
395
 
data/lib/kittyverse.rb CHANGED
@@ -22,11 +22,7 @@ require 'kittyverse/config/fancies'
22
22
  require 'kittyverse/config/purrstiges'
23
23
  require 'kittyverse/config/colors'
24
24
 
25
-
26
25
  require 'kittyverse/mewtations'
27
- require 'kittyverse/links'
28
-
29
- require 'kittyverse/pages/genes'
30
26
 
31
27
  require 'kittyverse/recipes'
32
28
  require 'kittyverse/traits'
@@ -1,11 +1,3 @@
1
- # encoding: utf-8
2
-
3
-
4
-
5
- class Cattributes
6
- ## add cattributes (traits) type lookup to Cattribute itself - why? why not?
7
- def self.[]( key ) TraitType.find_by_key( key ).cattributes; end
8
- end
9
1
 
10
2
 
11
3
  class Cattribute
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
 
4
2
  class Fancy
5
3
 
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
 
4
2
  class Gene
5
3
 
@@ -1,4 +1,3 @@
1
- # encoding: utf-8
2
1
 
3
2
 
4
3
  class Genome
@@ -173,64 +172,5 @@ class Genome
173
172
  @genes[index(key)]
174
173
  end
175
174
  end
176
-
177
-
178
- def build_tables() GenomeTables.new( self ).build; end
179
175
  end # class Genome
180
176
 
181
-
182
-
183
-
184
- class GenomeTables
185
- def initialize( genome )
186
- @genome = genome
187
- end
188
-
189
- def build
190
- pos = 0
191
- buf = ""
192
- buf << "Genes (256-Bit Integer Number):\n"
193
- buf << "- Base 10 (Decimal): #{@genome.num}\n"
194
- buf << "- Base 2 (Binary): #{@genome.binary}\n"
195
- buf << "- Base 2⁵ = 32\n"
196
- buf << " - (Kai): #{@genome.kai}\n"
197
- buf << " - (Codes): #{@genome.codes}\n"
198
- buf << "\n\n"
199
-
200
- @genome.each do |slice|
201
- tt = slice.type
202
-
203
- buf << "#{tt.name} (#{tt.code}) - Genes #{tt.genes}\n\n"
204
-
205
- ###
206
- ## fix/todo: add stars for purity?
207
- ## **** - all traits the same
208
- ## *** - two same pairs of traits
209
- ## ** - one pair of same traits
210
-
211
- buf << "|Gene |Binary |Kai |Code | Name | |\n"
212
- buf << "|------|---------|-----|-----|----------|---|\n"
213
- buf << "| #{pos} | #{slice.d.binary} | #{slice.d.kai} | #{slice.d.code} |**#{fmt_trait(slice.d)}** | d |\n"; pos+=1
214
- buf << "| #{pos} | #{slice.r1.binary} | #{slice.r1.kai} | #{slice.r1.code} |#{fmt_trait(slice.r1)} | r1 |\n"; pos+=1
215
- buf << "| #{pos} | #{slice.r2.binary} | #{slice.r2.kai} | #{slice.r2.code} |#{fmt_trait(slice.r2)} | r2 |\n"; pos+=1
216
- buf << "| #{pos} | #{slice.r3.binary} | #{slice.r3.kai} | #{slice.r3.code} |#{fmt_trait(slice.r3)} | r3 |\n"; pos+=1
217
- buf << "\n"
218
-
219
- if tt.key == :body ## add legend for first entry
220
- buf << "d = dominant, r1 = 1st order recessive, r2 = 2nd order recessive, r3 = 3rd order recessive\n\n"
221
- end
222
- end
223
-
224
- buf
225
- end
226
-
227
- ####################
228
- ## helpers
229
-
230
- def fmt_trait( trait )
231
- buf = ""
232
- buf << (trait.name || '∅')
233
- buf << " #{trait.tier_roman}" if trait.tier > 0
234
- buf
235
- end
236
- end # class GenomeTables
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  ##################################
4
2
  # Tier 0 (Base) (1-g)
5
3
  # Tier 1 (Mewtation I) (h-p)
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
 
4
2
 
5
3
  class Recipe
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
 
4
2
  class Trait
5
3
 
@@ -2,7 +2,7 @@ class Kittyverse
2
2
 
3
3
  MAJOR = 1
4
4
  MINOR = 0
5
- PATCH = 0
5
+ PATCH = 1
6
6
  VERSION = [MAJOR,MINOR,PATCH].join('.')
7
7
 
8
8
  def self.version
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kittyverse
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
@@ -84,9 +84,7 @@ files:
84
84
  - lib/kittyverse/fancies.rb
85
85
  - lib/kittyverse/gene.rb
86
86
  - lib/kittyverse/genome.rb
87
- - lib/kittyverse/links.rb
88
87
  - lib/kittyverse/mewtations.rb
89
- - lib/kittyverse/pages/genes.rb
90
88
  - lib/kittyverse/recipes.rb
91
89
  - lib/kittyverse/traits.rb
92
90
  - lib/kittyverse/version.rb
@@ -1,57 +0,0 @@
1
- # encoding: utf-8
2
-
3
-
4
- ###############################
5
- # cryptokitties.co links
6
-
7
- def kitties_kitty_url( id )
8
- "https://www.cryptokitties.co/kitty/#{id}"
9
- end
10
-
11
-
12
- def kitties_search_url( q )
13
- "https://www.cryptokitties.co/search?include=sale,sire,other&search=#{q}"
14
- end
15
-
16
-
17
-
18
-
19
- def kitties_fancy_search_url( fancy ) ## todo: find a better name - why? why not?
20
-
21
- ## note: use (official) chinese name for search param if present
22
- param = fancy.name_cn ? fancy.name_cn : fancy.key
23
-
24
- if fancy.special_edition?
25
- q = "specialedition:#{param}" ## todo: urlescape param - why? why not?
26
- elsif fancy.exclusive? ## just use fancy too - why? why not?
27
- q = "exclusive:#{param}"
28
- else ## assume "normal/regular" fancy
29
- q = "fancy:#{param}"
30
- end
31
-
32
- "https://www.cryptokitties.co/search?include=sale,sire,other&search=#{q}"
33
- end
34
-
35
- ## alias :kitties_special_search_url :kitties_fancy_search_url
36
- def kitties_specialedition_search_url( fancy ) kitties_fancy_search_url( fancy ); end
37
-
38
-
39
-
40
- ################################
41
- # /media - image links
42
-
43
- def media_fancy_url( key, variant_key=nil ) ### todo: find a better name - why? why not?
44
- if variant_key
45
- "https://cryptocopycats.github.io/media/kitties/100x100/fancy-#{key}-#{variant_key}.png"
46
- else
47
- "https://cryptocopycats.github.io/media/kitties/100x100/fancy-#{key}.png"
48
- end
49
- end
50
-
51
- ## (old) alias for media_fany_url
52
- def media_fancy_pic_url( key, variant_key=nil ) media_fancy_url( key, variant_key ); end
53
-
54
-
55
- def media_icon_url( key ) ## note: use :unlocked, :locked, etc.
56
- "https://cryptocopycats.github.io/media/icons/18x18/#{key}.png"
57
- end
@@ -1,101 +0,0 @@
1
- # encoding: utf-8
2
-
3
-
4
- class GenesPage
5
-
6
- def build
7
- buf = ""
8
- buf << "# Genes (#{TraitType.size} x 4)\n\n"
9
-
10
- headings = []
11
- TraitType.each do |tt|
12
- anchor = "#{tt.name} #{tt.code}".downcase.gsub( ' ', '-' )
13
- headings << "[#{tt.name} (#{tt.code})](##{anchor})"
14
- end
15
-
16
- buf << headings.join( " • " )
17
- buf << "\n\n"
18
-
19
-
20
- TraitType.each do |tt|
21
- buf << "## #{tt.name} (#{tt.code})\n\n"
22
- buf << "_Genes #{tt.genes}_\n\n"
23
- buf << make_table( tt.traits )
24
- buf << "\n\n"
25
- end
26
-
27
- puts buf
28
-
29
- buf
30
- end ## method build
31
-
32
-
33
-
34
- def make_table( traits )
35
- rows = make_rows( traits, columns: 2 ) ## was 4
36
- ## pp rows
37
-
38
- buf = ""
39
- buf << "|Kai|Code|Name |Kai|Code|Name |\n"
40
- buf << "|--:|---:|-------------|--:|---:|------------|\n"
41
-
42
- rows.each do |row|
43
- buf << "| "
44
-
45
- parts = row.map do |trait|
46
- kai = trait.kai
47
- ## binary = "%05b" % Kai::NUM[kai]
48
- code = trait.code
49
- name = trait.name
50
- tier = trait.tier_roman ## e.g. I,II,III, etc. : String
51
-
52
- if name.nil?
53
- ## note: so far x/31 trait is unknown/undefined!!!
54
- if kai == "x"
55
- cattribute = "?"
56
- elsif trait.type.key == :secret
57
- cattribute = "? #{tier}" ## unknown unknown
58
- else ## "anonymous / unnamed" gene / trait
59
- cattribute = "∅ #{tier}" ## known unknown :-)
60
- end
61
- else
62
- if name.downcase.start_with?( "totesbasic" ) ## note: special case for three totesbasic traits
63
- q = "totesbasic"
64
- else
65
- q = name
66
- end
67
- cattribute = "**[#{name}](#{kitties_search_url(q)})** #{tier}"
68
- end
69
-
70
- "#{kai} | #{code} | #{cattribute}"
71
- end
72
-
73
- buf << parts.join( " | " )
74
- buf << " |\n"
75
- end
76
-
77
- buf
78
- end
79
-
80
-
81
- ## helpers
82
- def make_rows( items, columns: 2 )
83
- offset = items.size / columns
84
- pp offset
85
-
86
- rows = []
87
- offset.times.with_index do |row|
88
- ## note: construct [items[row],items[offset+row],items[offset*2+row], ...]
89
- rows << columns.times.with_index.map { |col| items[offset*col+row] }
90
- end
91
- rows
92
- end
93
-
94
-
95
- def save( path )
96
- File.open( path, "w:utf-8" ) do |f|
97
- f.write build
98
- end
99
- end
100
-
101
- end # class GenesPage