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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
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
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
200
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
170
GraphQL の onError と Nullability のこれから
quramy
0
210
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
420
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
320
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
190
Railsバージョンを4倍にした話
optim
0
1k
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
310
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
120
AI-Powered Domain-Driven Design
ziobrando
0
420
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
220
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
290
So, you think you're a good person
axbom
PRO
2
2.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
620
Bash Introduction
62gerente
615
220k
Scaling GitHub
holman
464
140k
Faster Mobile Websites
deanohume
310
32k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
510
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
520
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
Transcript
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