Skip to content

Commit 50bb916

Browse files
Merge pull request #22 from joaoGabriel55/build/add-standard-linter
Build: Add Standard: The Standard Linter/Formatter Gem
2 parents 2bd6b2f + 77247de commit 50bb916

16 files changed

+150
-105
lines changed

Gemfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
source 'https://rubygems.org'
1+
source "https://rubygems.org"
22

33
gemspec

Gemfile.lock

+47-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,21 @@ PATH
66
GEM
77
remote: https://rubygems.org/
88
specs:
9+
ast (2.4.2)
910
diff-lcs (1.5.1)
11+
json (2.7.2)
12+
language_server-protocol (3.17.0.3)
13+
lint_roller (1.1.0)
14+
parallel (1.25.1)
15+
parser (3.3.4.0)
16+
ast (~> 2.4.1)
17+
racc
18+
racc (1.8.0)
19+
rainbow (3.1.1)
1020
rake (13.2.1)
21+
regexp_parser (2.9.2)
22+
rexml (3.3.2)
23+
strscan
1124
rspec (3.13.0)
1225
rspec-core (~> 3.13.0)
1326
rspec-expectations (~> 3.13.0)
@@ -21,14 +34,47 @@ GEM
2134
diff-lcs (>= 1.2.0, < 2.0)
2235
rspec-support (~> 3.13.0)
2336
rspec-support (3.13.1)
37+
rubocop (1.64.1)
38+
json (~> 2.3)
39+
language_server-protocol (>= 3.17.0)
40+
parallel (~> 1.10)
41+
parser (>= 3.3.0.2)
42+
rainbow (>= 2.2.2, < 4.0)
43+
regexp_parser (>= 1.8, < 3.0)
44+
rexml (>= 3.2.5, < 4.0)
45+
rubocop-ast (>= 1.31.1, < 2.0)
46+
ruby-progressbar (~> 1.7)
47+
unicode-display_width (>= 2.4.0, < 3.0)
48+
rubocop-ast (1.31.3)
49+
parser (>= 3.3.1.0)
50+
rubocop-performance (1.21.1)
51+
rubocop (>= 1.48.1, < 2.0)
52+
rubocop-ast (>= 1.31.1, < 2.0)
53+
ruby-progressbar (1.13.0)
54+
standard (1.39.2)
55+
language_server-protocol (~> 3.17.0.2)
56+
lint_roller (~> 1.0)
57+
rubocop (~> 1.64.0)
58+
standard-custom (~> 1.0.0)
59+
standard-performance (~> 1.4)
60+
standard-custom (1.0.2)
61+
lint_roller (~> 1.0)
62+
rubocop (~> 1.50)
63+
standard-performance (1.4.0)
64+
lint_roller (~> 1.1)
65+
rubocop-performance (~> 1.21.0)
66+
strscan (3.1.0)
67+
unicode-display_width (2.5.0)
2468

2569
PLATFORMS
70+
arm64-darwin-23
2671
x86_64-linux
2772

2873
DEPENDENCIES
2974
rails_tracepoint_stack!
3075
rake (~> 13.0, >= 13.0.0)
3176
rspec (~> 3.0, >= 3.0.0)
77+
standard (~> 1.39, >= 1.39.1)
3278

3379
BUNDLED WITH
34-
2.4.17
80+
2.5.16

Rakefile

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
2-
require 'rake'
3-
require 'rspec/core/rake_task'
1+
require "rake"
2+
require "rspec/core/rake_task"
43

54
RSpec::Core::RakeTask.new(:spec)
65

lib/rails_tracepoint_stack.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def self.enable_trace
2828
end
2929
end
3030

31-
if ENV.fetch('RAILS_TRACEPOINT_STACK_ENABLED', 'false') == 'true'
31+
if ENV.fetch("RAILS_TRACEPOINT_STACK_ENABLED", "false") == "true"
3232
$rails_tracer_rtps = RailsTracepointStack::Tracer.new.tracer
3333
$rails_tracer_rtps.enable
3434

lib/rails_tracepoint_stack/filter/rb_config.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module RailsTracepointStack
22
module Filter
33
class RbConfig
44
def self.ruby_lib_path
5-
@ruby_lib_path ||= ::RbConfig::CONFIG['rubylibdir']
5+
@ruby_lib_path ||= ::RbConfig::CONFIG["rubylibdir"]
66
end
77
end
88
end

