Sha256: 9a32cb9bd4663781de5bdf71ea67b11e31fdcf194b27eaae0db0458540e4265e
Contents?: true
Size: 817 Bytes
Versions: 3
Compression:
Stored size: 817 Bytes
Contents
# frozen string literal: true require 'dry-initializer' module SpyAlleyApplication module Actions class RollDie include Dry::Initializer.define -> do option :execute_die_roll, type: ::Types::Callable, reader: :private option :get_die_rolled_node, type: ::Types::Callable, reader: :private option :process_passing_spaces, type: ::Types::Callable, reader: :private end def call(game_board:, change_orders:, number_rolled: nil) number_rolled ||= execute_die_roll.() process_passing_spaces.( game_board: game_board, change_orders: change_orders.push(get_die_rolled_node.(number_rolled: number_rolled)), board_space: game_board.current_player.location, spaces_remaining: number_rolled) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems