Sha256: 7563df19f434b338babc691e89fc3f3760080f3e5041dcec14caf4c427353c49

Contents?: true

Size: 1.38 KB

Versions: 3

Compression:

Stored size: 1.38 KB

Contents

# Author::    Nicolas Despres  <nicolas.despres@gmail.com>.
# Copyright:: Copyright (c) 2004, 2005 Uttk team. All rights reserved.
# License::   LGPL
# $Id: /w/fey/uttk/trunk/lib/uttk/logger/verbosity.rb 8778 2005-09-26T04:34:48.103938Z ertai  $


#FIXME: manage "attr_once"

module Uttk

  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 Uttk


Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
uttk-0.4.6.2 lib/uttk/logger/verbosity.rb
uttk-0.4.5.0 lib/uttk/logger/verbosity.rb
uttk-0.4.6.1 lib/uttk/logger/verbosity.rb