Sha256: 1b03205fa9821a2e3ad2db4b433b4b92e9020d14a12e10caf30a469d927466ce

Contents?: true

Size: 1.33 KB

Versions: 5

Compression:

Stored size: 1.33 KB

Contents

# Author::    Nicolas Despres  <nicolas.despres@gmail.com>.
# Copyright:: Copyright (c) 2004, 2005 TTK team. All rights reserved.
# License::   LGPL
# $Id: verbosity.rb 567 2005-04-13 08:00:06Z polrop $


#FIXME: manage "attr_once"

module TTK

  class Logger

    class Verbosity

      @@level_fields = []
      @@higher_level = 0

      def self.higher_level
        @@higher_level
      end

      def self.verbosity(meth, level)
        unless method_defined?(meth)
          raise(ArgumentError, "`#{meth}' - is not an instance method")
        end
        if level <= 0
          raise(ArgumentError,
                "`#{level}' - verbosity level must be strictly positive")
        end
        @@higher_level = level if level > @@higher_level
        @@level_fields[level] ||= []
        @@level_fields[level] << meth
      end

      def self.level_fields(level)
        @@level_fields[level] ||= []
        @@level_fields[level]
      end

      def severity_level(severity_level, section_names)
        Severity.label(severity_level)
      end
      verbosity :severity_level, 1

      def sections(severity_level, section_names)
        section_names
      end
      verbosity :sections, 2

      def date(severity_level, section_names)
        Time.now
      end
      verbosity :date, 3

    end # Verbosity

  end # class Logger

end # module TTK


Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ttk-0.1.576 lib/ttk/logger/verbosity.rb
ttk-0.1.580 lib/ttk/logger/verbosity.rb
ttk-0.2.1 lib/ttk/logger/verbosity.rb
ttk-0.2.0 lib/ttk/logger/verbosity.rb
ttk-0.1.579 lib/ttk/logger/verbosity.rb