Skip to content

Instantly share code, notes, and snippets.

@mqu
Last active December 15, 2015 08:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mqu/5228483 to your computer and use it in GitHub Desktop.
Save mqu/5228483 to your computer and use it in GitHub Desktop.
#!/usr/bin/ruby
# coding: utf-8
# author : Marc Quinton, march 2013, licence : http://fr.wikipedia.org/wiki/WTFPL
libdir = 'lib'
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
require 'pp'
require 'rubygems'
# https://github.com/nathankleyn/ruby_events
require 'ruby_events'
case ARGV[0]
when 'simple'
events.listen(:bling) do |event_data|
puts 'bling event triggered ; event data = ' + event_data
end
events.fire(:bling, "hello world")
when 'classes'
class Piece
def initialize
puts "Piece.initialize"
self.events.listen(:move) do |event_data|
puts "Piece.moved " + event_data
end
self.events.fire(:move, 'from Piece')
end
end
class Puzzle
def initialize
@piece = Piece.new
end
def move
# send ":move" signal any thing object listening to :move signal
self.events.fire(:move)
end
end
puzzle=Puzzle.new
puzzle.move
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment