class ExtendedLogger::Level::Set

Attributes

default_name[R]
names[R]

Public Class Methods

build(names, default: nil) click to toggle source
# File lib/extended_logger/level/set.rb, line 12
def self.build names, default: nil
  default ||= names.first
  new names, default
end
new(names, default_name=nil) click to toggle source
# File lib/extended_logger/level/set.rb, line 7
def initialize names, default_name=nil
  @default_name = default_name
  @names = names
end

Public Instance Methods

==(other) click to toggle source
# File lib/extended_logger/level/set.rb, line 17
def == other
  default_name == other.default_name and
    names == other.names
end
[](name)
Alias for: get
build_index() click to toggle source
# File lib/extended_logger/level/set.rb, line 22
def build_index
  hash = {}

  names.reduce nil do |previous_level, name|
    level = Level.new name

    level.prev = previous_level
    previous_level.next = level if previous_level

    hash[name] = level
    level
  end

  hash
end
default() click to toggle source
# File lib/extended_logger/level/set.rb, line 38
def default
  get default_name
end
each(&block) click to toggle source
# File lib/extended_logger/level/set.rb, line 42
def each &block
  index.each_value &block
end
get(name) click to toggle source
# File lib/extended_logger/level/set.rb, line 46
def get name
  index[name]
end
Also aliased as: []
index() click to toggle source
# File lib/extended_logger/level/set.rb, line 51
def index
  @index ||= build_index
end
resolve(reference) click to toggle source
# File lib/extended_logger/level/set.rb, line 55
def resolve reference
  case reference
  when Symbol then get reference
  when String then get reference.to_sym
  else get reference.name
  end
end