Class: Gamefic::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/gamefic/request.rb

Overview

Build actions from text.

Active#perform uses Request to parse user input into actions for execution by the Dispatcher.

Instance Method Summary collapse

Constructor Details

#initialize(actor, input) ⇒ Request

Returns a new instance of Request.

Parameters:



12
13
14
15
# File 'lib/gamefic/request.rb', line 12

def initialize(actor, input)
  @actor = actor
  @input = input
end

Instance Method Details

#to_actionsArray<Action>

Returns:



18
19
20
21
22
23
# File 'lib/gamefic/request.rb', line 18

def to_actions
  Action.sort(
    Syntax.tokenize(input, actor.narratives.syntaxes)
          .flat_map { |expression| expression_to_actions(expression) }
  )
end