Skip to content

Commit 2566c10

Browse files
-- adding RuboCop with zero-offence baseline
1 parent d79fc2e commit 2566c10

3 files changed

Lines changed: 70 additions & 1 deletion

File tree

.rubocop.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
plugins:
2+
- rubocop-rspec
3+
4+
AllCops:
5+
TargetRubyVersion: 3.1
6+
NewCops: enable
7+
SuggestExtensions: false
8+
Exclude:
9+
- "vendor/**/*"
10+
- "*.gemspec"
11+
12+
# Codebase consistently uses double-quoted strings (matches ruby-openai style)
13+
Style/StringLiterals:
14+
EnforcedStyle: double_quotes
15+
16+
Style/StringLiteralsInInterpolation:
17+
EnforcedStyle: double_quotes
18+
19+
# Line length — 120 is comfortable for gem code
20+
Layout/LineLength:
21+
Max: 120
22+
23+
# Documentation handled separately in C3 (YARD)
24+
Style/Documentation:
25+
Enabled: false
26+
27+
# resume has 7 keyword args by API design — cannot reduce without breaking the interface
28+
Metrics/ParameterLists:
29+
Max: 7
30+
31+
# Allow longer methods in specs (stubs + setup)
32+
Metrics/MethodLength:
33+
Max: 15
34+
Exclude:
35+
- "spec/**/*"
36+
37+
Metrics/BlockLength:
38+
Exclude:
39+
- "spec/**/*"
40+
41+
# Frozen string literal already enforced in every file
42+
Style/FrozenStringLiteralComment:
43+
Enabled: true
44+
EnforcedStyle: always
45+
46+
# ruby-crewai.rb is an intentional hyphenated require shim — not a naming error
47+
Naming/FileName:
48+
Exclude:
49+
- "lib/ruby-crewai.rb"
50+
51+
# Faraday builder blocks are naturally complex — this is unavoidable
52+
Metrics/AbcSize:
53+
Exclude:
54+
- "lib/crewai/http.rb"
55+
56+
# rubocop-rspec expects crew_ai/ but our module namespace is crewai/ (no underscore)
57+
RSpec/SpecFilePathFormat:
58+
Enabled: false
59+
60+
# RSpec
61+
RSpec/MultipleExpectations:
62+
Max: 3
63+
64+
RSpec/ExampleLength:
65+
Max: 15

ruby-crewai.gemspec

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,6 @@ Gem::Specification.new do |spec|
2828
spec.add_development_dependency "rake", "~> 13.0"
2929
spec.add_development_dependency "rspec", "~> 3.0"
3030
spec.add_development_dependency "webmock", "~> 3.0"
31+
spec.add_development_dependency "rubocop", "~> 1.0"
32+
spec.add_development_dependency "rubocop-rspec", "~> 3.0"
3133
end

spec/crewai/client/kickoff_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,9 @@
189189
end
190190

191191
it "raises CrewAI::AuthenticationError with the server message" do
192-
expect { client.kickoff(inputs: { "topic" => "AI" }) }.to raise_error(CrewAI::AuthenticationError, /Unauthorized/)
192+
expect do
193+
client.kickoff(inputs: { "topic" => "AI" })
194+
end.to raise_error(CrewAI::AuthenticationError, /Unauthorized/)
193195
end
194196
end
195197

0 commit comments

Comments
 (0)