Skip to content

Commit 5456049

Browse files
committed
Upgrade Rubocop and move it to separate CI job
1 parent 717b515 commit 5456049

21 files changed

+98
-61
lines changed

.github/workflows/lint.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Lint Ruby
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths:
8+
- "gemfiles/*"
9+
- "Gemfile"
10+
- "**/*.rb"
11+
- "**/*.gemspec"
12+
- ".github/workflows/lint.yml"
13+
pull_request:
14+
paths:
15+
- "gemfiles/*"
16+
- "Gemfile"
17+
- "**/*.rb"
18+
- "**/*.gemspec"
19+
- ".github/workflows/lint.yml"
20+
21+
jobs:
22+
rubocop:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v3
26+
- uses: ruby/setup-ruby@v1
27+
with:
28+
ruby-version: 3.2
29+
bundler-cache: true
30+
- name: Lint Ruby code with RuboCop
31+
run: |
32+
bundle exec rubocop

.github/workflows/test.yml

-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,5 @@ jobs:
3838
bundle config path vendor/bundle
3939
bundle install
4040
bundle update
41-
- name: Run Rubocop
42-
run: bundle exec rubocop
4341
- name: Run RSpec
4442
run: bundle exec rspec

.rubocop.yml

+6
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ Metrics/BlockLength:
1010
- "Gemfile"
1111
- "spec/**/*"
1212

13+
Metrics/AbcSize:
14+
Max: 25
15+
1316
Layout/LineLength:
1417
Max: 120
1518

@@ -29,6 +32,9 @@ RSpec/DescribeClass:
2932
RSpec/NestedGroups:
3033
Max: 4
3134

35+
RSpec/MultipleMemoizedHelpers:
36+
Enabled: false
37+
3238
Bundler/OrderedGems:
3339
Enabled: false
3440

Gemfile

+6-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,14 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
88
gemspec
99

1010
group :development, :test do
11+
gem "rake", "~> 12.0"
12+
gem "rspec", "~> 3.0"
13+
gem "yard"
14+
gem "yard-dry-initializer"
15+
1116
gem "pry"
1217
gem "pry-byebug", platform: :mri
1318

14-
gem "rubocop", "~> 0.80.0"
19+
gem "rubocop", "~> 1.0"
1520
gem "rubocop-rspec"
1621
end

lib/yabeda.rb

+2-4
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def configured?
8686

8787
# Perform configuration: registration of metrics and collector blocks
8888
# @return [void]
89-
# rubocop: disable Metrics/MethodLength, Metrics/AbcSize
89+
# rubocop: disable Metrics/MethodLength
9090
def configure!
9191
raise(AlreadyConfiguredError, @configured_by) if already_configured?
9292

@@ -129,12 +129,11 @@ def debug!
129129

130130
true
131131
end
132-
# rubocop: enable Metrics/MethodLength, Metrics/AbcSize
132+
# rubocop: enable Metrics/MethodLength
133133

134134
# Forget all the configuration.
135135
# For testing purposes as it doesn't rollback changes in adapters.
136136
# @api private
137-
# rubocop: disable Metrics/AbcSize
138137
def reset!
139138
default_tags.clear
140139
adapters.clear
@@ -147,6 +146,5 @@ def reset!
147146
instance_variable_set(:@configured_by, nil)
148147
instance_variable_set(:@debug_was_enabled_by, nil)
149148
end
150-
# rubocop: enable Metrics/AbcSize
151149
end
152150
end

lib/yabeda/global_group.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
require "forwardable"
4-
require_relative "./group"
4+
require_relative "group"
55

66
module Yabeda
77
# Represents implicit global group

lib/yabeda/rspec.rb

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# frozen_string_literal: true
22

3-
require_relative "./testing"
3+
require_relative "testing"
44

55
module Yabeda
66
# RSpec integration for Yabeda: custom matchers, etc
77
module RSpec
88
end
99
end
1010

11-
require_relative "./rspec/increment_yabeda_counter"
12-
require_relative "./rspec/update_yabeda_gauge"
13-
require_relative "./rspec/measure_yabeda_histogram"
11+
require_relative "rspec/increment_yabeda_counter"
12+
require_relative "rspec/update_yabeda_gauge"
13+
require_relative "rspec/measure_yabeda_histogram"
1414

15-
::RSpec.configure do |config|
15+
RSpec.configure do |config|
1616
config.before(:suite) do
1717
Yabeda.configure! unless Yabeda.already_configured?
1818
end

