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
770
0
Share
RaaP
ksss
May 08, 2024
More Decks by ksss
See All by ksss
Railsの型ファイル自動生成における課題と解決
ksss
4
5.4k
RBS generation framework using Rack architecture
ksss
1
7.8k
mrubyでruby/specを走らせてみた結果www
ksss
1
2.6k
Rubyに型があると便利か
ksss
4
4.8k
A New Testing Framework Rgot
ksss
0
1.3k
mruby hacking guide
ksss
7
2k
Other Decks in Programming
See All in Programming
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.4k
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
140
ふつうのFeature Flag実践入門
irof
7
3.4k
さぁV100、メモリをお食べ・・・
nilpe
0
120
Swiftのレキシカルスコープ管理
kntkymt
0
210
Inspired By RubyKaigi (EN)
atzzcokek
0
460
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.3k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
11
3.1k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
430
net-httpのHTTP/2対応について
naruse
0
390
関係性から理解する"同一性"の型用語たち
pvcresin
2
620
LLM Plugin for Node-REDの利用方法と開発について
404background
0
150
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
Scaling GitHub
holman
464
140k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
710
Practical Orchestrator
shlominoach
191
11k
Bash Introduction
62gerente
615
210k
Automating Front-end Workflow
addyosmani
1370
210k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Writing Fast Ruby
sferik
630
63k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
150
Technical Leadership for Architectural Decision Making
baasie
3
380
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
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