lib/rails_tracepoint_stack/logger.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ def self.log(msg)
55
RailsTracepointStack.configuration.logger.info(msg)
66
else
77
# TODO: Add the support to Rails.env for the default filename
8-
File.open("log/rails_tracepoint_stack.log", 'a') do |f|
8+
File.open("log/rails_tracepoint_stack.log", "a") do |f|
99
f.puts msg
1010
end
1111
end

lib/rails_tracepoint_stack/trace.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require 'forwardable'
1+
require "forwardable"
22

33
module RailsTracepointStack
44
class Trace

lib/rails_tracepoint_stack/trace_filter.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def ignore_trace?(trace:)
2222
end
2323
if should_ignore_because_is_ruby_trace?(trace: trace)
2424
return true
25-
end
25+
end
2626

2727
return false
2828
end

lib/rails_tracepoint_stack/tracer.rb

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
#TODO: Move to a loader file
2-
require 'rails_tracepoint_stack/logger'
3-
require 'rails_tracepoint_stack/trace_filter'
4-
require 'rails_tracepoint_stack/trace'
5-
require 'rails_tracepoint_stack/log_formatter'
1+
# TODO: Move to a loader file
2+
require "rails_tracepoint_stack/logger"
3+
require "rails_tracepoint_stack/trace_filter"
4+
require "rails_tracepoint_stack/trace"
5+
require "rails_tracepoint_stack/log_formatter"
66

77
module RailsTracepointStack
88
class Tracer
@@ -16,7 +16,7 @@ def tracer
1616

1717
# TODO: Use proper OO
1818
message = RailsTracepointStack::LogFormatter.message trace
19-
RailsTracepointStack::Logger.log message
19+
RailsTracepointStack::Logger.log message
2020
end
2121
end
2222
end

rails_tracepoint_stack.gemspec

+12-11
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
require_relative "lib/rails_tracepoint_stack/version"
22

