Skip to content

Commit 515a05c

Browse files
committed
ci: add ruby style check
1 parent e185685 commit 515a05c

File tree

4 files changed

+60
-8
lines changed

4 files changed

+60
-8
lines changed

.github/workflows/ruby-style.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Ruby Style Check
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths:
7+
- '**/*.rb'
8+
9+
jobs:
10+
style:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Set up Ruby
16+
uses: ruby/setup-ruby@v1
17+
with:
18+
ruby-version: '3.4'
19+
bundler-cache: true
20+
21+
- name: Install RuboCop and extensions
22+
run: |
23+
gem install rubocop
24+
gem install rubocop-rake
25+
gem install rubocop-rspec
26+
27+
- name: Run RuboCop
28+
continue-on-error: true
29+
run: rubocop

.rubocop.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
require:
2+
- rubocop-rake
3+
- rubocop-rspec
4+
5+
AllCops:
6+
NewCops: enable
7+
TargetRubyVersion: 3.4
8+
9+
Style/Documentation:
10+
Enabled: false
11+
12+
Layout/LineLength:
13+
Max: 120
14+
15+
Style/StringLiterals:
16+
EnforcedStyle: single_quotes
17+
18+
Style/FrozenStringLiteralComment:
19+
Enabled: true
20+
EnforcedStyle: always

2024/day1/part1.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def functional_style(input)
88

99
distance = sorted_lefts.zip(sorted_rights).sum { |left, right| (left - right).abs }
1010

11-
return distance
11+
distance
1212
end
1313

1414
def imperative_style(input)
@@ -18,7 +18,7 @@ def imperative_style(input)
1818
rights = []
1919

2020
for line in lines
21-
left, right = line.split(" ")
21+
left, right = line.split(' ')
2222
lefts << left.to_i
2323
rights << right.to_i
2424
end
@@ -30,13 +30,15 @@ def imperative_style(input)
3030
for i in 0..(lefts.length - 1)
3131
distance += (sorted_lefts[i] - sorted_rights[i]).abs
3232
end
33-
return distance
33+
34+
distance
3435
end
3536

3637
def solution(input)
3738
functional_result = functional_style(input)
3839
imperative_result = imperative_style(input)
3940
puts "Functional result: #{functional_result}"
4041
puts "Imparative result: #{imperative_result}"
41-
return functional_result
42+
43+
functional_result
4244
end

2024/day1/part2.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ def functional_style(input)
55

66
similarity = lefts.sum { |left| counts[left].to_i * left.to_i }
77

8-
return similarity
8+
similarity
99
end
1010

1111
def imperative_style(input)
@@ -15,7 +15,7 @@ def imperative_style(input)
1515
rights = Hash.new(0)
1616

1717
for line in lines
18-
left, right = line.split(" ")
18+
left, right = line.split(' ')
1919
lefts << left
2020
rights[right] += 1
2121
end
@@ -25,13 +25,14 @@ def imperative_style(input)
2525
similarity += left.to_i * rights[left]
2626
end
2727

28-
return similarity
28+
similarity
2929
end
3030

3131
def solution(input)
3232
functional_result = functional_style(input)
3333
imperative_result = imperative_style(input)
3434
puts "Functional result: #{functional_result}"
3535
puts "Imparative result: #{imperative_result}"
36-
return functional_result
36+
37+
functional_result
3738
end

0 commit comments

Comments
 (0)