Module: EZDraw::DSL

Defined in:
lib/ezdraw.rb

Constant Summary collapse

@@win =

BUG: this should be per-including-instance

nil

Class Method Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



543
544
545
546
547
# File 'lib/ezdraw.rb', line 543

def method_missing(name, *args, &block)
 delegates = [EZDraw, @@win]
 delg = delegates.find {|delg_i| delg_i.respond_to?(name)}
 delg ? delg.public_send(name, *args, &block) : super
end

Class Method Details

.included(base) ⇒ Object



525
526
527
528
529
530
# File 'lib/ezdraw.rb', line 525

def self.included(base)
 EZDraw.constants.each {|c|
  EZDraw.logger.debug("#{base}.const_set #{c}")
  base.const_set c, EZDraw.const_get(c)
 }
end

Instance Method Details

#cleanupObject



537
538
539
540
541
# File 'lib/ezdraw.rb', line 537

def cleanup
 EZDraw.requires_init
 @@win = nil
 EZDraw.cleanup
end

#const_missing(name) ⇒ Object



549
550
551
# File 'lib/ezdraw.rb', line 549

def const_missing(name)
 raise "const #{name}"
end

#init(*opts) ⇒ Object



532
533
534
535
# File 'lib/ezdraw.rb', line 532

def init(*opts)
 EZDraw.init
 @@win = EZDraw::Window.new(*opts)
end