Sha256: bccb0f28fda368f90f6fb29a7ea36d54a34174fd1ff96061fa86fba1b1b5cae6
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true require_relative 'monkey_action' require 'MonkeyEngine/exceptions' # Monkey action: type (as in keyboard) # The monkey typed something on the keyboard. class MonkeyActionType < MonkeyAction attr_reader :keyboard_input WEIGHT = 5.0 def initialize(monkey, keyboard_input) raise MonkeyEngine::Exceptions::NilArgumentException, "keyboard_input '#{keyboard_input}' cannot be nil" \ if keyboard_input.nil? unless keyboard_input.is_a?(KeyboardInput) raise MonkeyEngine::Exceptions::InvalidArgumentTypeException, "keyboard_input '#{keyboard_input}' is not a valid argument type" end @keyboard_input = keyboard_input super monkey, @keyboard_input.input, WEIGHT validate end protected def validate raise MonkeyEngine::Exceptions::NilArgumentException, "Value '#{value}' cannot be nil" \ if @value.nil? unless @value.is_a?(Array) raise MonkeyEngine::Exceptions::InvalidArgumentTypeException, "Value '#{value}' is not a valid argument type (#{value.class.name})" end raise MonkeyEngine::Exceptions::InvalidArgumentValueException, "Value '#{value}' cannot be empty" \ if @value.empty? end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
MonkeyEngine-2.0.2 | lib/MonkeyAction/monkey_action_type.rb |
MonkeyEngine-2.0.1 | lib/MonkeyAction/monkey_action_type.rb |