Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RaaP
Search
ksss
May 08, 2024
Programming
0
160
RaaP
ksss
May 08, 2024
Tweet
Share
More Decks by ksss
See All by ksss
Railsの型ファイル自動生成における課題と解決
ksss
4
3.7k
RBS generation framework using Rack architecture
ksss
0
6.4k
mrubyでruby/specを走らせてみた結果www
ksss
1
2.4k
Rubyに型があると便利か
ksss
4
4.3k
A New Testing Framework Rgot
ksss
0
1.2k
mruby hacking guide
ksss
7
1.7k
Other Decks in Programming
See All in Programming
ペパボOpenTelemetry革命
pyama86
2
1.2k
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
790
The Design of Everyday APIs - PyCon 2024
roguelynn
1
210
TypeScriptでもLLMアプリケーション開発 / LLM Application In Typescript
rkaga
5
1.3k
Jetpack Composeとデザインシステム
rmakiyama
0
240
Ruby on Fails - effective error handling with Rails conventions
talyssonoc
0
300
Powerfully Typed TypeScript
euxn23
4
1.7k
How to improve maintainability and readability of your automated tests? ( #scrumniigata )
teyamagu
PRO
1
130
一文字エイリアスのすすめ
fujimura
0
200
2024 コーディング研修
ckazu
2
670
otelcol receiver 自作RTA / Pepabo Tech Conference #22 春のSREまつり
arthur1
0
1.1k
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
2k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
GraphQLとの向き合い方2022年版
quramy
33
13k
Scaling GitHub
holman
457
140k
Rails Girls Zürich Keynote
gr2m
91
13k
Building Effective Engineering Teams - LeadDev
addyosmani
33
1.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
23
1.7k
A Modern Web Designer's Workflow
chriscoyier
689
190k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Why Our Code Smells
bkeepers
PRO
331
56k
Building Adaptive Systems
keathley
32
1.9k
Bash Introduction
62gerente
605
210k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
22
1.4k
Transcript
ksss Run your RBS like a testing code. RBS as
a Property
RBS as a Property ✒ RBS class MyClass def my_method:
(Integer, Integer) -> Integer end
RBS as a Property 🍎 Property 100.times do int1 =
Random.rand(100) int2 = Random.rand(100) result = MyClass.new.my_method(int1, int2) assert_kind_of Integer, result end
RBS as a Property ✒🍎
RBS as a Property Gener a te test c a
se by RBS And execute code a utom a tic a lly
https://github.com/ksss/raap This is the RaaP
Demo
Edit RBS (Add one overload) class MyClass def my_method: (Integer,
Integer) -> Integer | (Float, Float) -> Float end
You can run RBS instantly!
If the RBS is wrong? class MyClass def my_method: (Integer,
String) -> Integer end
It detects failures and also displays reproduction codes.
Support Union type class MyClass def my_method: (0 | 1
| 2, 3 | 4 | 5) -> Integer end
Choose one of the Unions and run it. With coverage!
RBS as a Property RaaP