lib/yabeda/rspec/base_matcher.rb

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def with_tags(tags)
1717
end
1818

1919
def initialize(expected)
20+
super
2021
@expected = @metric = resolve_metric(expected)
2122
rescue KeyError
2223
raise ArgumentError, <<~MSG

lib/yabeda/rspec/increment_yabeda_counter.rb

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22

3-
require_relative "./base_matcher"
3+
require_relative "base_matcher"
44

55
module Yabeda
66
module RSpec
@@ -54,16 +54,16 @@ def match_when_negated(metric, block)
5454

5555
def failure_message
5656
"expected #{expected_formatted} " \
57-
"to be incremented #{"by #{description_of(expected_increment)} " unless expected_increment.nil?}" \
58-
"#{("with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags)}" \
59-
"but #{actual_increments_message}"
57+
"to be incremented #{"by #{description_of(expected_increment)} " unless expected_increment.nil?}" \
58+
"#{"with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags}" \
59+
"but #{actual_increments_message}"
6060
end
6161

6262
def failure_message_when_negated
6363
"expected #{expected_formatted} " \
64-
"not to be incremented " \
65-
"#{("with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags)}" \
66-
"but #{actual_increments_message}"
64+
"not to be incremented " \
65+
"#{"with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags}" \
66+
"but #{actual_increments_message}"
6767
end
6868

6969
def actual_increments_message

lib/yabeda/rspec/measure_yabeda_histogram.rb

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22

3-
require_relative "./base_matcher"
3+
require_relative "base_matcher"
44

55
module Yabeda
66
module RSpec
@@ -52,16 +52,16 @@ def match_when_negated(metric, block)
5252

5353
def failure_message
5454
"expected #{expected_formatted} " \
55-
"to be changed #{"to #{expected} " unless expected_value.nil?}" \
56-
"#{("with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags)}" \
57-
"but #{actual_changes_message}"
55+
"to be changed #{"to #{expected} " unless expected_value.nil?}" \
56+
"#{"with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags}" \
57+
"but #{actual_changes_message}"
5858
end
5959

6060
def failure_message_when_negated
6161
"expected #{expected_formatted} " \
62-
"not to be incremented " \
63-
"#{("with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags)}" \
64-
"but #{actual_changes_message}"
62+
"not to be incremented " \
63+
"#{"with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags}" \
64+
"but #{actual_changes_message}"
6565
end
6666

6767
def actual_changes_message

lib/yabeda/rspec/update_yabeda_gauge.rb

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22

3-
require_relative "./base_matcher"
3+
require_relative "base_matcher"
44

55
module Yabeda
66
module RSpec
@@ -52,16 +52,16 @@ def match_when_negated(metric, block)
5252

5353
def failure_message
5454
"expected #{expected_formatted} " \
55-
"to be changed #{"to #{expected_value} " unless expected_value.nil?}" \
56-
"#{("with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags)}" \
57-
"but #{actual_changes_message}"
55+
"to be changed #{"to #{expected_value} " unless expected_value.nil?}" \
56+
"#{"with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags}" \
57+
"but #{actual_changes_message}"
5858
end
5959

6060
def failure_message_when_negated
6161
"expected #{expected_formatted} " \
62-
"not to be changed " \
63-
"#{("with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags)}" \
64-
"but #{actual_changes_message}"
62+
"not to be changed " \
63+
"#{"with tags #{::RSpec::Support::ObjectFormatter.format(tags)} " if tags}" \
64+
"but #{actual_changes_message}"
6565
end
6666

6767
def actual_changes_message

lib/yabeda/test_adapter.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
require "singleton"
44

5-
require_relative "./base_adapter"
5+
require_relative "base_adapter"
66

77
module Yabeda
88
# Fake monitoring system adapter that collects latest metric values for later inspection
@@ -12,6 +12,7 @@ class TestAdapter < BaseAdapter
1212
attr_reader :counters, :gauges, :histograms
1313

1414
def initialize
15+
super
1516
@counters = Hash.new { |ch, ck| ch[ck] = Hash.new { |th, tk| th[tk] = 0 } }
1617
@gauges = Hash.new { |gh, gk| gh[gk] = Hash.new { |th, tk| th[tk] = nil } }
1718
@histograms = Hash.new { |hh, hk| hh[hk] = Hash.new { |th, tk| th[tk] = nil } }

lib/yabeda/testing.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
# Include this file to get things prepared for testing
44

5-
require_relative "./test_adapter"
5+
require_relative "test_adapter"
66

