gloomhaven 1.0.9 → 1.0.9.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: 1aac70f2909cf4c8f6fd7160283185b5f31c7894d274f68a07b9c298faac6fa8
4
- data.tar.gz: 8147e0c3ac5a933fbe9b6c84071b6f476db4e0f101c80b278ff686508a3de38a
3
+ metadata.gz: 7419d8311f18532543140f5ca149681a88eaaf2e0c3a1796806532dc40b5b979
4
+ data.tar.gz: 2557fb133ad3a5b5b7261d3e02ab0adc74527936f0392951d9947fb690da75e0
5
5
  SHA512:
6
- metadata.gz: 01f7903680309e558d603db7e8d994e2cf7119615b811248339b4077bb22bf1ff8a41d42ccb30ca45af32f6c60ca974b289c7499e15d2e1199cea8121a9d856a
7
- data.tar.gz: 5cdde8f634b075baf086f05624e0491c2f42ed9e0b8f1c7bca5f0ec7ed8f328cb03917f7762d3af094e68c3a606cc53d6da8df9626dd00025b60ff215fb11370
6
+ metadata.gz: a58d2cfefb7ecd8998266683fa81aecb4dd13117184b083ee8851d59c2bbf0189c8d1783aa357ade425d57fc1545102e9037085a7ecbc651e3a3305e8301bf14
7
+ data.tar.gz: 15dcf7191b28ff3db1da3d9b9dc45dce2192084388fa436d0aa6d26d165616e44e698ab0b9320e0faba23ff49624d121a3d4a93ece64731c6df2a4d4443f0c3b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gloomhaven (1.0.9)
4
+ gloomhaven (1.0.9.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/changelog.md CHANGED
@@ -1,4 +1,4 @@
1
- # 1.0.9
1
+ # 1.0.9.1
2
2
  - add class Character for character logic
3
3
  - moved most of logic from Player to character, add a @character to player initialize, delegate to char
4
4
  - player keeps things like gold, xp, items, perks
@@ -0,0 +1,35 @@
1
+ module Gloomhaven
2
+ class Character
3
+ attr_reader :hand_size, :health_scale, :hex_color, :name, :number, :perks, :spoiler_name
4
+
5
+ def initialize(klass)
6
+ validate_class!(klass)
7
+ @klass = klass
8
+ @hand_size = data['hand_size']
9
+ @health_scale = data['health_scale']
10
+ @hex_color = data['hex_color']
11
+ @name = data['name']
12
+ @number = data['number']
13
+ @perks = data['perks']
14
+ @spoiler_name = data['spoiler_name'] || @name
15
+ end
16
+
17
+ def to_s
18
+ @name
19
+ end
20
+
21
+ private
22
+
23
+ def data
24
+ CHARACTERS.detect { |character| character['name'].downcase == @klass.downcase }
25
+ end
26
+
27
+ def validate_class!(klass)
28
+ raise ArgumentError.new("Character class must be a String") unless klass.is_a?(String)
29
+
30
+ return if Gloomhaven::CHARACTER_NAMES.map(&:downcase).include?(klass.downcase)
31
+
32
+ raise TypeError.new("Invalid klass: #{klass} is not supported. Must be one of the following: #{Gloomhaven::CHARACTER_NAMES}")
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Gloomhaven
2
- VERSION = '1.0.9'
2
+ VERSION = '1.0.9.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gloomhaven
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Teo Dell'Amico
@@ -90,6 +90,7 @@ files:
90
90
  - gloomhaven.gemspec
91
91
  - lib/gloomhaven.rb
92
92
  - lib/gloomhaven/card.rb
93
+ - lib/gloomhaven/character.rb
93
94
  - lib/gloomhaven/deck.rb
94
95
  - lib/gloomhaven/perk.rb
95
96
  - lib/gloomhaven/player.rb