Class: ExtendedLogger::Level::Set
- Inherits:
-
Object
- Object
- ExtendedLogger::Level::Set
- Defined in:
- lib/extended_logger/level/set.rb
Instance Attribute Summary collapse
-
#default_name ⇒ Object
readonly
Returns the value of attribute default_name.
-
#names ⇒ Object
readonly
Returns the value of attribute names.
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object
- #build_index ⇒ Object
- #default ⇒ Object
- #each(&block) ⇒ Object
- #get(name) ⇒ Object (also: #[])
- #index ⇒ Object
-
#initialize(names, default_name = nil) ⇒ Set
constructor
A new instance of Set.
- #resolve(reference) ⇒ Object
Constructor Details
#initialize(names, default_name = nil) ⇒ Set
Returns a new instance of Set.
7 8 9 10 |
# File 'lib/extended_logger/level/set.rb', line 7 def initialize names, default_name=nil @default_name = default_name @names = names end |
Instance Attribute Details
#default_name ⇒ Object (readonly)
Returns the value of attribute default_name.
4 5 6 |
# File 'lib/extended_logger/level/set.rb', line 4 def default_name @default_name end |
#names ⇒ Object (readonly)
Returns the value of attribute names.
5 6 7 |
# File 'lib/extended_logger/level/set.rb', line 5 def names @names end |
Class Method Details
.build(names, default: nil) ⇒ Object
12 13 14 15 |
# File 'lib/extended_logger/level/set.rb', line 12 def self.build names, default: nil default ||= names.first new names, default end |
Instance Method Details
#==(other) ⇒ Object
17 18 19 20 |
# File 'lib/extended_logger/level/set.rb', line 17 def == other default_name == other.default_name and names == other.names end |
#build_index ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# 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 ⇒ Object
38 39 40 |
# File 'lib/extended_logger/level/set.rb', line 38 def default get default_name end |
#each(&block) ⇒ Object
42 43 44 |
# File 'lib/extended_logger/level/set.rb', line 42 def each &block index.each_value &block end |
#get(name) ⇒ Object Also known as: []
46 47 48 |
# File 'lib/extended_logger/level/set.rb', line 46 def get name index[name] end |
#index ⇒ Object
51 52 53 |
# File 'lib/extended_logger/level/set.rb', line 51 def index @index ||= build_index end |
#resolve(reference) ⇒ Object
55 56 57 58 59 60 61 |
# 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 |