Building Component Based Rails Applications. Part 2

Preview:

Citation preview

VOLODYA SVEREDYUKRuby | Rails Dev

facebook.com/sveredyuktwitter.com/sveredyuk

github.com/sveredyuk

I

11

NEWMEGA

FEATURE

rails new my-new-awesome-app

ME

SAMURAILS.COM LEANPUB.COM/CBRA

MODULAR RAILS

RAILSENGINE

RAILS APP

CONTROLLERMODEL VIEW

RAILS ENGINE

CONTROLLER

MODEL VIEW

RAILS ENGINE

VIEW

CONTROLLER

DEVISESPREEFOREMPUBLIFY

Rails::Engine.subclasses

PIVORAK

COREEVENTS TALKS

rails new pivorak

cd pivorak

rm -rf app

rails plugin new core --mountable

mkdir components

mv core components/

NAMESPACE

ENGINE

GEMFILE

MOUNT

RAILS SERVER

ROUTES

HOME_CONTROLLER

VIEWS

HELLO, PIVORAK!

LAYOUT

ROUTES WORKAROUND

FIX DEVISE

APPEND MIGRATIONS

cd ../..

rails db:migrate

CORE DONE

PIVORAK

COREEVENTS

DEFACE

rails g modular:engine components/events

--namespace=Pivorak

cd components/events

rm -rf app/views/layouts

.GEMSPEC

CORE DEPENDENCY

FIX ROUTES

SCOPE MODULE

MODEL

MIGRATION

CONTROLLER

VIEWS

FORM

OVERRIDES

OVERRIDES

OVERRIDES

GEMFILE

+ EVENTS

PIVORAK

COREEVENTS TALKS

NEW COMPONENT

OPTIONAL BELONGS_TO

OPTIONAL OVERRIDE

.AVAILABLE?

FINDER

WITH TALKS

REMOVE TALKS

WITHOUT TALKS

TALKS, WITHOUT EVENTS ?

EASY!

AGAIN WITH TALKS

SPECS?

SVEREDYUK/MODULAR-PIVORAK

WHAT’S NEXT?

PIVORAK

COREEVENTS TALKS

COMMUNITY DONATIONS SURVEYS DISCUSSION

FLEXIBILITYSCALABILITYREUSABILITYISOLATION

ADVENTURE

PROS

NAMESPACESWORKAROUNDS

SLOW DEVELOPMENTNO HELP

COMPLEXITY

CONS

WEB STUDIOSCOMMERCIAL GEMS

ENTERPRISE SOLUTIONS

WHO & HOW

QUESTIONS ?

Recommended