Class: Gexp::Command::Object

Inherits:
Gexp::Command show all
Defined in:
lib/gexp/command/object.rb

Overview

Объектная команда

Команда выполняющаяся над объектами игрового мира.

Выполняет событие FSM у объекта описанное в параметрах.

Instance Attribute Summary

Attributes inherited from Gexp::Command

#context, #errors, #event, #object, #params, #provider

Instance Method Summary collapse

Methods inherited from Gexp::Command

#hash

Constructor Details

#initialize(params = {}) ⇒ Object

Returns a new instance of Object.



13
14
15
16
17
# File 'lib/gexp/command/object.rb', line 13

def initialize(params = {})
  super
  @event = @params[:event]
  self.load_object
end

Instance Method Details

#performObject

Выполнение команды



20
21
22
23
24
25
26
27
28
# File 'lib/gexp/command/object.rb', line 20

def perform
  self.activate!
  @object.send(self.event, self)
  self.complete!
rescue => e
  self.failure!
  self.errors << e
  raise e
end

#subjectObject



30
31
32
# File 'lib/gexp/command/object.rb', line 30

def subject
  self.context.user
end