rbcat 0.2.3 → 1.0.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: 1da445294f5b958c26e1638e96e8076161a1a91fcf5bcfa2cf20dcdc717d85ff
4
- data.tar.gz: b644015fba8ccf3dd9dbf7b4d215441105f1db67edbea303bf8bb16cfb6f81bf
3
+ metadata.gz: b5047d5b1235afddfca723cbfaa21bfbd27ac847c37dd218fad5c1d31ff89969
4
+ data.tar.gz: 28dd22890a5979f2105bd7f2d0892a122a2dbfc2ddd0f23a4de6c72c85784d7e
5
5
  SHA512:
6
- metadata.gz: 170fe343f258e2dd8f88a2c875749800bf36cfff21f18d75e13360f3a0569bd587bd188a2d7813e88a23429478897415239c96c619ea4d0320fa7dffc72ed4cb
7
- data.tar.gz: f45f23373293e37a55e1c0ce29d0cf99d3397571db02a6963f92a45b5b629cdef61c6b320af22d5dc933e6bbf55354805b951321cc56441110e92d9acf7ac40a
6
+ metadata.gz: 241fef38e6c7a2266bda38588d33a19af7330658fd5a9b800e7352257d1e41f701972b96e63e22df2ce3a1afa17c9d3477b84d750dff4b5f5b3e8173b7185b0f
7
+ data.tar.gz: 1072933a0abd952a0bb376dc24780b2e7b8fa05a0b9bea262fd1ce0792a8ffa427e26b8fb49cb34af011a3a34c84770efbfa6733679b9ed2b88a73d8e12bcdff
data/.rubocop.yml CHANGED
@@ -1,2 +1,2 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.3.0
2
+ TargetRubyVersion: 3.1.0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.0.0
4
+ * Rubocop updates
5
+ * Bump min required Ruby version to 3.1.0
6
+
3
7
  ## 0.2.3
4
8
  * Bump Bundler to >= 2.2.33
5
9
  * Bump Rake to >= 12.3.3
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
2
4
 
3
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
6
 
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2018 Victor Afanasev
3
+ Copyright (c) 2025 Victor Afanasev
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  Rbcat it's a CLI tool written in ruby which reads from standard input (STDIN), colorizes content by set of regex rules from a config file, and then writes it to standard output. Inspired by [grcat](https://github.com/garabik/grc).
6
6
  You can use rbcat in your ruby/ROR projects or as a standalone CLI tool (similar to grcat).
7
7
 
8
- **Install rbcat first:** `gem install rbcat`
8
+ **Install rbcat first:** `gem install rbcat` _(supported Ruby version 3.1.0 and up)_
9
9
 
10
10
  ```ruby
11
11
  # rbcat_example.rb
@@ -84,7 +84,7 @@ require 'rbcat'
84
84
  require 'yaml'
85
85
 
86
86
  Rbcat.configure do |config|
87
- config.rules = YAML.load_file(File.expand_path("rbcat_config.yaml"))
87
+ config.rules = YAML.load_file(File.expand_path("rbcat_config.yaml"), permitted_classes: [Regexp, Symbol])
88
88
  config.predefined = [:logger]
89
89
  end
90
90
  ```
@@ -187,7 +187,7 @@ require 'yaml'
187
187
 
188
188
  # configure rbcat first
189
189
  Rbcat.configure do |config|
190
- config.rules = YAML.load_file(File.expand_path("rbcat_config.yaml"))
190
+ config.rules = YAML.load_file(File.expand_path("rbcat_config.yaml"), permitted_classes: [Regexp, Symbol])
191
191
  end
192
192
 
193
193
  # define formatter
data/Rakefile CHANGED
@@ -1,2 +1,4 @@
1
- require "bundler/gem_tasks"
2
- task :default => :spec
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ task default: :spec
data/bin/console CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "bundler/setup"
4
- require "rbcat"
4
+ require 'bundler/setup'
5
+ require 'rbcat'
5
6
 
6
7
  # You can add fixtures and/or initialization code here to make experimenting
7
8
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +11,5 @@ require "rbcat"
10
11
  # require "pry"
11
12
  # Pry.start
12
13
 
13
- require "irb"
14
+ require 'irb'
14
15
  IRB.start(__FILE__)
data/exe/rbcat CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "rbcat"
4
+ require 'rbcat'
4
5
  Rbcat::CLI.start(ARGV)
data/lib/rbcat/cli.rb CHANGED
@@ -9,13 +9,11 @@ module Rbcat
9
9
  options = parse_options(args)
