Sha256: 58aa1763eaf489a7d16eb3e1e5b2f830444cb827dc89c6ff0957ddef27188212
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
require 'vedeu/instrumentation' require 'vedeu/support/builder' require 'vedeu/support/events' require 'vedeu/support/geometry' require 'vedeu/support/menu' require 'vedeu/launcher' module Vedeu # Vedeu::Instrumentation::Trace.call # :nocov: module ClassMethods def interface(name, &block) Builder.build(name, &block) end def event(name, &block) Vedeu.events.on(name, &block) end alias_method :on, :event def run(name, *args) Vedeu.events.trigger(name, *args) end alias_method :trigger, :run end def self.events @events ||= Events.new do on(:_exit_) { fail StopIteration } on(:_log_) { |message| Vedeu.log(message) } on(:_mode_switch_) { fail ModeSwitch } on(:_keypress_) do |key| trigger(:key, key) trigger(:_log_, (' ' * 42) + "key: #{key}") trigger(:_mode_switch_) if key == :escape end end end def self.log(message) Vedeu::Instrumentation::Log.logger.debug(message) end def self.included(receiver) receiver.send(:include, ClassMethods) receiver.extend(ClassMethods) end extend ClassMethods private def self.root_path File.expand_path('../..', __FILE__) end # :nocov: end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.0.40 | lib/vedeu.rb |