1 require 'jello/core_ext/kernel'
2 require 'jello/pasteboard'
8 def self.start! options = {}
9 options = {:verbose => false, :period => 0.5}.merge(options)
10 raise ArgumentError, 'period must be capable of becoming a Numeric Float' unless
11 options[:period].respond_to? :to_f
12 options[:period] = options[:period].to_f
16 Moulds.each do |pasteboard, moulds|
17 if (paste = pasteboard.gets) != pasteboard.last
18 initial_paste = paste.dup
20 puts "#{pasteboard.board} received: [#{initial_paste}]" if options[:verbose]
21 moulds.each do |mould|
28 paste = modified if modified.is_a?(String)
31 if paste.is_a?(String) and paste != initial_paste
32 puts " --> [#{paste}]" if options[:verbose]
33 print "\a" if options[:feedback]
39 sleep options[:period]