33
Gem::Specification.new do |s|
4-
s.name = "rails_tracepoint_stack"
5-
s.version = RailsTracepointStack::VERSION
6-
s.summary = "Get a complete stack trace for your code on a Rails application."
4+
s.name = "rails_tracepoint_stack"
5+
s.version = RailsTracepointStack::VERSION
6+
s.summary = "Get a complete stack trace for your code on a Rails application."
77
s.description = "A formatted output of all methods called in your rails application of code created by the developer, with the complete path to the class/module, including passed params."
8-
s.authors = ["Carlos Daniel Pohlod"]
9-
s.email = "[email protected]"
10-
s.files = [
8+
s.authors = ["Carlos Daniel Pohlod"]
9+
s.email = "[email protected]"
10+
s.files = [
1111
"lib/rails_tracepoint_stack.rb",
1212
"lib/rails_tracepoint_stack/configuration.rb",
1313
"lib/rails_tracepoint_stack/log_formatter.rb",
@@ -23,12 +23,13 @@ Gem::Specification.new do |s|
2323
"lib/rails_tracepoint_stack/filter/trace_from_ruby_code_filter.rb",
2424
"lib/rails_tracepoint_stack/filter/trace_to_ignore_filter.rb",
2525
]
26-
s.homepage = "https://github.com/carlosdanielpohlod/rails_tracepoint_stack/"
27-
s.license = "MIT"
26+
s.homepage = "https://github.com/carlosdanielpohlod/rails_tracepoint_stack/"
27+
s.license = "MIT"
2828
s.metadata["documentation_uri"] = "https://github.com/carlosdanielpohlod/rails_tracepoint_stack/"
2929
s.metadata["changelog_uri"] = "https://github.com/carlosdanielpohlod/rails_tracepoint_stack/blob/main/changelog.md"
3030

31-
s.required_ruby_version = '>= 3.0'
32-
s.add_development_dependency 'rspec', '~> 3.0', '>= 3.0.0'
33-
s.add_development_dependency 'rake', '~> 13.0', '>= 13.0.0'
31+
s.required_ruby_version = ">= 3.0"
32+
s.add_development_dependency "rspec", "~> 3.0", ">= 3.0.0"
33+
s.add_development_dependency "rake", "~> 13.0", ">= 13.0.0"
34+
s.add_development_dependency "standard", "~> 1.39", ">= 1.39.1"
3435
end

spec/rails_tracepoint_stack/log_formatter_spec.rb

+21-21
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,66 @@
1-
require 'spec_helper'
2-
require 'json'
1+
require "spec_helper"
2+
require "json"
33

44
RSpec.describe RailsTracepointStack::LogFormatter do
55
let(:trace_double) do
6-
instance_double(RailsTracepointStack::Trace,
7-
class_name: "MyClass",
8-
method_name: :my_method,
9-
file_path: "/path/to/file.rb",
10-
line_number: 42,
11-
params: { key: 'value' })
6+
instance_double(RailsTracepointStack::Trace,
7+
class_name: "MyClass",
8+
method_name: :my_method,
9+
file_path: "/path/to/file.rb",
10+
line_number: 42,
11+
params: {key: "value"})
1212
end
1313

14-
describe '.message' do
15-
context 'when format is :json' do
14+
describe ".message" do
15+
context "when format is :json" do
1616
before do
1717
allow(RailsTracepointStack)
1818
.to receive_message_chain(:configuration, :log_format)
1919
.and_return(:json)
2020
end
2121

22-
it 'returns a JSON formatted string' do
22+
it "returns a JSON formatted string" do
2323
expected_json = {
2424
class: "MyClass",
2525
method_name: :my_method,
2626
path: "/path/to/file.rb",
2727
line: 42,
28-
params: { key: 'value' }
28+
params: {key: "value"}
2929
}.to_json
3030

3131
expect(described_class.message(trace_double)).to eq(expected_json)
3232
end
3333
end
3434

35-
context 'when format is not :json' do
35+
context "when format is not :json" do
3636
before do
3737
allow(RailsTracepointStack)
38-
.to receive_message_chain(:configuration, :log_format)
39-
.and_return(nil)
38+
.to receive_message_chain(:configuration, :log_format)
39+
.and_return(nil)
4040
end
4141

42-
it 'returns a text formatted string' do
42+
it "returns a text formatted string" do
4343
expected_text = "called: MyClass#my_method in /path/to/file.rb:42 with params: {:key=>\"value\"}"
4444
expect(described_class.message(trace_double)).to eq(expected_text)
4545
end
4646
end
4747
end
4848

49-
describe '.text' do
50-
it 'returns a text formatted string' do
49+
describe ".text" do
50+
it "returns a text formatted string" do
5151
expected_text = "called: MyClass#my_method in /path/to/file.rb:42 with params: {:key=>\"value\"}"
5252
expect(described_class.text(trace_double)).to eq(expected_text)
5353
end
5454
end
5555

56-
describe '.json' do
57-
it 'returns a JSON formatted string' do
56+
describe ".json" do
57+
it "returns a JSON formatted string" do
5858
expected_json = {
5959
class: "MyClass",
6060
method_name: :my_method,
6161
path: "/path/to/file.rb",
6262
line: 42,
63-
params: { key: 'value' }
63+
params: {key: "value"}
6464
}.to_json
6565

6666
expect(described_class.json(trace_double)).to eq(expected_json)

spec/rails_tracepoint_stack/logger_spec.rb

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
require 'spec_helper'
2-
require 'fileutils'
1+
require "spec_helper"
2+
require "fileutils"
33

44
RSpec.describe RailsTracepointStack::Logger do
55
let(:log_message) { "This is a test log message." }
6-
let(:log_file_path) { 'log/rails_tracepoint_stack.log' }
6+
let(:log_file_path) { "log/rails_tracepoint_stack.log" }
77
context "when provide a custom logger" do
8-
let(:custom_logger) { double('Logger', info: true) }
8+
let(:custom_logger) { double("Logger", info: true) }
99
before do
1010
RailsTracepointStack.configure do |config|
1111
config.logger = custom_logger
1212
end
1313
end
14-
15-
it 'uses the custom logger to log the message' do
14+
15+
it "uses the custom logger to log the message" do
1616
described_class.log(log_message)
1717

1818
expect(custom_logger)
@@ -29,10 +29,10 @@
2929

3030
allow(File)
3131
.to receive(:open)
32-
.with('log/rails_tracepoint_stack.log', 'a')
32+
.with("log/rails_tracepoint_stack.log", "a")
3333
end
3434

35-
it 'logs the message to the default log file' do
35+
it "logs the message to the default log file" do
3636
described_class.log(log_message)
3737

3838
expect(File).to have_received(:open)

0 commit comments

Comments
 (0)