module Glimmer::DSL::Opal::ExecExpression

Mixin for common code in async_exec and sync_exec expressions Uses name in subclass to auto-derive exec_operation

Public Instance Methods

can_interpret?(parent, keyword, *args, &block) click to toggle source
# File lib/glimmer/dsl/opal/exec_expression.rb, line 37
def can_interpret?(parent, keyword, *args, &block)
  keyword == exec_operation and
    block_given? and
    args.empty?
end
exec_operation() click to toggle source
# File lib/glimmer/dsl/opal/exec_expression.rb, line 33
def exec_operation
  @exec_operation ||= self.class.name.split(/::/).last.sub(/Expression$/, '').underscore
end
interpret(parent, keyword, *args, &block) click to toggle source
# File lib/glimmer/dsl/opal/exec_expression.rb, line 43
def interpret(parent, keyword, *args, &block)
  Glimmer::SWT::DisplayProxy.instance.send(exec_operation) do |*args|
    begin
      block.call(*args)
    rescue => e
      Glimmer::Config.logger.error e.full_message
    end
  end
end