10
10
  colorizer_options = create_colorizer_options(options)
11
11
 
12
- while input = STDIN.gets
12
+ while (input = $stdin.gets)
13
13
  input.each_line do |line|
14
- begin
15
- puts Rbcat.colorize(line, colorizer_options)
16
- rescue Errno::EPIPE
17
- exit(74)
18
- end
14
+ puts Rbcat.colorize(line, colorizer_options)
15
+ rescue Errno::EPIPE
16
+ exit(74)
19
17
  end
20
18
  end
21
19
  end
@@ -24,11 +22,9 @@ module Rbcat
24
22
  rules =
25
23
  if options[:rules]
26
24
  file_path = File.expand_path(options[:rules])
27
- unless File.exist? file_path
28
- raise ConfigurationError, "Config file not found: #{file_path}."
29
- else
30
- YAML.load_file(file_path)
31
- end
25
+ raise ConfigurationError, "Config file not found: #{file_path}." unless File.exist?(file_path)
26
+
27
+ YAML.load_file(file_path, permitted_classes: [Regexp, Symbol])
32
28
  end
33
29
 
34
30
  predefined = options[:predefined]
@@ -40,7 +36,7 @@ module Rbcat
40
36
  private_class_method def self.parse_options(args)
41
37
  options = {}
42
38
 
43
- args.push("-h") if args.empty?
39
+ args.push('-h') if args.empty?
44
40
 
45
41
  OptionParser.new do |opts|
46
42
  opts.banner = <<~HEREDOC
@@ -48,32 +44,32 @@ module Rbcat
48
44
  colorizes content by set of regex rules from a config file,
49
45
  and then writes it to standard output.
50
46
  HEREDOC
51
- opts.separator ""
47
+ opts.separator ''
52
48
 
53
- predefined_desc = "Colorize input by set of predefined rules. " \
49
+ predefined_desc = 'Colorize input by set of predefined rules. ' \
54
50
  "Currently there are json/hash 'jsonhash' and ruby's logger 'logger'. " \
55
- "Example: --predefined=jsonhash,logger"
56
- opts.on("-p", "--predefined GROUPS", Array, predefined_desc) do |arg|
51
+ 'Example: --predefined=jsonhash,logger'
52
+ opts.on('-p', '--predefined GROUPS', Array, predefined_desc) do |arg|
57
53
  options[:predefined] = arg
58
54
  end
59
55
 
60
- rules_desc = "Path to the custom yaml config for rbcat."
61
- opts.on("-r", "--rules PATH", rules_desc) do |arg|
56
+ rules_desc = 'Path to the custom yaml config for rbcat.'
57
+ opts.on('-r', '--rules PATH', rules_desc) do |arg|
62
58
  options[:rules] = arg
63
59
  end
64
60
 
65
- order_desc = "Specify order for predefined and custom rules." \
61
+ order_desc = 'Specify order for predefined and custom rules.' \
66
62
  "Avaiable options: 'predefined_first' (default) or 'predefined_last'."
67
- opts.on("-o", "--order ORDER", order_desc) do |arg|
63
+ opts.on('-o', '--order ORDER', order_desc) do |arg|
68
64
  options[:order] = arg
69
65
  end
70
66
 
71
- opts.on("-c", "--print_colors", "Print all avaiable colors.") do
67
+ opts.on('-c', '--print_colors', 'Print all avaiable colors.') do
72
68
  Rbcat::Colorizer.print_colors
73
69
  exit
74
70
  end
75
71
 
76
- opts.on_tail("-v", "--version", "Show version") do
72
+ opts.on_tail('-v', '--version', 'Show version') do
77
73
  puts Rbcat::VERSION
78
74
  exit
79
75
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rbcat
2
4
  class Colorizer
3
5
  def self.print_colors
@@ -7,7 +9,7 @@ module Rbcat
7
9
  end
8
10
 
9
11
  def self.colorize(string, predefined: nil, rules: nil, order: nil)
10
- return string if ENV["RBCAT_COLORIZER"] == "false"
12
+ return string if ENV['RBCAT_COLORIZER'] == 'false'
11
13
 
12
14
  colors = Rbcat::Colors::DEFAULT
13
15
  config = create_config(predefined, rules, order)
@@ -19,7 +21,7 @@ module Rbcat
19
21
  end
20
22
  elsif settings[:colors]
21
23
  string.gsub!(settings[:regexp]) do
22
- str = ""
24
+ str = ''
23
25
  Regexp.last_match.captures.each_with_index do |match, i|
24
26
  str << colors[settings[:colors][i]] + match + colors[:default]
