diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
commit | d0233291bc8a5068e52c69c210e5979e5324b5bc (patch) | |
tree | 7d9459449c33792c63eeb7baa071e76352e0baab /trunk/lib/irb/notifier.rb | |
parent | 0dc342de848a642ecce8db697b8fecd83a63e117 (diff) | |
parent | 72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff) |
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/lib/irb/notifier.rb')
-rw-r--r-- | trunk/lib/irb/notifier.rb | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/trunk/lib/irb/notifier.rb b/trunk/lib/irb/notifier.rb deleted file mode 100644 index 51f10ff398..0000000000 --- a/trunk/lib/irb/notifier.rb +++ /dev/null @@ -1,144 +0,0 @@ -# -# notifier.rb - output methods used by irb -# $Release Version: 0.9.5$ -# $Revision$ -# by Keiju ISHITSUKA(keiju@ruby-lang.org) -# -# -- -# -# -# - -require "e2mmap" -require "irb/output-method" - -module IRB - module Notifier - extend Exception2MessageMapper - def_exception :ErrUndefinedNotifier, - "undefined notifier level: %d is specified" - def_exception :ErrUnrecognizedLevel, - "unrecognized notifier level: %s is specified" - - def def_notifier(prefix = "", output_method = StdioOutputMethod.new) - CompositeNotifier.new(prefix, output_method) - end - module_function :def_notifier - - class AbstructNotifier - def initialize(prefix, base_notifier) - @prefix = prefix - @base_notifier = base_notifier - end - - attr_reader :prefix - - def notify? - true - end - - def print(*opts) - @base_notifier.print prefix, *opts if notify? - end - - def printn(*opts) - @base_notifier.printn prefix, *opts if notify? - end - - def printf(format, *opts) - @base_notifier.printf(prefix + format, *opts) if notify? - end - - def puts(*objs) - if notify? - @base_notifier.puts(*objs.collect{|obj| prefix + obj.to_s}) - end - end - - def pp(*objs) - if notify? - @base_notifier.ppx @prefix, *objs - end - end - - def ppx(prefix, *objs) - if notify? - @base_notifier.ppx @prefix+prefix, *objs - end - end - - def exec_if - yield(@base_notifier) if notify? - end - end - - class CompositeNotifier<AbstructNotifier - def initialize(prefix, base_notifier) - super - - @notifiers = [D_NOMSG] - @level_notifier = D_NOMSG - end - - attr_reader :notifiers - - def def_notifier(level, prefix = "") - notifier = LeveledNotifier.new(self, level, prefix) - @notifiers[level] = notifier - notifier - end - - attr_reader :level_notifier - alias level level_notifier - - def level_notifier=(value) - case value - when AbstructNotifier - @level_notifier = value - when Integer - l = @notifiers[value] - Notifier.Raise ErrUndefinedNotifer, value unless l - @level_notifier = l - else - Notifier.Raise ErrUnrecognizedLevel, value unless l - end - end - - alias level= level_notifier= - end - - class LeveledNotifier<AbstructNotifier - include Comparable - - def initialize(base, level, prefix) - super(prefix, base) - - @level = level - end - - attr_reader :level - - def <=>(other) - @level <=> other.level - end - - def notify? - @base_notifier.level >= self - end - end - - class NoMsgNotifier<LeveledNotifier - def initialize - @base_notifier = nil - @level = 0 - @prefix = "" - end - - def notify? - false - end - end - - D_NOMSG = NoMsgNotifier.new - end -end |