chess_validator 0.2.16 → 0.2.20

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: 418ecd1a9c987d472710309ee4b439823aca959f0db13354eaf760e3374d5cc6
4
- data.tar.gz: 4b8fe686866e3364878b44ef069ad03810692bbfb8a8910c989c569289e05574
3
+ metadata.gz: 3de54f3263072bf9eedb64289175b426d0f58913e2fedfbd4e1d733f85799c7d
4
+ data.tar.gz: d50b2bb51511e6e56c2e202c439a1f4dced1663b3296d12091345491b247b376
5
5
  SHA512:
6
- metadata.gz: 4f6ec9b723c3bd3b66dc0af59e4c85c6465601db1c1844137065b66d5eac3d5ff403137dfbb079030223697cda04e08529c3a3adbe05832bae9e72aa57bb839c
7
- data.tar.gz: 8cd9b541308f86db409b66e8a1b36967af5ac0b081ee536cce34ca6cd928b7810b0eef44f07cfe6832767ddad8da4dfd247ef780d15d0a04bf8a00e599e65512
6
+ metadata.gz: c3bc01a8d88e626995ad7af4b5bd2bb6b35b2a66554b03c5772c217448042e240cd3ae4240632ea0cb43f469d395dfd4196666587c8a835a568f3995ab5bb89c
7
+ data.tar.gz: e602c545ef411549769616a7d0a602b86b2a5a03202f8a368ac6f6ba8a2c86b06501dd6381096fae20060652be9a8b360c27203fb411392b72e1ba11f0abc6c9
data/lib/board_logic.rb CHANGED
@@ -23,7 +23,7 @@ module ChessValidator
23
23
  notation += handle_castle(previous_fen.castling, piece, board)
24
24
  notation += handle_en_passant(piece, move)
25
25
  notation += handle_half_move_clock(previous_fen, piece.piece_type, captured)
26
- notation += piece.color == 'b' ? previous_fen.fullmove.next : previous_fen.fullmove
26
+ notation += piece.color == 'b' ? previous_fen.fullmove&.next.to_s : previous_fen.fullmove.to_s
27
27
  notation
28
28
  end
29
29
 
@@ -38,12 +38,12 @@ module ChessValidator
38
38
  def self.handle_castle(castling, piece, board)
39
39
  return castling if castling == '-'
40
40
  castling.delete!('K') if board[64].nil? || board[64].piece_type != 'R'
41
- castling.delete!('K') if board[61].nil? || board[61].piece_type != 'K'
41
+ castling.delete!('KQ') if board[61].nil? || board[61].piece_type != 'K'
42
42
  castling.delete!('Q') if board[57].nil? || board[57].piece_type != 'R'
43
43
  castling.delete!('k') if board[8].nil? || board[8].piece_type != 'r'
44
- castling.delete!('k') if board[5].nil? || board[5].piece_type != 'k'
44
+ castling.delete!('kq') if board[5].nil? || board[5].piece_type != 'k'
45
45
  castling.delete!('q') if board[1].nil? || board[1].piece_type != 'r'
46
- castling.size == 1 ? '-' : castling
46
+ castling.size == 0 ? '-' : castling
47
47
  end
48
48
 
49
49
  def self.handle_en_passant(piece, move)
data/lib/move_logic.rb CHANGED
@@ -211,7 +211,7 @@ module ChessValidator
211
211
  def valid_destination?(piece, board, move)
212
212
  target_piece = find_piece(board, move)
213
213
  if target_piece
214
- target_piece.color != piece.color && target_piece.piece_type.downcase != 'k'
214
+ target_piece.color != piece.color
215
215
  else
216
216
  true
217
217
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chess_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.16
4
+ version: 0.2.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Ellison
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-16 00:00:00.000000000 Z
11
+ date: 2020-01-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'Documentation: https://github.com/chadellison/chess_validator'
14
14
  email: chad.ellison0123@gmail.com
@@ -27,7 +27,7 @@ homepage: https://rubygems.org/search?utf8=%E2%9C%93&query=chess_validator
27
27
  licenses:
28
28
  - MIT
29
29
  metadata: {}
30
- post_install_message:
30
+ post_install_message:
31
31
  rdoc_options: []
32
32
  require_paths:
33
33
  - lib
@@ -42,8 +42,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
42
42
  - !ruby/object:Gem::Version
43
43
  version: '0'
44
44
  requirements: []
45
- rubygems_version: 3.1.2
46
- signing_key:
45
+ rubygems_version: 3.2.3
46
+ signing_key:
47
47
  specification_version: 4
48
48
  summary: A chess move validator
49
49
  test_files: []