Skip to content

Commit c92fc42

Browse files
lanbytescursoragent
andcommitted
Add Speakeasy-generated TwexAPI Ruby SDK.
Give Ruby apps the same typed search, follower, DM, and automation surface as the TypeScript SDK, with GitHub Actions ready to publish the gem. Co-authored-by: Cursor <cursoragent@cursor.com>
0 parents  commit c92fc42

707 files changed

Lines changed: 57900 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# This allows generated code to be indexed correctly
2+
*.rb linguist-generated=false
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Generate
2+
permissions:
3+
checks: write
4+
contents: write
5+
pull-requests: write
6+
statuses: write
7+
on:
8+
workflow_dispatch:
9+
inputs:
10+
force:
11+
description: Force generation of SDKs
12+
type: boolean
13+
default: false
14+
set_version:
15+
description: Optional version to force for generation
16+
type: string
17+
schedule:
18+
- cron: 0 0 * * *
19+
jobs:
20+
generate:
21+
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
22+
with:
23+
speakeasy_version: latest
24+
force: ${{ github.event.inputs.force }}
25+
mode: pr
26+
set_version: ${{ github.event.inputs.set_version }}
27+
secrets:
28+
github_access_token: ${{ secrets.GITHUB_TOKEN }}
29+
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
30+
rubygems_auth_token: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}

.github/workflows/sdk_publish.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Publish
2+
permissions:
3+
checks: write
4+
contents: write
5+
pull-requests: write
6+
statuses: write
7+
on:
8+
push:
9+
branches:
10+
- main
11+
paths:
12+
- .speakeasy/gen.lock
13+
workflow_dispatch:
14+
jobs:
15+
publish:
16+
uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v15
17+
with:
18+
create_release: true
19+
secrets:
20+
github_access_token: ${{ secrets.GITHUB_TOKEN }}
21+
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
22+
rubygems_auth_token: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
*.gem
2+
.rbenv-gemsets
3+
.DS_Store
4+
**/.speakeasy/temp/
5+
**/.speakeasy/logs/
6+
.speakeasy/reports
7+
bin/
8+
sorbet/rbi
9+
.env
10+
.env.local

.rubocop-strict.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
inherit_from: .rubocop.yml
2+
3+
# Re-enable Style/StringLiterals for strict linting (e.g. internal CI).
4+
# The base .rubocop.yml disables this rule so customers with single-quote
5+
# conventions aren't broken. Use RUBOCOP_OPTS="--config .rubocop-strict.yml"
6+
# to opt in to enforcement.
7+
Style/StringLiterals:
8+
Enabled: true
9+
EnforcedStyle: double_quotes
10+
Exclude:
11+
- Gemfile
12+
- "*.gemspec"
13+
- lib/crystalline.rb
14+
- lib/crystalline/**/*
15+
- lib/**/sdk_hooks/**/*
16+
- sorbet/**/*

.rubocop.yml

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
plugins:
2+
- rubocop-minitest
3+
4+
AllCops:
5+
Exclude:
6+
- Rakefile
7+
- bin/**/*
8+
TargetRubyVersion: "3.2"
9+
Metrics:
10+
Enabled: false
11+
Style/IfInsideElse:
12+
Enabled: false
13+
# Temporary until Ruby deals with empty responses correctly
14+
Style/EmptyElse:
15+
Enabled: false
16+
Style/GuardClause:
17+
Enabled: false
18+
Style/ConditionalAssignment:
19+
Enabled: false
20+
Style/Documentation:
21+
Enabled: false
22+
Style/NegatedIf:
23+
Enabled: false
24+
Style/SoleNestedConditional:
25+
Enabled: false
26+
Style/AccessorGrouping:
27+
Enabled: false
28+
Layout/EndAlignment:
29+
EnforcedStyleAlignWith: start_of_line
30+
Enabled: false
31+
Layout/LineLength:
32+
Enabled: false
33+
Lint/EmptyConditionalBody:
34+
Enabled: false
35+
Lint/MissingSuper:
36+
Enabled: false
37+
Style/CaseLikeIf:
38+
Enabled: false
39+
#To eventually re-enable:
40+
Layout/EmptyLines:
41+
Enabled: false
42+
Layout/EmptyLinesAroundMethodBody:
43+
Enabled: false
44+
Layout/EmptyLineBetweenDefs:
45+
Enabled: false
46+
Layout/EmptyLineAfterGuardClause:
47+
Enabled: false
48+
Layout/EmptyLinesAroundModuleBody:
49+
Enabled: false
50+
Layout/MultilineBlockLayout:
51+
Enabled: false
52+
Lint/UnusedMethodArgument:
53+
Enabled: false
54+
Layout/TrailingWhitespace:
55+
Enabled: false
56+
Style/IfUnlessModifier:
57+
Enabled: false
58+
Naming/AccessorMethodName:
59+
Enabled: false
60+
Naming/MethodParameterName:
61+
Enabled: false
62+
Layout/SpaceInsideHashLiteralBraces:
63+
Enabled: false
64+
Layout/FirstHashElementIndentation:
65+
Enabled: false
66+
Style/TrailingCommaInHashLiteral:
67+
Enabled: false
68+
Style/TrailingCommaInArrayLiteral:
69+
Enabled: false
70+
Layout/EmptyLinesAroundBlockBody:
71+
Enabled: false
72+
Layout/EmptyLinesAroundClassBody:
73+
Enabled: false
74+
Style/WordArray:
75+
Enabled: false
76+
Style/RedundantReturn: # https://github.com/rubocop/rubocop/issues/12394
77+
Enabled: false
78+
Style/RedundantAssignment:
79+
Enabled: false
80+
Lint/LiteralAsCondition:
81+
Enabled: false
82+
Naming/VariableNumber:
83+
Enabled: false
84+
# rubyfmt enforces double quotes on generated code, but customer-authored files
85+
# (sdk_hooks, tests, etc.) may use single quotes, so we don't enforce this rule.
86+
Style/StringLiterals:
87+
Enabled: false
88+
Style/BlockDelimiters:
89+
Enabled: false
90+
Style/MultilineTernaryOperator:
91+
Enabled: false
92+
Layout/EmptyLinesAroundExceptionHandlingKeywords:
93+
Enabled: false
94+
Style/EmptyMethod:
95+
Enabled: false
96+
Layout/MultilineOperationIndentation:
97+
Enabled: false
98+
Layout/MultilineMethodCallIndentation:
99+
Enabled: false
100+
Layout/SpaceInLambdaLiteral:
101+
Enabled: false
102+
Layout/FirstArgumentIndentation:
103+
Enabled: false
104+
Layout/FirstArrayElementIndentation:
105+
EnforcedStyle: consistent

.ruby-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.2.0

.speakeasy/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
logs/
2+
temp/
3+
reports/

0 commit comments

Comments
 (0)