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
dry-validations
Search
Krzysztof Wawer
September 23, 2016
Programming
0
150
dry-validations
Krzysztof Wawer
September 23, 2016
Tweet
Share
More Decks by Krzysztof Wawer
See All by Krzysztof Wawer
The Good Architecture
wafcio
0
580
GIT - Good Practices
wafcio
0
60
Slim Ruby on Rails: Controllers & Middlewares
wafcio
1
150
Dry System
wafcio
0
93
Validations in Ruby
wafcio
0
160
Generating a CSV file with ROM
wafcio
0
280
Trailblazer bez trailblazera
wafcio
0
200
ActiveRecord, DataMapper czy Agregacja encji
wafcio
0
150
Jak (nie) używać Service Object
wafcio
0
180
Other Decks in Programming
See All in Programming
Vibe Coding の話をしよう
schroneko
12
3.6k
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
3
1.4k
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
690
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
6
1.3k
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
100
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
110
エンジニアが挑む、限界までの越境
nealle
1
310
カウシェで Four Keys の改善を試みた理由
ike002jp
1
120
Serving TUIs over SSH with Go
caarlos0
0
480
Instrumentsを使用した アプリのパフォーマンス向上方法
hinakko
0
220
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
1.2k
Road to RubyKaigi: Making Tinny Chiptunes with Ruby
makicamel
4
530
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Designing for humans not robots
tammielis
253
25k
A designer walks into a library…
pauljervisheath
205
24k
How to train your dragon (web standard)
notwaldorf
91
6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Navigating Team Friction
lara
185
15k
We Have a Design System, Now What?
morganepeng
52
7.5k
For a Future-Friendly Web
brad_frost
177
9.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
Krzysztof (Christopher) Wawer @wafcio about.me/kwawer
Our API • Roda • ROM (Ruby Object Mapper) •
JSON API standard (http://jsonapi.org)
{ price: 1000 } => { price: '1000' } /\d+/
dry-validation Piotr Solnica Andy Holland http://dry-rb.org/gems/dry-validation/
Community • 17 contributors • very active Gitter channel https://gitter.im/dry-rb/chat
• v0.10.1 • used in hanami-validations, reform
Strange and awesome things
Predicate Logic • and ( & ) • or (
| ) Dry::Validation.Schema do required(:age) { int? & gt?(18) } end
Optional Keys and Values { age: 30 } { name:
nil, age: 30 }
Nested data { name: "John", address: { street: "Main Street"
}, emails: ["john@example.com"] }
Shared schema Dry::Validation.Schema do required(:name).filled required(:address).schema(AddressSchema) end
dry-validation http://dry-rb.org/gems/dry-validation/
Thanks @wafcio about.me/kwawer