dry-web
rails meeting
Gdansk - 12th Oct 2016
Michal Poczwardowski
[email protected]
@dmp
Slide 2
Slide 2 text
dry-web 0.5.0
Lightweight web application stack with
pluggable routing front-ends…
Slide 3
Slide 3 text
“Programmers at
work maintaining a
Ruby on Rails
application"
http://classicprogrammerpaintings.com/post/1427
37403879/programmers-at-work-maintaining-a-r
uby-on-rails
Slide 4
Slide 4 text
dry-web
dry-rb + rom-rb + roda
Slide 5
Slide 5 text
dry-rb
dry-rb is a collection of next-generation
Ruby libraries, each intended to
encapsulate a common task
rom
Ruby Object Mapper (ROM) is a Ruby
persistence library with the goal to
provide powerful object mapping
capabilities without limiting the full power
of your datastore.
Slide 9
Slide 9 text
rom exists to:
● Isolate the application from persistence details
● Provide minimum infrastructure for mapping and
persistence
● Provide shared abstractions for lower-level
components
● Provide simple use of the underlying datastore
when desired
Slide 10
Slide 10 text
roda
Roda is a routing tree web toolkit, with
the primary goals of simplicity, reliability,
extensibility, and performance.
Slide 11
Slide 11 text
gem install dry-web-roda
dry-web-roda new appname
Slide 12
Slide 12 text
Structure
Slide 13
Slide 13 text
Working app
https://www.icelab.com.au/
https://github.com/icelab/berg
Slide 14
Slide 14 text
Code samples - starting from routing (roda)
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
So… next project in
dry-web? No
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
Not yet
but...
+change positive architecture+
+designed for domain+
+small components -> easy focus+
+easy to understand, reuse, test+
Slide 24
Slide 24 text
Resources
Dry-rb: http://dry-rb.org
Dry-web presentation: http://dry-rb.org/resources/reddotrubyconf-2016/
The running app: https://github.com/icelab/berg