Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Lotus: because sometimes you need to reinvent t...
Search
Arjan van der Gaag
July 08, 2015
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lotus: because sometimes you need to reinvent the wheel
Arjan van der Gaag
July 08, 2015
Transcript
16 slides
lotus sometimes you need to reinvent the wheel
Arjan van der Gaag @avdgaag brightin
Lotus is a Ruby MVC web framework comprised of many
micro-libraries. It has a simple, stable API, a minimal DSL, and prioritises the use of plain objects over magical, over- complicated classes with too much responsibility.
standalone frameworks
standalone frameworks to build full-stack applications
from small endpoints… require 'bundler/setup' require 'lotus/router' run Lotus::Router.new {
get '/', to: ->(env) { [200, {}, ['Hello, world'] } }
…to containers
some conventions
some conventions many objects
some conventions many objects no monkey patches
simplicity > convenience
testable class Show include Lotus::Action expose :book def initialize(repository: BookRepository)
@repository = repository end def call(params) @book = @repository.find params[:id] end end
focus on maintenance
writing Ruby is fun
Guides and docs at lotusrb.org
@avdgaag arjanvandergaag.nl
More Decks by Arjan van der Gaag
See All by Arjan van der Gaag
How to Lead a Team by Doing Nothing
avdgaag
8
950
Getting to know Elm
avdgaag
0
190
Beating Impostor Syndrome (NordicRuby 2016)
avdgaag
0
110
Hanami: because sometimes, you need to re-invent the wheel
avdgaag
2
630
Use your database for… Validations! Caching! Logic!
avdgaag
0
130
Web development that hurts even less: taking lessons from Rails
avdgaag
1
400
Ruby acting up: A look at how Celluloid implements the actor model for concurrency in Ruby.
avdgaag
0
360
Ecto: a database wrapper and language integrated query for Elixir
avdgaag
0
510
Using Awk: An old-school text processing tool with surprising versatility
avdgaag
1
470
Other Decks in Programming
See All in Programming
Getting Started with Vibe Coding
miccheng
0
220
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
300
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
180
Distance field of Julia set
kinakomoti321
0
320
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
630
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
3
300
オーケストレーション記述言語 Katari
yukikurage
0
250
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
340
Secure Your Coding Agent Like It’s Malware (v1.5) 🇬🇧 @Code.talks 2026
richargh
0
140
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.6k
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
170
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
500
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The SEO identity crisis: Don't let AI make you average
varn
0
630
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
Building an army of robots
kneath
307
47k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
900
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
380
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Test your architecture with Archunit
thirion
2
2.5k
Color Theory Basics | Prateek | Gurzu
gurzu
1
520
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k