Skip to content

Commit c8fa14f

Browse files
committed
Initial commit
0 parents  commit c8fa14f

19 files changed

Lines changed: 719 additions & 0 deletions

.github/workflows/main.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Ruby
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
pull_request:
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
name: Ruby ${{ matrix.ruby }}
14+
strategy:
15+
matrix:
16+
ruby:
17+
- '3.0'
18+
- '3.1'
19+
- '3.2'
20+
- '3.3'
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Set up Ruby
25+
uses: ruby/setup-ruby@v1
26+
with:
27+
ruby-version: ${{ matrix.ruby }}
28+
bundler-cache: true
29+
30+
- name: Install dependencies
31+
run: bundle install
32+
33+
- name: Run linters
34+
run: bundle exec rubocop
35+
36+
- name: Run tests
37+
run: bundle exec rspec spec

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/.bundle/
2+
/.yardoc
3+
/_yardoc/
4+
/coverage/
5+
/doc/
6+
/pkg/
7+
/spec/reports/
8+
/tmp/
9+
10+
# rspec failure tracking
11+
.rspec_status

.rspec

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
--format documentation
2+
--color
3+
--require spec_helper

.rubocop.yml

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
plugins:
2+
- rubocop-performance
3+
- rubocop-rails
4+
- rubocop-rake
5+
- rubocop-rspec
6+
7+
AllCops:
8+
TargetRubyVersion: 3.0
9+
NewCops: enable
10+
11+
Rails:
12+
Enabled: true
13+
14+
Style/PercentLiteralDelimiters:
15+
PreferredDelimiters:
16+
"%i": "()"
17+
"%w": "()"
18+
"%r": "()"
19+
20+
Style/TrailingCommaInArrayLiteral:
21+
EnforcedStyleForMultiline: comma
22+
23+
Style/TrailingCommaInHashLiteral:
24+
EnforcedStyleForMultiline: comma
25+
26+
Style/TrailingCommaInArguments:
27+
EnforcedStyleForMultiline: comma
28+
29+
Style/MultilineBlockChain:
30+
Enabled: false
31+
32+
Style/Documentation:
33+
Enabled: false
34+
35+
Style/ModuleFunction:
36+
Enabled: false
37+
38+
Style/EachWithObject:
39+
Enabled: false
40+
41+
Style/CollectionMethods:
42+
Enabled: false
43+
44+
Style/ClassAndModuleChildren:
45+
Enabled: false
46+
47+
Style/DoubleNegation:
48+
Enabled: false
49+
50+
Style/HashEachMethods:
51+
Enabled: false
52+
53+
Style/HashTransformKeys:
54+
Enabled: false
55+
56+
Style/HashSyntax:
57+
Enabled: false
58+
59+
Style/HashTransformValues:
60+
Enabled: false
61+
62+
Style/NumberedParameters:
63+
Enabled: false
64+
65+
Style/NumericLiterals:
66+
Enabled: false
67+
68+
Style/ExponentialNotation:
69+
Enabled: true
70+
71+
Style/RedundantFetchBlock:
72+
Enabled: false
73+
74+
Style/CaseLikeIf:
75+
Enabled: false
76+
77+
Style/GuardClause:
78+
Enabled: false
79+
80+
Style/NumericPredicate:
81+
Enabled: false
82+
83+
Style/StringConcatenation:
84+
Enabled: false
85+
86+
Style/MinMaxComparison:
87+
Enabled: false
88+
89+
Style/OpenStructUse:
90+
Enabled: false
91+
92+
Style/MultilineTernaryOperator:
93+
Enabled: false
94+
95+
Style/NestedTernaryOperator:
96+
Enabled: false
97+
98+
Style/SafeNavigationChainLength:
99+
Enabled: false
100+
101+
Style/SymbolProc:
102+
Enabled: false
103+
104+
Layout/LineLength:
105+
Enabled: false
106+
107+
Layout/SpaceAroundMethodCallOperator:
108+
Enabled: true
109+
110+
Layout/FirstArrayElementIndentation:
111+
Enabled: false
112+
113+
Layout/ArrayAlignment:
114+
Enabled: false
115+
116+
Layout/IndentationWidth:
117+
Enabled: false
118+
119+
Layout/ElseAlignment:
120+
Enabled: false
121+
122+
Layout/EndAlignment:
123+
Enabled: false
124+
125+
Metrics/ClassLength:
126+
Enabled: false
127+
128+
Metrics/MethodLength:
129+
Max: 20
130+
Enabled: false
131+
132+
Metrics/AbcSize:
133+
Max: 40
134+
Enabled: false
135+
136+
Metrics/ModuleLength:
137+
Enabled: false
138+
139+
Metrics/ParameterLists:
140+
Enabled: false
141+
142+
Metrics/CyclomaticComplexity:
143+
Enabled: false
144+
145+
Metrics/PerceivedComplexity:
146+
Enabled: false
147+
148+
Metrics/BlockLength:
149+
Enabled: false
150+
151+
Performance/Casecmp:
152+
Enabled: false
153+
154+
Performance/TimesMap:
155+
Enabled: false
156+
157+
Performance/ChainArrayAllocation:
158+
Enabled: false
159+
160+
Lint/AmbiguousBlockAssociation:
161+
Enabled: false
162+
163+
Lint/RaiseException:
164+
Enabled: false
165+
166+
Lint/StructNewOverride:
167+
Enabled: false
168+
169+
Lint/MissingSuper:
170+
Enabled: false
171+
172+
Lint/UselessConstantScoping:
173+
Enabled: false
174+
175+
Naming/InclusiveLanguage:
176+
Enabled: false
177+
178+
Naming/PredicatePrefix:
179+
Enabled: false
180+
181+
Naming/PredicateMethod:
182+
Enabled: false
183+
184+
RSpec/MetadataStyle:
185+
Enabled: false
186+
187+
RSpec/MultipleExpectations:
188+
Enabled: false
189+
190+
RSpec/MatchArray:
191+
Enabled: false
192+
193+
RSpec/ContextWording:
194+
Enabled: false
195+
196+
RSpec/ExampleLength:
197+
Enabled: false
198+
199+
RSpec/MessageChain:
200+
Enabled: false
201+
202+
RSpec/VerifiedDoubles:
203+
Enabled: false
204+
205+
RSpec/NestedGroups:
206+
Enabled: false
207+
208+
RSpec/BeEq:
209+
Enabled: false
210+
211+
RSpec/NoExpectationExample:
212+
Enabled: false
213+
214+
RSpec/ClassCheck:
215+
Enabled: false
216+
217+
RSpec/BeNil:
218+
Enabled: false
219+
220+
RSpec/MultipleMemoizedHelpers:
221+
Enabled: false
222+
223+
RSpec/IdenticalEqualityAssertion:
224+
Enabled: false
225+
226+
Rails/ApplicationController:
227+
Enabled: false
228+
229+
Rails/WhereRange:
230+
Enabled: false
231+
232+
Rails/EnumSyntax:
233+
Enabled: true
234+
235+
Rails/EnumHash:
236+
Enabled: true

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## [Unreleased]
2+
3+
## [0.1.0] - 2025-07-19
4+
5+
- Initial release

0 commit comments

Comments
 (0)