Module: Glimmer::DSL::SWT::ExecExpression

Includes:
TopLevelExpression
Included in:
AsyncExecExpression, SyncExecExpression
Defined in:
lib/glimmer/dsl/swt/exec_expression.rb

Overview

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

Instance Method Summary collapse

Instance Method Details

#can_interpret?(parent, keyword, *args, &block) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
# File 'lib/glimmer/dsl/swt/exec_expression.rb', line 16

def can_interpret?(parent, keyword, *args, &block)
  keyword == exec_operation and
    block_given? and
    args.empty?
end

#exec_operationObject



12
13
14
# File 'lib/glimmer/dsl/swt/exec_expression.rb', line 12

def exec_operation
  @exec_operation ||= self.class.name.split(/::/).last.sub(/Expression$/, '').underscore
end

#interpret(parent, keyword, *args, &block) ⇒ Object



22
23
24
# File 'lib/glimmer/dsl/swt/exec_expression.rb', line 22

def interpret(parent, keyword, *args, &block)
  Glimmer::SWT::DisplayProxy.instance.swt_display.send(exec_operation, &block)
end