25
27
  end
@@ -38,16 +40,17 @@ module Rbcat
38
40
 
39
41
  def self.uncolorize(string)
40
42
  pattern = /\033\[([0-9]+);([0-9]+)m|\033\[([0-9]+)m/m
41
- string.gsub(pattern, "")
43
+ string.gsub(pattern, '')
42
44
  end
43
45
 
44
46
  private_class_method def self.create_config(predefined, rules, order)
45
- predefined_rules = predefined ? predefined : Rbcat.configuration&.predefined
47
+ predefined_rules = predefined || Rbcat.configuration&.predefined
46
48
  rules ||= Rbcat.configuration&.rules
47
49
 
48
- raise ConfigurationError, "No config defined." unless predefined_rules || rules
50
+ raise ConfigurationError, 'No config defined.' unless predefined_rules || rules
51
+
49
52
  if rules && rules.class != Hash
50
- raise ConfigurationError, "Incorrect configuration. " \
53
+ raise ConfigurationError, 'Incorrect configuration. ' \
51
54
  "There is error while converting yaml config into Ruby's hash of rules."
52
55
  end
53
56
 
@@ -57,7 +60,7 @@ module Rbcat
57
60
  case order
58
61
  when :predefined_first
59
62
  predefined_rules&.each do |group|
60
- config.merge!(Object.const_get "Rbcat::Rules::#{group.to_s.upcase}")
63
+ config.merge!(Object.const_get("Rbcat::Rules::#{group.to_s.upcase}"))
61
64
  end
62
65
 
63
66
  rules ? deep_merge(config, rules) : config
@@ -65,13 +68,13 @@ module Rbcat
65
68
  config.merge!(rules) if rules
66
69
 
67
70
  predefined_rules&.each do |group|
68
- config.merge!(Object.const_get "Rbcat::Rules::#{group.to_s.upcase}")
71
+ config.merge!(Object.const_get("Rbcat::Rules::#{group.to_s.upcase}"))
69
72
  end
70
73
 
71
74
  config
72
75
  else
73
76
  raise ConfigurationError, "Wrong type of order: #{order}. " \
74
- "Define :predefined_first (default) or :predefined_last"
77
+ 'Define :predefined_first (default) or :predefined_last'
75
78
  end
76
79
  end
77
80
 
data/lib/rbcat/colors.rb CHANGED
@@ -3,57 +3,57 @@
3
3
  module Rbcat
4
4
  module Colors
5
5
  DEFAULT = {
6
- default: "\033[0m",
7
- bold: "\033[1m",
8
- underline: "\033[4m",
9
- blink: "\033[5m",
10
- reverse: "\033[7m",
11
- concealed: "\033[8m",
6
+ default: "\033[0m",
7
+ bold: "\033[1m",
8
+ underline: "\033[4m",
9
+ blink: "\033[5m",
10
+ reverse: "\033[7m",
11
+ concealed: "\033[8m",
12
12
 
13
- black: "\033[30m",
14
- red: "\033[31m",
15
- green: "\033[32m",
16
- yellow: "\033[33m",
17
- blue: "\033[34m",
18
- magenta: "\033[35m",
19
- cyan: "\033[36m",
20
- white: "\033[37m",
13
+ black: "\033[30m",
14
+ red: "\033[31m",
15
+ green: "\033[32m",
16
+ yellow: "\033[33m",
17
+ blue: "\033[34m",
18
+ magenta: "\033[35m",
19
+ cyan: "\033[36m",
20
+ white: "\033[37m",
21
21
 
22
- bold_black: "\033[1;30m",
23
- bold_red: "\033[1;31m",
24
- bold_green: "\033[1;32m",
25
- bold_yellow: "\033[1;33m",
26
- bold_blue: "\033[1;34m",
22
+ bold_black: "\033[1;30m",
23
+ bold_red: "\033[1;31m",
24
+ bold_green: "\033[1;32m",
25
+ bold_yellow: "\033[1;33m",
26
+ bold_blue: "\033[1;34m",
27
27
  bold_magenta: "\033[1;35m",
28
- bold_cyan: "\033[1;36m",
29
- bold_white: "\033[1;37m",
28
+ bold_cyan: "\033[1;36m",
29
+ bold_white: "\033[1;37m",
30
30
 
31
- on_black: "\033[40m",
32
- on_red: "\033[41m",
33
- on_green: "\033[42m",
34
- on_yellow: "\033[43m",
35
- on_blue: "\033[44m",
31
+ on_black: "\033[40m",
32
+ on_red: "\033[41m",
33
+ on_green: "\033[42m",
34
+ on_yellow: "\033[43m",
35
+ on_blue: "\033[44m",
36
36
  on_magenta: "\033[45m",
37
- on_cyan: "\033[46m",
38
- on_white: "\033[47m",
37
+ on_cyan: "\033[46m",
38
+ on_white: "\033[47m",
39
39
 
40
- bright_black: "\033[30;90m",
41
- bright_red: "\033[31;91m",
42
- bright_green: "\033[32;92m",
43
- bright_yellow: "\033[33;93m",
44
- bright_blue: "\033[34;94m",
45
- bright_magenta: "\033[35;95m",
46
- bright_cyan: "\033[36;96m",
47
- bright_white: "\033[37;97m",
40
+ bright_black: "\033[30;90m",
41
+ bright_red: "\033[31;91m",
42
+ bright_green: "\033[32;92m",
43
+ bright_yellow: "\033[33;93m",
44
+ bright_blue: "\033[34;94m",
45
+ bright_magenta: "\033[35;95m",
46
+ bright_cyan: "\033[36;96m",
47
+ bright_white: "\033[37;97m",
48
48
 
49
- on_bright_black: "\033[40;100m",
50
- on_bright_red: "\033[41;101m",
51
- on_bright_green: "\033[42;102m",
52
- on_bright_yellow: "\033[43;103m",
53
- on_bright_blue: "\033[44;104m",
49
+ on_bright_black: "\033[40;100m",
50
+ on_bright_red: "\033[41;101m",
51
+ on_bright_green: "\033[42;102m",
52
+ on_bright_yellow: "\033[43;103m",
53
+ on_bright_blue: "\033[44;104m",
54
54
  on_bright_magenta: "\033[45;105m",
55
- on_bright_cyan: "\033[46;106m",
56
- on_bright_white: "\033[47;107m"
55
+ on_bright_cyan: "\033[46;106m",
56
+ on_bright_white: "\033[47;107m"
57
57
  }.freeze
58
58
  end
59
59
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rbcat
2
4
  class ConfigurationError < StandardError; end
3
5
 
data/lib/rbcat/rules.rb CHANGED
@@ -1,55 +1,57 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rbcat
2
4
  module Rules
3
5
  JSONHASH = {
4
6
  value_integer: {
5
- regexp: /(?<=\"\:)\d+|(?<=\=\>)\d+/m,
7
+ regexp: /(?<=":)\d+|(?<==>)\d+/m,
6
8
  color: :cyan
7
9
  },
8
10
  key_string: {
9
- regexp: /\"[^\"]*\"(?=\:)/m,
11
+ regexp: /"[^"]*"(?=:)/m,
10
12
  color: :green
11
13
  },
12
14
  key_symbol: {
13
- regexp: /\:[\p{L}\_\d]*(?=\=\>)|\:\"[^\"]*\"(?=\=\>)/m,
15
+ regexp: /:[\p{L}_\d]*(?==>)|:"[^"]*"(?==>)/m,
14
16
  color: :magenta
15
17
  },
16
18
  value_string: {
17
- regexp: /\"(?:[^"\\]|\\.)*\"(?=[\,\n\}\]])/m,
19
+ regexp: /"(?:[^"\\]|\\.)*"(?=[,\n}\]])/m,
18
20
  color: :yellow
