Class: Gosu::Keyboard::DSL

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/gosu/keyboard/dsl.rb,
lib/gosu/keyboard/dsl/helpers.rb

Defined Under Namespace

Modules: Helpers

Instance Method Summary collapse

Methods included from Helpers

#alt, #control, #shift

Constructor Details

#initialize(window, &blk) ⇒ DSL

Returns a new instance of DSL.



7
8
9
10
11
# File 'lib/gosu/keyboard/dsl.rb', line 7

def initialize(window, &blk)
  @window = window
  
  instance_eval(&blk)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(key_name, &blk) ⇒ Object

Raises:



13
14
15
16
17
# File 'lib/gosu/keyboard/dsl.rb', line 13

def method_missing(key_name, &blk)
  raise NoKeyError unless Keyboard.keys.has_key?(key_name)
  
  @window.button_down?( Keyboard.keys[key_name] )
end

Instance Method Details

#down?(condition, &blk) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/gosu/keyboard/dsl.rb', line 19

def down?(condition, &blk)
  @window.instance_eval(&blk) if condition
end