77
Yabeda.register_adapter(:test, Yabeda::TestAdapter.instance)

spec/yabeda/counter_spec.rb

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55

66
let(:tags) { { foo: "bar" } }
77
let(:metric_value) { 10 }
8-
let(:counter) { ::Yabeda.test_counter }
8+
let(:counter) { Yabeda.test_counter }
99
let(:built_tags) { { built_foo: "built_bar" } }
10-
let(:adapter) { instance_double("Yabeda::BaseAdapter", perform_counter_increment!: true, register!: true) }
10+
let(:adapter) { instance_double(Yabeda::BaseAdapter, perform_counter_increment!: true, register!: true) }
1111

1212
before do
13-
::Yabeda.configure do
13+
Yabeda.configure do
1414
counter :test_counter
1515
end
1616
Yabeda.configure! unless Yabeda.already_configured?
1717
allow(Yabeda::Tags).to receive(:build).with(tags, anything).and_return(built_tags)
18-
::Yabeda.register_adapter(:test_adapter, adapter)
18+
Yabeda.register_adapter(:test_adapter, adapter)
1919
end
2020

2121
it { expect(increment_counter).to eq(metric_value) }

spec/yabeda/gauge_spec.rb

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55

66
let(:tags) { { foo: "bar" } }
77
let(:metric_value) { 10 }
8-
let(:gauge) { ::Yabeda.test_gauge }
8+
let(:gauge) { Yabeda.test_gauge }
99
let(:built_tags) { { built_foo: "built_bar" } }
10-
let(:adapter) { instance_double("Yabeda::BaseAdapter", perform_gauge_set!: true, register!: true) }
10+
let(:adapter) { instance_double(Yabeda::BaseAdapter, perform_gauge_set!: true, register!: true) }
1111

1212
before do
13-
::Yabeda.configure do
13+
Yabeda.configure do
1414
gauge :test_gauge
1515
end
1616
Yabeda.configure! unless Yabeda.already_configured?
1717
allow(Yabeda::Tags).to receive(:build).with(tags, anything).and_return(built_tags)
18-
::Yabeda.register_adapter(:test_adapter, adapter)
18+
Yabeda.register_adapter(:test_adapter, adapter)
1919
end
2020

2121
it { expect(set_gauge).to eq(metric_value) }

spec/yabeda/histogram_spec.rb

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
let(:tags) { { foo: "bar" } }
77
let(:metric_value) { 10 }
88
let(:block) { proc { 1 + 1 } }
9-
let(:histogram) { ::Yabeda.test_histogram }
9+
let(:histogram) { Yabeda.test_histogram }
1010
let(:built_tags) { { built_foo: "built_bar" } }
11-
let(:adapter) { instance_double("Yabeda::BaseAdapter", perform_histogram_measure!: true, register!: true) }
11+
let(:adapter) { instance_double(Yabeda::BaseAdapter, perform_histogram_measure!: true, register!: true) }
1212

1313
before do
14-
::Yabeda.configure do
14+
Yabeda.configure do
1515
histogram :test_histogram, buckets: [1, 10, 100]
1616
end
1717
Yabeda.configure! unless Yabeda.already_configured?
1818
allow(Yabeda::Tags).to receive(:build).with(tags, anything).and_return(built_tags)
19-
::Yabeda.register_adapter(:test_adapter, adapter)
19+
Yabeda.register_adapter(:test_adapter, adapter)
2020
end
2121

2222
context "with value given" do

spec/yabeda/rspec/increment_yabeda_counter_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
RSpec.describe "Yabeda RSpec matchers" do
66
before do
77
Yabeda.reset!
8-
::Yabeda.configure do
8+
Yabeda.configure do
99
counter :test_counter
1010
counter :other_counter
1111
end

spec/yabeda/rspec/measure_yabeda_histogram_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
RSpec.describe "Yabeda RSpec matchers" do
66
before do
77
Yabeda.reset!
8-
::Yabeda.configure do
8+
Yabeda.configure do
99
histogram :test_histogram, buckets: [1, 10, 100]
1010
histogram :other_histogram, buckets: [1, 10, 100]
1111
end

spec/yabeda/rspec/update_yabeda_gauge_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
RSpec.describe "Yabeda RSpec matchers" do
66
before do
77
Yabeda.reset!
8-
::Yabeda.configure do
8+
Yabeda.configure do
99
gauge :test_gauge
1010
gauge :other_gauge
1111
end

0 commit comments

Comments
 (0)