Slide 1

Slide 1 text

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

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Gems from dry dry-web-roda - dry-rb.org - dry-auto_inject - dry-types - dry-system - dry-initializer - dry-monads - dry-core - dry-configurable - dry-struct - dry-validation - dry-transaction - dry-logic - dry-view - dry-container - dry-web - dry-system-rails - dry-system railtie - dry-matcher - dry-equalizer - dry-monitor - dry-pipeline

Slide 8

Slide 8 text

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

Slide 25

Slide 25 text

Thanks!