cogger 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c31256d5e4f8446c023227a43adb18992c566a027c61f7b3356cea081662b2ed
4
- data.tar.gz: 0ef798366fa9b799dbf24967e656ae5840d14e62953aad6c551aac462e0ff1a4
3
+ metadata.gz: 492646c716b64bbf80f9aa93bf0092220068b00ef8abe89bc8baaaef9f3464f7
4
+ data.tar.gz: 834d46200c376ffc6c538e229ae5f5ca4b44ba0beed3c2724e5585ebc8aca642
5
5
  SHA512:
6
- metadata.gz: 242434b94151c9072d5dd0bbd5c8985a2020001ed6bd30eb406684755595bac2747c298c694a7c945f3da06a358fceb94b60a8a095c79c169ef2ab55db19411b
7
- data.tar.gz: b3e3e7d9ee7d95b987d6c51c019f8811e0ac1aa9ddbe700997be59c51bf64b13a4903c27c985ffc83d50b7ab90a799bcb842db9aa15875cdb1f40aa8a24e88c7
6
+ metadata.gz: cc80eb9f305539d61932c5c5a95e01dfeb18ee76dee502049aabac4073ab37ee33ef45dbd73e7df6637b23f5b4e623df0e144e01a64755c646513bfe3dd45e0c
7
+ data.tar.gz: 7c52fdfd07d8e2595f2f02e28b9546c4b7d389a9b7ae3f32feb686d8719a07533581f5b5ea28c0a0ab2684e457d7a3a8cc6e8b49ebfa0831deb6dbb1ffda5d95
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -236,8 +236,7 @@ To add multiple custom emojis, you can chain messages together when registering
236
236
 
237
237
  [source,ruby]
238
238
  ----
239
- Cogger.add_emoji(:tada, "🎉")
240
- .add_emoji :favorite, "❇️"
239
+ Cogger.add_emojis tada: "🎉", favorite: "❇️"
241
240
  ----
242
241
 
243
242
  If you always want to use the _same_ emoji, you could use the emoji formatter with a specific template:
@@ -616,7 +615,7 @@ This allows an emoji to be dynamically applied based on log level. You can add o
616
615
 
617
616
  [source,ruby]
618
617
  ----
619
- Cogger.add_emoji :warn, "🟡"
618
+ Cogger.add_emojis warn: "🟡"
620
619
  ----
621
620
 
622
621
  Once an alias is added/updated, it can be immediately applied via the template of your formatter. Example:
@@ -943,9 +942,7 @@ To add filters, use:
943
942
 
944
943
  [source,ruby]
945
944
  ----
946
- Cogger.add_filter(:login)
947
- .add_filter "email"
948
-
945
+ Cogger.add_filters :login, "email"
949
946
  Cogger.filters # #<Set: {:login, :email}>
950
947
  ----
951
948
 
@@ -953,7 +950,7 @@ Symbols and strings can be used interchangeably but are stored as symbols since
953
950
 
954
951
  [source,ruby]
955
952
  ----
956
- Cogger.add_filter :password
953
+ Cogger.add_filters :password
957
954
  logger = Cogger.new formatter: :json
958
955
  logger.info login: "jayne", password: "secret"
959
956
 
data/cogger.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "cogger"
5
- spec.version = "1.4.0"
5
+ spec.version = "1.5.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/cogger"
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.required_ruby_version = "~> 3.4"
26
26
  spec.add_dependency "core", "~> 2.0"
27
27
  spec.add_dependency "logger", "~> 1.7"
28
- spec.add_dependency "refinements", "~> 13.3"
28
+ spec.add_dependency "refinements", "~> 13.5"
29
29
  spec.add_dependency "tone", "~> 2.0"
30
30
  spec.add_dependency "zeitwerk", "~> 2.7"
31
31
 
@@ -10,7 +10,7 @@ module Cogger
10
10
  ? # Flag, width, or precision.
11
11
  < # Reference start.
12
12
  (?<name>\w+) # Name.
13
- (?::[\w]+)? # Optional delimiter and directive.
13
+ (?::\w+)? # Optional delimiter and directive.
14
14
  > # Reference end.
15
15
  ? # Specifier.
16
16
  /x
@@ -1,10 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "refinements/hash"
3
4
  require "tone"
4
5
 
5
6
  module Cogger
6
7
  # Provides a global regsitry for global configuration.
7
8
  module Registry
9
+ using Refinements::Hash
10
+
8
11
  def self.extended descendant
9
12
  descendant.add_alias(:debug, :white)
10
13
  .add_alias(:info, :green)
@@ -12,12 +15,14 @@ module Cogger
12
15
  .add_alias(:error, :red)
13
16
  .add_alias(:fatal, :bold, :white, :on_red)
14
17
  .add_alias(:any, :dim, :bright_white)
15
- .add_emoji(:debug, "🔎")
16
- .add_emoji(:info, "🟢")
17
- .add_emoji(:warn, "⚠️")
18
- .add_emoji(:error, "🛑")
19
- .add_emoji(:fatal, "🔥")
20
- .add_emoji(:any, "⚫️")
18
+ .add_emojis(
19
+ debug: "🔎",
20
+ info: "🟢",
21
+ warn: "⚠️",
22
+ error: "🛑",
23
+ fatal: "🔥",
24
+ any: "⚫️"
25
+ )
21
26
  .add_formatter(:color, Cogger::Formatters::Color)
22
27
  .add_formatter(
23
28
  :detail,
@@ -42,10 +47,18 @@ module Cogger
42
47
  def aliases = color.aliases
43
48
 
44
49
  def add_emoji key, value
50
+ warn "`#{self.class}##{__method__}` is deprecated, use `#add_emojis` instead.",
51
+ category: :deprecated
52
+
45
53
  emojis[key.to_sym] = value
46
54
  self
47
55
  end
48
56
 
57
+ def add_emojis(**attributes)
58
+ emojis.merge! attributes.symbolize_keys!
59
+ self
60
+ end
61
+
49
62
  def get_emoji key
50
63
  emojis.fetch(key.to_sym) { fail KeyError, "Unregistered emoji: #{key}." }
51
64
  end
@@ -53,10 +66,18 @@ module Cogger
53
66
  def emojis = @emojis ||= {}
54
67
 
55
68
  def add_filter key
69
+ warn "`#{self.class}##{__method__}` is deprecated, use `#add_filters` instead.",
70
+ category: :deprecated
71
+
56
72
  filters.add key.to_sym
57
73
  self
58
74
  end
59
75
 
76
+ def add_filters(*keys)
77
+ filters.merge(keys.map(&:to_sym))
78
+ self
79
+ end
80
+
60
81
  def filters = @filters ||= Set.new
61
82
 
62
83
  def add_formatter key, formatter, template = nil
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cogger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -69,14 +69,14 @@ dependencies:
69
69
  requirements:
70
70
  - - "~>"
71
71
  - !ruby/object:Gem::Version
72
- version: '13.3'
72
+ version: '13.5'
73
73
  type: :runtime
74
74
  prerelease: false
75
75
  version_requirements: !ruby/object:Gem::Requirement
76
76
  requirements:
77
77
  - - "~>"
78
78
  - !ruby/object:Gem::Version
79
- version: '13.3'
79
+ version: '13.5'
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: tone
82
82
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file