Skip to content

Commit 052f6f1

Browse files
committed
feat: bring the Result Option types to crystal
0 parents  commit 052f6f1

File tree

13 files changed

+1577
-0
lines changed

13 files changed

+1577
-0
lines changed

.ameba.yml

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
Style/ArrayLiteralSyntax:
2+
Enabled: false
3+
4+
Style/GuardClause:
5+
Enabled: false
6+
7+
Style/HashLiteralSyntax:
8+
Enabled: false
9+
10+
Style/HeredocEscape:
11+
Enabled: true
12+
13+
Style/HeredocIndent:
14+
Enabled: true
15+
IndentBy: 0
16+
17+
Style/IsAFilter:
18+
Enabled: false
19+
FilterNames:
20+
- select
21+
- reject
22+
- any?
23+
- all?
24+
- none?
25+
- one?
26+
27+
Style/IsANil:
28+
Enabled: true
29+
30+
Style/LargeNumbers:
31+
Enabled: true
32+
IntMinDigits: 5
33+
34+
Style/MultilineCurlyBlock:
35+
Enabled: false
36+
37+
Style/MultilineStringLiteral:
38+
Enabled: false
39+
AllowBackslashSplitStrings: false
40+
41+
Style/NegatedConditionsInUnless:
42+
Enabled: true
43+
44+
Style/ParenthesesAroundCondition:
45+
Enabled: true
46+
ExcludeTernary: true
47+
ExcludeMultiline: true
48+
AllowSafeAssignment: true
49+
50+
Style/PercentLiteralDelimiters:
51+
Enabled: true
52+
DefaultDelimiters: "()"
53+
PreferredDelimiters:
54+
"%w": "[]"
55+
"%W": "[]"
56+
"%i": "[]"
57+
"%I": "[]"
58+
"%r": "{}"
59+
"%x": "()"
60+
IgnoreLiteralsContainingDelimiters: false
61+
62+
Style/RedundantBegin:
63+
Enabled: true
64+
65+
Style/RedundantNext:
66+
Enabled: true
67+
AllowMultiNext: false
68+
AllowEmptyNext: true
69+
70+
Style/RedundantNilInControlExpression:
71+
Enabled: false
72+
73+
Style/RedundantReturn:
74+
Enabled: false
75+
76+
Style/RedundantSelf:
77+
Enabled: false
78+
AllowedMethodNames:
79+
- in?
80+
- inspect
81+
- not_nil!
82+
83+
Style/UnlessElse:
84+
Enabled: true
85+
86+
Style/VerboseBlock:
87+
Enabled: false
88+
ExcludeMultipleLineBlocks: true
89+
ExcludeCallsWithBlock: true
90+
ExcludePrefixOperators: true
91+
ExcludeOperators: true
92+
ExcludeSetters: false
93+
MaxLineLength: ~
94+
MaxLength: ~
95+
96+
Style/WhileTrue:
97+
Enabled: false
98+
99+
Lint/UnusedArgument:
100+
Enabled: false
101+
102+
Lint/UnusedBlockArgument:
103+
Enabled: false
104+
105+
Lint/ShadowingOuterLocalVar:
106+
Enabled: false
107+
108+
Naming/PredicateName:
109+
Enabled: false

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*.cr]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 2
9+
trim_trailing_whitespace = true

.github/workflows/matrix-test.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Matrix Test
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
push:
7+
branches:
8+
- master
9+
- dev
10+
11+
concurrency:
12+
group: ${{ github.sha }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
test:
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
crystal:
21+
- 1.0.0
22+
- latest
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Download source
26+
uses: actions/checkout@v4
27+
- name: Install Crystal
28+
uses: crystal-lang/install-crystal@v1
29+
with:
30+
crystal: ${{ matrix.crystal }}
31+
- name: Install shards
32+
run: shards update --ignore-crystal-version
33+
- name: Run tests
34+
run: crystal spec --verbose

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/docs/
2+
/lib/
3+
/bin/
4+
/.shards/
5+
*.dwarf
6+
7+
# Libraries don't need dependency lock
8+
# Dependencies will be locked in applications that use them
9+
/shard.lock
10+
*.rs

0 commit comments

Comments
 (0)