toychest 0.1.0 → 0.1.2

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: 3e92b4c4f4f94a866edbdaee4a9cc4f475d48dd5bb76cec3459b8155454e2c20
4
- data.tar.gz: 0bf00563e263c1734c924d6feb3358c4f62e5cfdaa9774a8ec7534b6d61b708f
3
+ metadata.gz: 11758ca81a8bc1b071880f468f18f4ff459c4b153e9671a0df123c369b362267
4
+ data.tar.gz: 4f2c408e86f25361c704952ec78e881f19939f8582f7cbd24f8863f51d3e069d
5
5
  SHA512:
6
- metadata.gz: ec9653ebc75478493baa9c6472fee74f10d83653e69ebc370498607b6b95d610e38df03352d0c14e344a887831de43172e7cebe003199aa2335548b665dcc9fd
7
- data.tar.gz: 5e393f03e907ba4284f30d43b691a29326e601850163dee75f05da8a6287bf7de57d5e6ca55b7097683f8934acb49e903d4ce62ee75b34d1e01bab942b0d303a
6
+ metadata.gz: a1bcfc5b5f941eb820b6618fc46b588d7bc050ab755d58d6c0cdfb5159ae9a40a7cc7679888317624b0d2248803ad46d1da9d72d81f1a53ecd1117fee166ffcf
7
+ data.tar.gz: 34980687827de9b22f72a736828f25c85e019ef883d492341af67325fe6ca5f4f8ea66a53d297386bd0636441251c47a9716288d2dc40d825fcf921d3f07d7ad
@@ -0,0 +1,40 @@
1
+ module BAG
2
+ @@ON = { default: lambda { |p, k, h={}| puts %[Bag #{p.board} #{k} #{h}] } }
3
+ def self.on
4
+ @@ON
5
+ end
6
+ class B
7
+ def initialize k
8
+ @id = k
9
+ @h = {}
10
+ @on = {}
11
+ end
12
+ def [] k
13
+ @h[k]
14
+ end
15
+ def []= k,v
16
+ @h[k] = v
17
+ end
18
+ def on k, h={}, &b
19
+ if block_given?
20
+ @on[k] = b
21
+ else
22
+ if @on.has_key? k
23
+ return @on[k].call(self, k, h)
24
+ else
25
+ if BAG.on.has_key? k
26
+ return BAG.on[k].call(self, k, h)
27
+ else
28
+ return BAG.on[:default].call(self, k, h)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ def to_h
34
+ @h
35
+ end
36
+ end
37
+ def self.[] k
38
+ B.new(k)
39
+ end
40
+ end
@@ -0,0 +1,50 @@
1
+ module BOARD
2
+ @@ON = { default: lambda { |p, k, h={}| puts %[BOARD #{p.board} #{k} #{h}] } }
3
+ def self.on
4
+ @@ON
5
+ end
6
+ class B
7
+ attr_reader :board
8
+ def initialize k
9
+ @board = k
10
+ end
11
+ def [] k
12
+ C.new(@board, k)
13
+ end
14
+ class C
15
+ attr_reader :board
16
+ def initialize k, c
17
+ @board, @cell = k, c
18
+ @h = {}
19
+ @on = {}
20
+ end
21
+ def [] k
22
+ @h[k]
23
+ end
24
+ def []= k,v
25
+ @h[k] = v
26
+ end
27
+ def on k, h={}, &b
28
+ if block_given?
29
+ @on[k] = b
30
+ else
31
+ if @on.has_key? k
32
+ @on[k].call(self, k, h)
33
+ else
34
+ if BOARD.on.has_key? k
35
+ BOARD.on[k].call(self, k, h)
36
+ else
37
+ BOARD.on[:default].call(self, k, h)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ def to_h
43
+ @h
44
+ end
45
+ end
46
+ end
47
+ def self.[] k
48
+ B.new(k)
49
+ end
50
+ end
@@ -0,0 +1,103 @@
1
+ module CARD
2
+ @@D = {
3
+ blank: {
4
+ suits:{ none: :clear },
5
+ face: { face: 1 },
6
+ numbers: [0],
7
+ special: { special: 2 }
8
+ },
9
+ poker: {
10
+ suits: { hearts: :red, diamonds: :red, spades: :black, clubs: :black },
11
+ face: { a: 11, k: 10, q: 10, j: 10 },
12
+ numbers: (2..10),
13
+ special: {}
14
+ },
15
+ bicycle: {
16
+ suits: { hearts: :red, diamonds: :red, spades: :black, clubs: :black },
17
+ face: { ace: 11, king: 10, queen: 10, jack: 10 },
18
+ numbers: (2..10),
19
+ special: { joker: 10, Joker: 10 }
20
+ },
21
+ }
22
+ def self.deck
23
+ @@D
24
+ end
25
+ def self.card h={}
26
+ return {
27
+ id: 0,
28
+ name: "blank",
29
+ suit: "none",
30
+ color: "none",
31
+ card: "card",
32
+ points: 0,
33
+ draw: lambda { |s, a, e| puts %[DRAW #{s} #{a} #{e}] },
34
+ burn: lambda { |s, a, e| puts %[BURN #{s} #{a} #{e}] }
35
+ }.merge(h)
36
+ end
37
+ @@C = Hash.new { |h,k| h[k] = C.new(k) }
38
+ class C
39
+ attr_reader :hand, :burn
40
+ attr_accessor :deck, :type
41
+ def initialize k
42
+ @id = k
43
+ @shoe = 0
44
+ @type = :blank
45
+ @deck = []
46
+ @hand = []
47
+ @burn = []
48
+ if @deck.length == 0
49
+ shoe
50
+ end
51
+ end
52
+ def clear!
53
+ @deck.clear
54
+ end
55
+ def shuffle!
56
+ @deck.shuffle!
57
+ end
58
+ def shake!
59
+ @hand.shuffle!
60
+ end
61
+ def card h={}
62
+ @deck << CARD.card({ id: @deck.length }.merge(h))
63
+ end
64
+ def shoe *t, &b
65
+ @shoe += 1
66
+ d = CARD.deck[t[0] || @type]
67
+ d[:suits].each_pair do |suit, color|
68
+ d[:face].each_pair do |card, points|
69
+ card({ name: %[#{card} of #{suit}], suit: suit, color: color, card: card, points: points,
70
+ draw: lambda { |s, a, e| puts %[#{t[0] || @type} Face card #{e[:name]}] },
71
+ burn: lambda { |s, a, e| puts %[#{t[0] || @type} face card #{e[:name]}] }
72
+ })
73
+ end
74
+ d[:numbers].each do |card|
75
+ card({ name: %[#{card.humanize} of #{suit}], suit: suit, color: color, card: card, points: card,
76
+ draw: lambda { |s, a, e| puts %[#{t[0] || @type} Number card #{e[:name]}] },
77
+ burn: lambda { |s, a, e| puts %[#{t[0] || @type} number card #{e[:name]}] } })
78
+ end
79
+ end
80
+ d[:special].each_pair do |card, points|
81
+ card({ name: %[#{card.to_s.gsub("_"," ")} #{t[0] || @type} card], suit: :special, color: :none, card: card, points: points,
82
+ draw: lambda { |s, a, e| puts %[#{t[0] || @type} Special card #{e[:name]}] },
83
+ burn: lambda { |s, a, e| puts %[#{t[0] || @type} special card #{e[:name]}] } })
84
+ end
85
+ if block_given?
86
+ b.call(self)
87
+ end
88
+ end
89
+ def draw *n
90
+ @hand.each { |e| e[:burn].call(self, @hand, e); @burn << e }
91
+ @hand.clear
92
+ (n[0] || 1).times { if @deck.length == 0; next; end; @hand << @deck.shift; }
93
+ @hand.each { |e| e[:draw].call(self, @hand, e) }
94
+ return @hand
95
+ end
96
+ def [] k
97
+ draw k
98
+ end
99
+ end
100
+ def self.[] k
101
+ @@C[k]
102
+ end
103
+ end
@@ -0,0 +1,22 @@
1
+ module COOKIE
2
+ @@C = Hash.new { |h,k| h[k] = C.new(k) }
3
+ class Co
4
+ include HTTParty
5
+ base_uri 'https://aphorismcookie.herokuapp.com'
6
+ end
7
+ class C
8
+ attr_reader :fortune
9
+ def initialize k
10
+ @id = k
11
+ if !@fortune
12
+ new!
13
+ end
14
+ end
15
+ def new!
16
+ @fortune = Co.get('/')['data']['message']
17
+ end
18
+ end
19
+ def self.[] k
20
+ @@C[k]
21
+ end
22
+ end
@@ -0,0 +1,39 @@
1
+ module DICE
2
+ @@D = Hash.new { |h,k| h[k] = D.new(k) }
3
+ class D
4
+ attr_accessor :dice, :roll, :on
5
+ def initialize k
6
+ @id = k
7
+ @dice = []
8
+ @roll = 0
9
+ @on = { monopoly: '2d6', yatzee: '5d6', critical: '1d20', luck: '1d8', save: '1d4', percent: '1d100', ratio: '2d10' }
10
+ end
11
+ def run i, &b
12
+ if i.class == Symbol
13
+ ix = @on[i]
14
+ elsif i.class == String
15
+ ix = i
16
+ elsif i.class == Integer
17
+ ix = %[1d#{i}]
18
+ end
19
+ ii = ix.split("d")
20
+ n = ii[0].to_i
21
+ s = ii[1].to_i
22
+ @dice.clear
23
+ @roll = 0
24
+ n.times { x = rand(1..s); @roll += x; @dice << x }
25
+ h = { number: n, sides: s, roll: @roll, dice: @dice }
26
+ if block_given?
27
+ return b.call(h)
28
+ else
29
+ return h
30
+ end
31
+ end
32
+ def [] k
33
+ run k
34
+ end
35
+ end
36
+ def self.[] k
37
+ @@D[k]
38
+ end
39
+ end
@@ -0,0 +1,10 @@
1
+ module DUCK
2
+ class Du
3
+ include HTTParty
4
+ base_uri "https://api.duckduckgo.com/"
5
+ end
6
+ def self.[] k
7
+ j = JSON.parse(Du.get("/?format=json&pretty=1&no_html=1&skip_disambig=1&q=" + CGI.escape(k)))
8
+ return { heading: j['Heading'], text: j['Abstract'], image: j['Image'] }
9
+ end
10
+ end
@@ -0,0 +1,56 @@
1
+ module LOTTO
2
+ @@L = Hash.new { |h,k| h[k] = L.new(k) }
3
+ @@D = []
4
+ @@S = 5
5
+ @@T = 47
6
+ def self.top
7
+ @@T
8
+ end
9
+ def self.digits
10
+ @@D
11
+ end
12
+ def self.size
13
+ @@S
14
+ end
15
+ class L
16
+ attr_reader :ticket
17
+ def initialize k
18
+ @id = k
19
+ if !ticket
20
+ run
21
+ end
22
+ end
23
+ def run
24
+ @ticket = LOTTO.digits.sample(LOTTO.size)
25
+ end
26
+ def win? w
27
+ t = 0
28
+ w.each { |e| if @ticket.include?(e); t += 1; end }
29
+ return t
30
+ end
31
+ end
32
+ @@W = false
33
+ def self.winner
34
+ @@W
35
+ end
36
+ @@WW = false
37
+ def self.winners
38
+ @@WW
39
+ end
40
+ def self.reset!
41
+ @@W = @@WW = false
42
+ end
43
+ def self.event
44
+ h = {}
45
+ @@W = LOTTO.digits.sample(LOTTO.size)
46
+ @@L.each_pair do |k,v|
47
+ h[k] = v.win?(winner)
48
+ end
49
+ @@WW = h.sort_by { |k,v| -v }
50
+ return { winner: @@W, tickets: @@WW }
51
+ end
52
+ def self.[] k
53
+ @@L[k]
54
+ end
55
+ @@T.times { |t| @@D << t + 1 }
56
+ end
@@ -0,0 +1,62 @@
1
+ module NASA
2
+ n = Astronomy::Information.new
3
+ @@N = n.data
4
+ def self.categories
5
+ @@N.keys
6
+ end
7
+ def self.category
8
+ @@N
9
+ end
10
+ def self.[] q
11
+ h = {}
12
+ r = Regexp.new(q)
13
+ @@N.each_pair { |kk,vv|
14
+ hh = {}
15
+ vv.each { |e|
16
+ if r.match(e['name']) || r.match(e['description']);
17
+ hh[e['name']] = e['description'];
18
+ end;
19
+ }.compact
20
+ if hh.keys.length > 0
21
+ h[kk] = hh
22
+ end
23
+ }
24
+ return h
25
+ end
26
+ @@Zodiac = NASA['zodiac']['Constellation']
27
+ @@Shower = NASA['shower']['Meteor Shower']
28
+ @@System = Hash.new { |h,k| h[k] = [] }
29
+ @@Planet = NASA['planet']['Planet']
30
+ @@Moon = NASA['moon']["Moon"]
31
+ @@Planet.each_pair do |k,v|
32
+ r = Regexp.new(k)
33
+ @@Moon.each_pair do |kk,vv|
34
+ if r.match(vv)
35
+ @@System[k] << kk
36
+ end
37
+ end
38
+ end
39
+ def self.year
40
+ [ 'January', 'Feberuary', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]
41
+ end
42
+ @@Calendar = {}
43
+ NASA.year.each { |e| @@Calendar[e] = NASA[e] }
44
+ def self.calendar
45
+ @@Calendar
46
+ end
47
+ def self.zodiac
48
+ @@Zodiac
49
+ end
50
+ def self.system
51
+ @@System
52
+ end
53
+ def self.planet
54
+ @@Planet
55
+ end
56
+ def self.shower
57
+ @@Shower
58
+ end
59
+ def self.moon
60
+ @@Moon
61
+ end
62
+ end
@@ -0,0 +1,41 @@
1
+ module PIECE
2
+ @@ON = { default: lambda { |p, k, h={}| puts %[Piece #{p.board} #{k} #{h}] } }
3
+ def self.on
4
+ @@ON
5
+ end
6
+ class P
7
+ attr_reader :board
8
+ def initialize k
9
+ @board = k
10
+ @h = {}
11
+ @on = {}
12
+ end
13
+ def [] k
14
+ @h[k]
15
+ end
16
+ def []= k,v
17
+ @h[k] = v
18
+ end
19
+ def on k, h={}, &b
20
+ if block_given?
21
+ @on[k] = b
22
+ else
23
+ if @on.has_key? k
24
+ return @on[k].call(self, k, h)
25
+ else
26
+ if PIECE.on.has_key? k
27
+ return PIECE.on[k].call(self, k, h)
28
+ else
29
+ return PIECE.on[:default].call(self, k, h)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ def to_h
35
+ @h
36
+ end
37
+ end
38
+ def self.[] k
39
+ P.new(k)
40
+ end
41
+ end
@@ -0,0 +1,28 @@
1
+ module SKY
2
+ def self.at(h={}, &b)
3
+ h = {
4
+ phase: SunCalc.moon_illumination(h[:date]),
5
+ moon: SunCalc.moon_position(h[:date], h[:lat], h[:lon]),
6
+ night: SunCalc.moon_times(h[:date], h[:lat], h[:lon]),
7
+ sun: SunCalc.sun_position(h[:date], h[:lat], h[:lon]),
8
+ day: SunCalc.sun_times(h[:date], h[:lat], h[:lon])
9
+ }
10
+ if block_given?
11
+ return b.call(h)
12
+ else
13
+ return h
14
+ end
15
+ end
16
+ def self.now &b
17
+ utc = Time.now.utc
18
+ now = Time.now
19
+ m = Lunartic.on_date(DateTime.new(now.year, now.month, now.day, now.hour, now.min, now.sec))
20
+ t = SunCalc.moon_illumination(now)[:phase]
21
+ h = { epoch: utc.to_i, day: m.day, phase: m.phase, full: m.percent_full, moon: t, now: now }
22
+ if block_given?
23
+ return b.call(h)
24
+ else
25
+ return h
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,14 @@
1
+ module TAROT
2
+ class Tarot
3
+ include HTTParty
4
+ base_uri "https://tarotapi.dev"
5
+ end
6
+ def self.cards *n, &b
7
+ dir, a = [], []; (n[0] || 1).times { dir << ['up', 'rev'].sample }
8
+ Tarot.get("/api/v1/cards/random?n=#{n[0] || 1}")['cards'].each_with_index { |e,i| e['direction'] = dir[i]; a << b.call(e) }
9
+ return a
10
+ end
11
+ def self.reading *n
12
+ TAROT.cards(n[0]) { |e| x = e["meaning_#{e['direction']}"]; %[#{e['name']} (#{e['direction']}) - #{x}] }
13
+ end
14
+ end
@@ -0,0 +1,37 @@
1
+ module TILE
2
+ @@T = Hash.new { |h,k| h[k] = T.new(k) }
3
+ class T
4
+ def initialize k
5
+ @id = k
6
+ @t = Hash.new { |h,k| h[k] = Tile.new(@id, k) }
7
+ end
8
+ def keys
9
+ @t.keys
10
+ end
11
+ def [] k
12
+ @t[k]
13
+ end
14
+ class Tile
15
+ def initialize k, t
16
+ @id, @tile = k, t
17
+ @h = {}
18
+ end
19
+ def []= k,v
20
+ @h[k] = v
21
+ end
22
+ def [] k
23
+ @h[k]
24
+ end
25
+ def on k, h={}, &b
26
+ if block_given?
27
+ @on[k] = b
28
+ else
29
+ @on[k].call(h)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ def self.[] k
35
+ @@T[k]
36
+ end
37
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Toychest
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.2"
5
5
  end
@@ -0,0 +1,36 @@
1
+ module ZODIAC
2
+
3
+ @@Z = Hash.new { |h,k| h[k] = Z.new(k) }
4
+ class Zo
5
+ include HTTParty
6
+ base_uri "https://horoscope-app-api.vercel.app"
7
+ end
8
+ class Z
9
+ attr_reader :sign, :daily, :weekly, :monthly
10
+ def initialize k
11
+ @id = k
12
+ end
13
+ def [] k
14
+ run k
15
+ end
16
+ def run s
17
+ @sign = s
18
+ daily!
19
+ weekly!
20
+ monthly!
21
+ return { month: @monthly, week: @weekly, day: @daily }
22
+ end
23
+ def daily!
24
+ @daily = Zo.get("/api/v1/get-horoscope/daily?day=TODAY&sign=" + @sign)['data']['horoscope_data']
25
+ end
26
+ def weekly!
27
+ @weekly = Zo.get("/api/v1/get-horoscope/weekly?day=TODAY&sign=" + @sign)['data']['horoscope_data']
28
+ end
29
+ def monthly!
30
+ @monthly = Zo.get("/api/v1/get-horoscope/monthly?day=TODAY&sign=" + @sign)['data']['horoscope_data']
31
+ end
32
+ end
33
+ def self.[] k
34
+ @@Z[k]
35
+ end
36
+ end
data/lib/toychest.rb CHANGED
@@ -4,16 +4,19 @@ require 'zodiac'
4
4
  require 'nickel'
5
5
  require 'sun_calc'
6
6
  require 'lunartic'
7
+ require 'humanize'
7
8
 
8
9
  require_relative 'toychest/version'
9
- # community micro finance
10
- require_relative 'toychest/bank'
10
+ # duck duck go
11
+ require_relative 'toychest/duck'
11
12
  # space info
12
13
  require_relative 'toychest/nasa'
13
14
  # sun and moon timing
14
15
  require_relative 'toychest/sky'
15
16
  # random decks of cards
16
17
  require_relative 'toychest/card'
18
+ # tarot cards
19
+ require_relative 'toychest/tarot'
17
20
  # random dice
18
21
  require_relative 'toychest/dice'
19
22
  # community lottery
@@ -30,8 +33,6 @@ require_relative 'toychest/tile'
30
33
  require_relative 'toychest/piece'
31
34
  # inventory
32
35
  require_relative 'toychest/bag'
33
- # attributes and statistics
34
- require_relative 'toychest/me'
35
36
 
36
37
  module Toychest
37
38
  class Error < StandardError; end
@@ -42,12 +43,10 @@ module Toychest
42
43
  end
43
44
  @@C = Hash.new { |h,k| h[k] = C.new(k) }
44
45
  class C
45
- attr_reader :me, :bank, :bag, :board, :piece, :tile, :card, :dice, :lotto, :cookie, :zodiac
46
+ attr_reader :bag, :board, :piece, :tile, :card, :dice, :lotto, :cookie, :zodiac
46
47
  def initialize k
47
48
  @id = k
48
49
  @on = {}
49
- @me = ME[@id]
50
- @bank = BANK[@id]
51
50
  @bag = BAG[@id]
52
51
  @board = BOARD[@id]
53
52
  @piece = PIECE[@id]
@@ -58,7 +57,6 @@ module Toychest
58
57
  @cookie = COOKIE[@id]
59
58
  @zodiac = ZODIAC[@id]
60
59
  @h = {
61
- me: @me,
62
60
  bank: @bank,
63
61
  bag: @bag,
64
62
  board: @board,
@@ -93,12 +91,7 @@ module Toychest
93
91
  end
94
92
  end
95
93
  end
96
-
97
- # micro self-finance
98
- def self.bank
99
- BANK
100
- end
101
-
94
+
102
95
  # community lotto
103
96
  def self.lotto
104
97
  LOTTO
@@ -126,4 +119,31 @@ module Toychest
126
119
  def self.nasa
127
120
  NASA
128
121
  end
122
+
123
+ # duck duck go
124
+ def self.duck
125
+ DUCK
126
+ end
127
+
129
128
  end
129
+
130
+ # Toychest.now
131
+
132
+ # x = Toychest.nasa
133
+ # x.category
134
+ # x.planet
135
+ # x.moon
136
+ # x.calendar
137
+ # x.categories
138
+ # x.zodiac
139
+
140
+ # u = Toychest['user']
141
+ # u.bag => game event handler
142
+ # u.cookie => fortune cookie
143
+ # u.zodiac => horoscope
144
+ # u.dice[roll] => roll some dice
145
+ # u.card
146
+ # u.lotto
147
+ # u.board
148
+ # u.piece
149
+ # u.tile
Binary file
Binary file
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toychest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Olson
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-05-27 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: zodiac
@@ -93,6 +93,20 @@ dependencies:
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: humanize
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
96
110
  - !ruby/object:Gem::Dependency
97
111
  name: pry
98
112
  requirement: !ruby/object:Gem::Requirement
@@ -119,8 +133,23 @@ files:
119
133
  - README.md
120
134
  - Rakefile
121
135
  - lib/toychest.rb
136
+ - lib/toychest/bag.rb
137
+ - lib/toychest/board.rb
138
+ - lib/toychest/card.rb
139
+ - lib/toychest/cookie.rb
140
+ - lib/toychest/dice.rb
141
+ - lib/toychest/duck.rb
142
+ - lib/toychest/lotto.rb
143
+ - lib/toychest/nasa.rb
144
+ - lib/toychest/piece.rb
145
+ - lib/toychest/sky.rb
146
+ - lib/toychest/tarot.rb
147
+ - lib/toychest/tile.rb
122
148
  - lib/toychest/version.rb
149
+ - lib/toychest/zodiac.rb
123
150
  - sig/toychest.rbs
151
+ - toychest-0.1.0.gem
152
+ - toychest-0.1.1.gem
124
153
  homepage: https://github.com/xorgnak/toychest
125
154
  licenses:
126
155
  - MIT
@@ -142,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
171
  - !ruby/object:Gem::Version
143
172
  version: '0'
144
173
  requirements: []
145
- rubygems_version: 3.6.3
174
+ rubygems_version: 3.6.7
146
175
  specification_version: 4
147
176
  summary: randomized event content generators
148
177
  test_files: []