chess 0.1.1 → 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
  SHA1:
3
- metadata.gz: ba8b98eeeaf058981ec4d1e12373b95b8d37babc
4
- data.tar.gz: 592981be2deed30ca9f1d0fee03e22f0e04425de
3
+ metadata.gz: 94e7a4ac7ec5ae63ad5987a9fb74e1dbc5cb7800
4
+ data.tar.gz: bd70ea660bd6c47e95da157e5ea2a6024465f3ba
5
5
  SHA512:
6
- metadata.gz: c43dd4b27bf44c9eb9c319abb130c93adfa7faa58303cf6b7275830d7d2cb164bef9a7da82adc10cb29bebafa14065acff55a74fc9f5bea712dd4d932e339b1e
7
- data.tar.gz: d6ef9971478bbd5a0fa9c19cfe15923dc5a62f76fc1e82eaf06fdaf39d9b7e14d7fad5473a1703ff3f75f7f3d28ac3173c151d91b9844285cc028e6642a106b6
6
+ metadata.gz: e097138279b50d5465e58c47cc2ca5b1967c1872c3db54811efd8a3267874996c68eb87637b6cc1842ac5af94f027c2ca016b9865541ca06880255ed3db432ea
7
+ data.tar.gz: b14cb7c634fb759d2d485f653915a311c98aa756494c2f6fb5fa072879e0a641151b4c2e090e91222ce1fb18eac490f0f5d7e4bf33fc13683559336312b5caee
@@ -185,14 +185,12 @@ board_get_piece (VALUE self, VALUE square)
185
185
  Board *board;
186
186
  Data_Get_Struct (self, Board, board);
187
187
  int i;
188
- char piece[2];
189
- piece[1] = '\0';
190
188
  if (TYPE (square) == T_STRING)
191
189
  i = coord_to_square (StringValuePtr (square));
192
190
  else
193
191
  i = FIX2INT (square);
194
- piece[0] = board->placement[i];
195
- return rb_str_new2 (piece);
192
+ char piece = board->placement[i];
193
+ return rb_str_new (&piece, 1);
196
194
  }</pre>
197
195
  </div>
198
196
 
