1 require 'games/chess/policy'
5 class Policy < Chess::Policy
6 def initialize(move_factory, validator_factory)
7 @move_factory = move_factory
8 @validator_factory = validator_factory
11 def new_move(state, src, dst, opts = {})
12 move = @move_factory.new(src, dst, opts.merge(:promote => true))
13 valid = @validator_factory.new(state)
14 move = @move_factory.new(src, dst, opts.merge(:promote => false)) unless valid[move]