Module: Cogger::Registry
- Included in:
- Cogger
- Defined in:
- lib/cogger/registry.rb
Overview
Provides a global regsitry for global configuration.
Class Method Summary collapse
Instance Method Summary collapse
- #add_alias(key, *styles) ⇒ Object
- #add_emojis(**attributes) ⇒ Object
- #add_filters(*keys) ⇒ Object
- #add_formatter(key, formatter, template = nil) ⇒ Object
- #aliases ⇒ Object
- #color ⇒ Object
- #defaults ⇒ Object
- #emojis ⇒ Object
- #filters ⇒ Object
- #formatters ⇒ Object
- #get_emoji(key) ⇒ Object
- #get_formatter(key) ⇒ Object
- #templates ⇒ Object
Class Method Details
.extended(descendant) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/cogger/registry.rb', line 11 def self.extended descendant descendant.add_alias(:debug, :white) .add_alias(:info, :green) .add_alias(:warn, :yellow) .add_alias(:error, :red) .add_alias(:fatal, :bold, :white, :on_red) .add_alias(:any, :dim, :bright_white) .add_emojis( debug: "🔎", info: "🟢", warn: "⚠️", error: "🛑", fatal: "🔥", any: "⚫️" ) .add_formatter(:color, Cogger::Formatters::Color) .add_formatter( :detail, Cogger::Formatters::Simple, "[%<id>s] [%<level>s] [%<at>s] %<message>s" ) .add_formatter(:emoji, Cogger::Formatters::Emoji) .add_formatter(:json, Cogger::Formatters::JSON) .add_formatter(:property, Cogger::Formatters::Property) .add_formatter(:simple, Cogger::Formatters::Simple) .add_formatter :rack, Cogger::Formatters::Simple, "[%<id>s] [%<level>s] [%<at>s] %<verb>s %<status>s " \ "%<duration>s %<ip>s %<path>s %<length>s %<params>s" end |
Instance Method Details
#add_alias(key, *styles) ⇒ Object
42 43 44 45 |
# File 'lib/cogger/registry.rb', line 42 def add_alias(key, *styles) color.add_alias(key, *styles) self end |
#add_emojis(**attributes) ⇒ Object
49 50 51 52 |
# File 'lib/cogger/registry.rb', line 49 def add_emojis(**attributes) emojis.merge! attributes.symbolize_keys! self end |
#add_filters(*keys) ⇒ Object
60 61 62 63 |
# File 'lib/cogger/registry.rb', line 60 def add_filters(*keys) filters.merge(keys.map(&:to_sym)) self end |
#add_formatter(key, formatter, template = nil) ⇒ Object
67 68 69 70 71 72 |
# File 'lib/cogger/registry.rb', line 67 def add_formatter key, formatter, template = nil formatters[key.to_sym] = [formatter, template || formatter::TEMPLATE] self rescue NameError raise NameError, "#{formatter}::TEMPLATE must be defined with a default template string." end |
#aliases ⇒ Object
47 |
# File 'lib/cogger/registry.rb', line 47 def aliases = color.aliases |
#color ⇒ Object
86 |
# File 'lib/cogger/registry.rb', line 86 def color = @color ||= Tone.new |
#defaults ⇒ Object
88 |
# File 'lib/cogger/registry.rb', line 88 def defaults = {emojis:, aliases:, formatters:, filters:, color:} |
#emojis ⇒ Object
58 |
# File 'lib/cogger/registry.rb', line 58 def emojis = @emojis ||= {} |
#filters ⇒ Object
65 |
# File 'lib/cogger/registry.rb', line 65 def filters = @filters ||= Set.new |
#formatters ⇒ Object
78 |
# File 'lib/cogger/registry.rb', line 78 def formatters = @formatters ||= {} |
#get_emoji(key) ⇒ Object
54 55 56 |
# File 'lib/cogger/registry.rb', line 54 def get_emoji key emojis.fetch(key.to_sym) { fail KeyError, "Unregistered emoji: #{key}." } end |
#get_formatter(key) ⇒ Object
74 75 76 |
# File 'lib/cogger/registry.rb', line 74 def get_formatter key formatters.fetch(key.to_sym) { fail KeyError, "Unregistered formatter: #{key}." } end |
#templates ⇒ Object
80 81 82 83 84 |
# File 'lib/cogger/registry.rb', line 80 def templates formatters.each.with_object({}) do |(key, (_formatter, template)), collection| collection[key] = template end end |