@@ -529,25 +527,22 @@ board_placement (VALUE self)
529
527
  {
530
528
  Board *board;
531
529
  Data_Get_Struct (self, Board, board);
532
- int i;
533
- char piece[2];
534
- piece[1] = &#39;\0&#39;;
535
530
  if (!rb_block_given_p ())
536
531
  {
537
532
  VALUE placement = rb_ary_new ();
538
- for (i = 0; i &lt; 64; i++)
533
+ for (int i = 0; i &lt; 64; i++)
539
534
  {
540
- piece[0] = board-&gt;placement[i];
541
- rb_ary_push (placement, rb_str_new2 (piece));
535
+ char piece = board-&gt;placement[i];
536
+ rb_ary_push (placement, rb_str_new (&amp;piece, 1));
542
537
  }
543
538
  return placement;
544
539
  }
545
540
  else
546
541
  {
547
- for (i = 0; i &lt; 64; i++)
542
+ for (int i = 0; i &lt; 64; i++)
548
543
  {
549
- piece[0] = board-&gt;placement[i];
550
- rb_yield_values (2, rb_str_new2 (piece), INT2FIX (i));
544
+ char piece = board-&gt;placement[i];
545
+ rb_yield_values (2, rb_str_new (&amp;piece, 1), INT2FIX (i));
551
546
  }
552
547
  return self;
553
548
  }
@@ -242,9 +242,8 @@ game_coord_moves (VALUE self)
242
242
  {
243
243
  Game *g;
244
244
  Data_Get_Struct (self, Game, g);
245
- int i;
246
245
  VALUE moves = rb_ary_new ();
247
- for (i = 0; i &lt; g-&gt;current; i++)
246
+ for (int i = 0; i &lt; g-&gt;current; i++)
248
247
  rb_ary_push (moves, rb_str_new2 (g-&gt;coord_moves[i]));
249
248
  return moves;
250
249
  }</pre>
@@ -372,12 +371,13 @@ game_each (VALUE self)
372
371
  {
373
372
  if (!rb_block_given_p ())
374
373
  return game_moves(self);
375
- int i;
376
374
  Game *g;
377
375
  Data_Get_Struct (self, Game, g);
378
- for (i = 0; i &lt; g-&gt;current; i++)
379
- rb_yield_values (4, Data_Wrap_Struct (board_klass, 0, 0, get_board (g, i)),
380
- rb_str_new2 (g-&gt;moves[i]), rb_str_new2 (g-&gt;coord_moves[i]),
376
+ for (int i = 0; i &lt; g-&gt;current; i++)
377
+ rb_yield_values (4,
378
+ Data_Wrap_Struct (board_klass, 0, 0, get_board (g, i)),
379
+ rb_str_new2 (g-&gt;moves[i]),
380
+ rb_str_new2 (g-&gt;coord_moves[i]),
381
381
  INT2FIX (i));
382
382
  return self;
383
383
  }</pre>
@@ -652,9 +652,8 @@ game_moves (VALUE self)
652
652
  {
653
653
  Game *g;
654
654
  Data_Get_Struct (self, Game, g);
655
- int i;
656
655
  VALUE moves = rb_ary_new ();
657
- for (i = 0; i &lt; g-&gt;current; i++)
656
+ for (int i = 0; i &lt; g-&gt;current; i++)
658
657
  rb_ary_push (moves, rb_str_new2 (g-&gt;moves[i]));
659
658
  return moves;
660
659
  }</pre>
@@ -127,7 +127,7 @@ project and send a pull request.</p>
127
127
 
128
128
  <h2 id="label-Copyright">Copyright<span><a href="#label-Copyright">&para;</a> <a href="#top">&uarr;</a></span></h2>
129
129
 
130
- <p>Copyright © 2015 <a href="https://github.com/pioz">Enrico Pilotto
130
+ <p>Copyright © 2017 <a href="https://github.com/pioz">Enrico Pilotto
131
131
  (@pioz)</a>. See <a
132
132
  href="https://github.com/pioz/chess/blob/master/LICENSE">LICENSE</a> for
133
133
  details.</p>
@@ -1,15 +1,15 @@
1
- Wed, 19 Jul 2017 17:57:58 +0200
2
- README.rdoc Wed, 19 Jul 2017 16:55:54 +0200
3
- lib/chess.rb Wed, 19 Jul 2017 16:55:54 +0200
4
- lib/chess/exceptions.rb Wed, 19 Jul 2017 16:55:54 +0200
5
- lib/chess/game.rb Wed, 19 Jul 2017 17:27:50 +0200
6
- lib/chess/gnuchess.rb Wed, 19 Jul 2017 16:55:54 +0200
7
- lib/chess/pgn.rb Wed, 19 Jul 2017 17:38:47 +0200
8
- lib/chess/utf8_notation.rb Wed, 19 Jul 2017 16:55:54 +0200
9
- lib/chess/version.rb Wed, 19 Jul 2017 16:55:54 +0200
10
- ext/bitboard.c Wed, 19 Jul 2017 16:55:54 +0200
11
- ext/board.c Wed, 19 Jul 2017 16:55:54 +0200
12
- ext/chess.c Wed, 19 Jul 2017 17:57:47 +0200
13
- ext/common.c Wed, 19 Jul 2017 16:55:54 +0200
14
- ext/game.c Wed, 19 Jul 2017 17:57:08 +0200
15
- ext/special.c Wed, 19 Jul 2017 16:55:54 +0200
1
+ Thu, 20 Jul 2017 15:24:00 +0200
2
+ README.rdoc Thu, 20 Jul 2017 14:48:45 +0200
3
+ lib/chess.rb Thu, 20 Jul 2017 14:48:45 +0200
4
+ lib/chess/exceptions.rb Thu, 20 Jul 2017 14:48:45 +0200
5
+ lib/chess/game.rb Thu, 20 Jul 2017 14:48:45 +0200
6
+ lib/chess/gnuchess.rb Thu, 20 Jul 2017 14:48:45 +0200
7
+ lib/chess/pgn.rb Thu, 20 Jul 2017 14:48:45 +0200
8
+ lib/chess/utf8_notation.rb Thu, 20 Jul 2017 14:48:45 +0200
9
+ lib/chess/version.rb Thu, 20 Jul 2017 14:48:45 +0200
10
+ ext/bitboard.c Thu, 20 Jul 2017 15:18:42 +0200
11
+ ext/board.c Thu, 20 Jul 2017 15:21:27 +0200
12
+ ext/chess.c Thu, 20 Jul 2017 15:14:18 +0200
13
+ ext/common.c Thu, 20 Jul 2017 14:48:45 +0200
14
+ ext/game.c Thu, 20 Jul 2017 15:22:45 +0200
15
+ ext/special.c Thu, 20 Jul 2017 14:48:45 +0200
@@ -144,7 +144,7 @@ project and send a pull request.</p>
144
144
 
145
145
  <h2 id="label-Copyright">Copyright<span><a href="#label-Copyright">&para;</a> <a href="#top">&uarr;</a></span></h2>
146
146
 
147
- <p>Copyright © 2015 <a href="https://github.com/pioz">Enrico Pilotto
147
+ <p>Copyright © 2017 <a href="https://github.com/pioz">Enrico Pilotto
148
148
  (@pioz)</a>. See <a
149
149
  href="https://github.com/pioz/chess/blob/master/LICENSE">LICENSE</a> for
150
150
  details.</p>
Binary file
Binary file
Binary file
@@ -94,9 +94,8 @@ square2 (bboard b)
94
94
  void
95
95
  squares (bboard b, int *array, int *n)
96
96
  {
97
- int i;
98
97
  *n = 0;
99
- for (i = 0; i < 64; i++)
98
+ for (int i = 0; i < 64; i++)
100
99
  if (b & 1ULL << i)
101
100
  {
102
101
  array[*n] = i;
@@ -130,10 +129,9 @@ get2 (bboard b, int file, int rank)
130
129
  void
131
130
  print_bitboard (bboard b)
132
131
  {
133
- int i, j;
134
- for (i = 7; i >= 0; i--) // rank => top to bottom
132
+ for (int i = 7; i >= 0; i--) // rank => top to bottom
135
133
  {
136
- for (j = 0; j < 8; j++) // file => left to right
134
+ for (int j = 0; j < 8; j++) // file => left to right
137
135
  printf ("%d ", get2 (b, j, i) ? 1 : 0);
138
136
  printf ("\n");
139
137
  }
@@ -228,8 +226,7 @@ sliding_attacks (bboard slider, bboard propagator, int dir)
228
226
  void
229
227
  precalculate_xray_attack_white_pawn (bboard xray[64])
230
228
  {
231
- int i;
232
- for (i = 0; i < 64; i++)
229
+ for (int i = 0; i < 64; i++)
233
230
  {
234
231
  xray[i] = EMPTY_BOARD;
235
232
  xray[i] = shift_one (1ULL << i, 7) | shift_one (1ULL << i, 1);
@@ -239,8 +236,7 @@ precalculate_xray_attack_white_pawn (bboard xray[64])
239
236
  void
240
237
  precalculate_xray_attack_black_pawn (bboard xray[64])
241
238
  {
242
- int i;
243
- for (i = 0; i < 64; i++)
239
+ for (int i = 0; i < 64; i++)
244
240
  {
245
241
  xray[i] = EMPTY_BOARD;
246
242
  xray[i] = shift_one (1ULL << i, 5) | shift_one (1ULL << i, 3);
@@ -250,8 +246,7 @@ precalculate_xray_attack_black_pawn (bboard xray[64])
250
246
  void
251
247
  precalculate_xray_knight (bboard xray[64])
252
248
  {
253
- int i;
254
- for (i = 0; i < 64; i++)
249
+ for (int i = 0; i < 64; i++)
255
250
  {
256
251
  xray[i] = 1ULL << i;
257
252
  xray[i] = ((xray[i] << 17) & NOT_FILE_A)
@@ -268,11 +263,10 @@ precalculate_xray_knight (bboard xray[64])
268
263
  void
269
264
  precalculate_xray_king (bboard xray[64])
270
265
  {
271
- int i, j;
272
- for (i = 0; i < 64; i++)
266
+ for (int i = 0; i < 64; i++)
273
267
  {
274
268
  xray[i] = EMPTY_BOARD;
275
- for (j = 0; j < 8; j++)
269
+ for (int j = 0; j < 8; j++)
276
270
  xray[i] = sliding_attacks (1ULL << i, EMPTY_BOARD, j) | xray[i];
277
271
  }
278
272
  }
@@ -328,10 +322,9 @@ xray_attack_black_pawn (int square)
328
322
  bboard
329
323
  xray_rook (bboard occupied_square, int square)
330
324
  {
331
- int i, dir;
332
325
  bboard xray[4];
333
326
  bboard collision, shielded_square;
334
- for (i = 0, dir = 0; i < 4; i++, dir+=2)
327
+ for (int i = 0, dir = 0; i < 4; i++, dir+=2)
335
328
  {
336
329
  xray[i] = sliding_attacks (1ULL << square, FULL_BOARD, dir);
337
330
  collision = xray[i] & occupied_square;
@@ -350,10 +343,9 @@ xray_knight (int square)
350
343
  bboard
351
344
  xray_bishop (bboard occupied_square, int square)
352
345
  {
353
- int i, dir;
354
346
  bboard xray[4];
355
347
  bboard collision, shielded_square;
356
- for (i = 0, dir = 1; i < 4; i++, dir+=2)
348
+ for (int i = 0, dir = 1; i < 4; i++, dir+=2)
357
349
  {
358
350
  xray[i] = sliding_attacks (1ULL << square, FULL_BOARD, dir);
359
351
  collision = xray[i] & occupied_square;
@@ -55,12 +55,11 @@ print_board (Board *board)
55
55
  {
56
56
  char *s = (char *) malloc (251);
57
57
  int si = 0;
58
- int i, j;
59
- for (i = 7; i >= 0; i--) // rank => top to bottom
58
+ for (int i = 7; i >= 0; i--) // rank => top to bottom
60
59
  {
61
60
  sprintf (&s[si], "\e[37m%d\e[0m ", i + 1);
62
61
  si += 11;
63
- for (j = 0; j < 8; j++) // file => left to right
62
+ for (int j = 0; j < 8; j++) // file => left to right
64
63
  {
65
64
  char piece = board->placement[8 * i + j];
66
65
  sprintf (&s[si], "%c ", piece == 0 ? '.' : piece);
@@ -145,11 +144,10 @@ xray (Board *board, int from, bool only_attack)
145
144
  bboard
146
145
  all_xray (Board *board, int color, bool only_attack)
147
146
  {
148
- int i, piece_color;
149
147
  bboard x = EMPTY_BOARD; // xray for all pieces
150
- for (i = 0; i < 64; i++)
148
+ for (int i = 0; i < 64; i++)
151
149
  {
152
- piece_color = get_color (board, i);
150
+ int piece_color = get_color (board, i);
153
151
  // Calculate xray for pieces of color [c]
154
152
  if (piece_color == color)
155
153
  x |= xray (board, i, only_attack);
@@ -180,10 +178,10 @@ remove_piece (Board *board, int square, Board *new_board)
180
178
  int
181
179
  same_pieces_that_can_capture_a_square (Board *board, int color, int square, int *pieces, char piece_filter)
182
180
  {
183
- int i, index = 0;
181
+ int index = 0;
184
182
  char p;
185
183
  Board new_board;
186
- for (i = 0; i < 64; i++)
184
+ for (int i = 0; i < 64; i++)
187
185
  if (get_color (board, i) == color)
188
186
  {
189
187
  p = board->placement[i];
@@ -268,11 +266,10 @@ king_in_checkmate (Board *board, int color)
268
266
  bool
269
267
  stalemate (Board *board, int color)
270
268
  {
271
- int i, j;
272
269
  int s[64];
273
270
  int n;
274
271
  Board new_board;
275
- for (i = 0; i < 64; i++)
272
+ for (int i = 0; i < 64; i++)
276
273
  if (get_color (board, i) == color)
277
274
  {
278
275
  bboard b = xray (board, i, FALSE) & ~board->pieces[color];
@@ -280,7 +277,7 @@ stalemate (Board *board, int color)
280
277
  if (b)
281
278
  {
282
279
  squares (b, s, &n);
283
- for (j = 0; j < n; j++)
280
+ for (int j = 0; j < n; j++)
284
281
  if (try_move (board, i, s[j], 'Q', &new_board, 0, 0))
285
282
  return FALSE;
286
283
  }
@@ -342,15 +339,15 @@ pseudo_legal_move (Board *board, int from, int to)
342
339
  void
343
340
  get_coord (Board *board, char piece, const char *disambiguating, const char *to_coord, char promote_in, int *from, int *to)
344
341
  {
345
- int i, c, count = 0;
342
+ int count = 0;
346
343
  char file, rank;
347
344
  bboard x;
348
345
  *to = coord_to_square (to_coord);
349
346
  if (!piece)
350
347
  piece = 'P';
351
- for (i = 0; i < 64; i++)
348
+ for (int i = 0; i < 64; i++)
352
349
  {
353
- c = get_color (board, i);
350
+ int c = get_color (board, i);
354
351
  if (c == board->active_color && piece == toupper (board->placement[i]))
355
352
  {
356
353
  x = xray (board, i, FALSE) & ~board->pieces[c];
@@ -514,11 +511,11 @@ to_fen (Board *board)
514
511
  {
515
512
  // 1. Placement
516
513
  char placement[65];
517
- int i, j, cur = 0;
514
+ int cur = 0;
518
515
  char p, pp = '-';
519
- for (i = 7; i >= 0; i--)
516
+ for (int i = 7; i >= 0; i--)
520
517
  {
521
- for (j = 0; j < 8; j++)
518
+ for (int j = 0; j < 8; j++)
522
519
  {
523
520
  p = board->placement[j+i*8];
524
521
  if (p == '\0' && p == pp)
@@ -248,9 +248,8 @@ game_moves (VALUE self)
248
248
  {
249
249
  Game *g;
250
250
  Data_Get_Struct (self, Game, g);
251
- int i;
252
251
  VALUE moves = rb_ary_new ();
253
- for (i = 0; i < g->current; i++)
252
+ for (int i = 0; i < g->current; i++)
254
253
  rb_ary_push (moves, rb_str_new2 (g->moves[i]));
255
254
  return moves;
256
255
  }
@@ -265,9 +264,8 @@ game_coord_moves (VALUE self)
265
264
  {
266
265
  Game *g;
267
266
  Data_Get_Struct (self, Game, g);
268
- int i;
269
267
  VALUE moves = rb_ary_new ();
270
- for (i = 0; i < g->current; i++)
268
+ for (int i = 0; i < g->current; i++)
271
269
  rb_ary_push (moves, rb_str_new2 (g->coord_moves[i]));
272
270
  return moves;
273
271
  }
@@ -344,12 +342,13 @@ game_each (VALUE self)
344
342
  {
345
343
  if (!rb_block_given_p ())
346
344
  return game_moves(self);
347
- int i;
348
345
  Game *g;
349
346
  Data_Get_Struct (self, Game, g);
350
- for (i = 0; i < g->current; i++)
351
- rb_yield_values (4, Data_Wrap_Struct (board_klass, 0, 0, get_board (g, i)),
352
- rb_str_new2 (g->moves[i]), rb_str_new2 (g->coord_moves[i]),
347
+ for (int i = 0; i < g->current; i++)
348
+ rb_yield_values (4,
349
+ Data_Wrap_Struct (board_klass, 0, 0, get_board (g, i)),
350
+ rb_str_new2 (g->moves[i]),
351
+ rb_str_new2 (g->coord_moves[i]),
353
352
  INT2FIX (i));
354
353
  return self;
355
354
  }
@@ -399,25 +398,22 @@ board_placement (VALUE self)
399
398
  {
400
399
  Board *board;
401
400
  Data_Get_Struct (self, Board, board);
402
- int i;
403
- char piece[2];
404
- piece[1] = '\0';
405
401
  if (!rb_block_given_p ())
406
402
  {
407
403
  VALUE placement = rb_ary_new ();
408
- for (i = 0; i < 64; i++)
404
+ for (int i = 0; i < 64; i++)
409
405
  {
410
- piece[0] = board->placement[i];
411
- rb_ary_push (placement, rb_str_new2 (piece));
406
+ char piece = board->placement[i];
407
+ rb_ary_push (placement, rb_str_new (&piece, 1));
412
408
  }
413
409
  return placement;
414
410
  }
415
411
  else
416
412
  {
417
- for (i = 0; i < 64; i++)
413
+ for (int i = 0; i < 64; i++)
418
414
  {
419
- piece[0] = board->placement[i];
420
- rb_yield_values (2, rb_str_new2 (piece), INT2FIX (i));
415
+ char piece = board->placement[i];
416
+ rb_yield_values (2, rb_str_new (&piece, 1), INT2FIX (i));
421
417
  }
422
418
  return self;
423
419
  }
@@ -427,7 +423,7 @@ board_placement (VALUE self)
427
423
  * call-seq: [square]
428
424
  *
429
425
  * Returns the piece on the +square+ of the chessboard. If there is no piece or
430
- * the square is not valid return the blank string.
426
+ * the square is not valid return +nil+.
431
427
  *
432
428
  * Each square on the chessboard is represented by an integer according to the
433
429
  * following scheme:
@@ -444,7 +440,7 @@ board_placement (VALUE self)
444
440
  *
445
441
  * Parameters are:
446
442
  * +square+:: the square of the board. Can be a fixnum between 0 and 63 or a
447
- * string like 'a2', 'c5'... The string must be downcase.
443
+ * string like 'a2', 'c5'...
448
444
  */
449
445
  VALUE
450
446
  board_get_piece (VALUE self, VALUE square)
@@ -452,14 +448,15 @@ board_get_piece (VALUE self, VALUE square)
452
448
  Board *board;
453
449
  Data_Get_Struct (self, Board, board);
454
450
  int i;
455
- char piece[2];
456
- piece[1] = '\0';
457
451
  if (TYPE (square) == T_STRING)
458
452
  i = coord_to_square (StringValuePtr (square));
459
453
  else
460
454
  i = FIX2INT (square);
461
- piece[0] = board->placement[i];
462
- return rb_str_new2 (piece);
455
+ char piece = board->placement[i];
456
+ if (i < 0 || i > 63 || !piece)
457
+ return Qnil;
458
+ else
459
+ return rb_str_new (&piece, 1);
463
460
  }
464
461
 
465
462
  /*
@@ -22,7 +22,7 @@ square_to_rank (int square)
22
22
  int
23
23
  coord_to_square (const char *coord)
24
24
  {
25
- return 8 * (coord[1] - 49) + (coord[0] - 97);
25
+ return 8 * ((coord[1] | ' ') - 49) + ((coord[0] | ' ') - 97);
26
26
  }
27
27
 
28
28
  char*
data/ext/game.c CHANGED
@@ -29,8 +29,7 @@ init_game ()
29
29
  void
30
30
  free_game (Game *g)
31
31
  {
32
- int i;
33
- for (i = 0; i < g->current; i++)
32
+ for (int i = 0; i < g->current; i++)
34
33
  {
35
34
  free (g->boards[i]);
36
35
  free (g->moves[i]);
@@ -54,7 +53,7 @@ get_board (Game *g, int index)
54
53
  return &STARTING_BOARD;
55
54
  if (index < g->current)
56
55
  return g->boards[index];
57
- return 0;
56
+ return NULL;
58
57
  }
59
58
 
60
59
  char*
@@ -147,8 +146,8 @@ threefold_repetition (Game *g)
147
146
  char* s[g->current + 1];
148
147
  s[0] = (char *) malloc (80);
149
148
  strcpy (s[0], "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -");
150
- int i, j;
151
149
  bool found = FALSE;
150
+ int i, j;
152
151
  for (i = 0; i < g->current; i++)
153
152
  {
154
153
  fen = to_fen (g->boards[i]);
@@ -344,9 +343,9 @@ main ()
344
343
  {
345
344
  // Valgrind run
346
345
  init_chess_library ();
347
- int i, from, to;
346
+ int from, to;
348
347
 
349
- for (i = 0; i < 1000; i++)
348
+ for (int i = 0; i < 1000; i++)
350
349
  {
351
350
  Game *g = init_game ();
352
351
  Board *board;
@@ -1,5 +1,5 @@
1
1
  # The Chess library module.
2
2
  module Chess
3
3
  # The library version.
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chess
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Enrico Pilotto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-19 00:00:00.000000000 Z
11
+ date: 2017-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler