class Myxi::Action
Constants
- ACTIONS
Public Class Methods
add(name, &block)
click to toggle source
# File lib/myxi/action.rb, line 8 def self.add(name, &block) ACTIONS[name.to_sym] = self.new(name, &block) end
new(name, &block)
click to toggle source
# File lib/myxi/action.rb, line 12 def initialize(name, &block) @name = name @block = block end
Public Instance Methods
execute(session, payload = {})
click to toggle source
# File lib/myxi/action.rb, line 17 def execute(session, payload = {}) environment = Environment.new(session, payload) environment.instance_exec(session, payload, &@block) rescue Environment::Error => e session.send('Error', :error => e.class.to_s.split('::').last) rescue => e Myxi.logger.debug "[#{session.id}] \e[41;37mERROR\e[0m \e[31m#{e.class.to_s} #{e.message}\e[0m" e.backtrace { |br| Myxi.logger.debug "[#{session.id}] \e[41;37mERROR\e[0m #{br}" } session.send('InternalError', :error => e.class.to_s, :message => e.message) end