19
21
  },
20
22
  value_null_nil: {
21
- regexp: /(?<=\:)null|(?<=\=\>)nil/m,
23
+ regexp: /(?<=:)null|(?<==>)nil/m,
22
24
  color: :magenta
23
25
  },
24
26
  value_true_false: {
25
- regexp: /(?<=\:)(false|true)|(?<=\=\>)(false|true)/m,
27
+ regexp: /(?<=:)(false|true)|(?<==>)(false|true)/m,
26
28
  color: :magenta
27
29
  }
28
30
  }.freeze
29
31
 
30
32
  LOGGER = {
31
33
  info_logger: {
32
- regexp: /INFO(\s--\s.*?\:|)/m,
34
+ regexp: /INFO(\s--\s.*?:|)/m,
33
35
  color: :cyan,
34
36
  once: true
35
37
  },
36
38
  error_logger: {
37
- regexp: /ERROR(\s--\s.*?\:|)/m,
39
+ regexp: /ERROR(\s--\s.*?:|)/m,
38
40
  color: :red,
39
41
  once: true
40
42
  },
41
43
  fatal_logger: {
42
- regexp: /FATAL(\s--\s.*?\:|)/m,
44
+ regexp: /FATAL(\s--\s.*?:|)/m,
43
45
  color: :bold_red,
44
46
  once: true
45
47
  },
46
48
  warn_logger: {
47
- regexp: /WARN(\s--\s.*?\:|)/m,
49
+ regexp: /WARN(\s--\s.*?:|)/m,
48
50
  color: :yellow,
49
51
  once: true
50
52
  },
51
53
  debug_logger: {
52
- regexp: /DEBUG(\s--\s.*?\:|)/m,
54
+ regexp: /DEBUG(\s--\s.*?:|)/m,
53
55
  color: :green,
54
56
  once: true
55
57
  }
data/lib/rbcat/version.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rbcat
2
- VERSION = "0.2.3"
4
+ VERSION = '1.0.0'
3
5
  end
data/lib/rbcat.rb CHANGED
@@ -1,9 +1,11 @@
1
- require "rbcat/version"
2
- require "rbcat/configuration"
3
- require "rbcat/colors"
4
- require "rbcat/rules"
5
- require "rbcat/colorizer"
6
- require "rbcat/cli"
1
+ # frozen_string_literal: true
2
+
3
+ require 'rbcat/version'
4
+ require 'rbcat/configuration'
5
+ require 'rbcat/colors'
6
+ require 'rbcat/rules'
7
+ require 'rbcat/colorizer'
8
+ require 'rbcat/cli'
7
9
 
8
10
  module Rbcat
9
11
  def self.colorize(string, options = {})
data/rbcat.gemspec CHANGED
@@ -1,29 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path("../lib", __FILE__)
3
+ lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require "rbcat/version"
5
+ require 'rbcat/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = "rbcat"
8
+ spec.name = 'rbcat'
9
9
  spec.version = Rbcat::VERSION
10
10
 
11
- spec.authors = ["Victor Afanasev"]
12
- spec.email = ["vicfreefly@gmail.com"]
11
+ spec.authors = ['Victor Afanasev']
12
+ spec.email = ['vicfreefly@gmail.com']
13
13
 
14
- spec.summary = "Colorize output by defined set of regex rules"
15
- spec.description = "Colorize output by defined set of regex rules"
16
- spec.homepage = "https://github.com/vifreefly/rbcat"
17
- spec.license = "MIT"
14
+ spec.summary = 'Colorize output by defined set of regex rules'
15
+ spec.description = 'Colorize output by defined set of regex rules'
16
+ spec.homepage = 'https://github.com/vifreefly/rbcat'
17
+ spec.license = 'MIT'
18
18
 
19
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
20
  f.match(%r{^(test|spec|features)/})
21
21
  end
22
- spec.bindir = "exe"
23
- spec.executables = "rbcat"
24
- spec.require_paths = ["lib"]
25
- spec.required_ruby_version = ">= 2.3.0"
22
+ spec.bindir = 'exe'
23
+ spec.executables = 'rbcat'
24
+ spec.require_paths = ['lib']
26
25
 
27
- spec.add_development_dependency "bundler", ">= 2.2.33"
28
- spec.add_development_dependency "rake", ">= 12.3.3"
26
+ spec.required_ruby_version = '>= 3.1.0'
29
27
  end
metadata CHANGED
@@ -1,42 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbcat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Afanasev
8
8
  bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
- dependencies:
12
- - !ruby/object:Gem::Dependency
13
- name: bundler
14
- requirement: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - ">="
17
- - !ruby/object:Gem::Version
18
- version: 2.2.33
19
- type: :development
20
- prerelease: false
21
- version_requirements: !ruby/object:Gem::Requirement
22
- requirements:
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: 2.2.33
26
- - !ruby/object:Gem::Dependency
27
- name: rake
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 12.3.3
33
- type: :development
34
- prerelease: false
35
- version_requirements: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 12.3.3
11
+ dependencies: []
40
12
  description: Colorize output by defined set of regex rules
41
13
  email:
42
14
  - vicfreefly@gmail.com
@@ -74,14 +46,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
74
46
  requirements:
75
47
  - - ">="
76
48
  - !ruby/object:Gem::Version
77
- version: 2.3.0
49
+ version: 3.1.0
78
50
  required_rubygems_version: !ruby/object:Gem::Requirement
79
51
  requirements:
80
52
  - - ">="
81
53
  - !ruby/object:Gem::Version
82
54
  version: '0'
83
55
  requirements: []
84
- rubygems_version: 3.6.7
56
+ rubygems_version: 4.0.1
85
57
  specification_version: 4
86
58
  summary: Colorize output by defined set of regex rules
87
59
  test_files: []