88
VOLODYA SVEREDYUK Ruby | Rails Dev facebook.com/sver edyuk twitter.com/svere dyuk github.com/sveredy uk

Building Component Based Rails Applications. Part 2

Embed Size (px)

Citation preview

Page 1: Building Component Based Rails Applications. Part 2

VOLODYA SVEREDYUKRuby | Rails Dev

facebook.com/sveredyuktwitter.com/sveredyuk

github.com/sveredyuk

Page 2: Building Component Based Rails Applications. Part 2

I

Page 3: Building Component Based Rails Applications. Part 2

11

Page 4: Building Component Based Rails Applications. Part 2
Page 5: Building Component Based Rails Applications. Part 2
Page 6: Building Component Based Rails Applications. Part 2
Page 7: Building Component Based Rails Applications. Part 2
Page 8: Building Component Based Rails Applications. Part 2
Page 9: Building Component Based Rails Applications. Part 2
Page 10: Building Component Based Rails Applications. Part 2
Page 11: Building Component Based Rails Applications. Part 2
Page 12: Building Component Based Rails Applications. Part 2
Page 13: Building Component Based Rails Applications. Part 2
Page 14: Building Component Based Rails Applications. Part 2
Page 15: Building Component Based Rails Applications. Part 2
Page 16: Building Component Based Rails Applications. Part 2
Page 17: Building Component Based Rails Applications. Part 2

NEWMEGA

FEATURE

Page 18: Building Component Based Rails Applications. Part 2

rails new my-new-awesome-app

Page 19: Building Component Based Rails Applications. Part 2
Page 20: Building Component Based Rails Applications. Part 2

ME

Page 21: Building Component Based Rails Applications. Part 2

SAMURAILS.COM LEANPUB.COM/CBRA

Page 22: Building Component Based Rails Applications. Part 2

MODULAR RAILS

Page 23: Building Component Based Rails Applications. Part 2

RAILSENGINE

Page 24: Building Component Based Rails Applications. Part 2

RAILS APP

CONTROLLERMODEL VIEW

RAILS ENGINE

CONTROLLER

MODEL VIEW

RAILS ENGINE

VIEW

CONTROLLER

Page 25: Building Component Based Rails Applications. Part 2

DEVISESPREEFOREMPUBLIFY

Page 26: Building Component Based Rails Applications. Part 2

Rails::Engine.subclasses

Page 27: Building Component Based Rails Applications. Part 2
Page 28: Building Component Based Rails Applications. Part 2
Page 29: Building Component Based Rails Applications. Part 2
Page 30: Building Component Based Rails Applications. Part 2

PIVORAK

COREEVENTS TALKS

Page 31: Building Component Based Rails Applications. Part 2

rails new pivorak

cd pivorak

rm -rf app

Page 32: Building Component Based Rails Applications. Part 2

rails plugin new core --mountable

mkdir components

mv core components/

Page 33: Building Component Based Rails Applications. Part 2
Page 34: Building Component Based Rails Applications. Part 2

NAMESPACE

Page 35: Building Component Based Rails Applications. Part 2

ENGINE

Page 36: Building Component Based Rails Applications. Part 2

GEMFILE

Page 37: Building Component Based Rails Applications. Part 2
Page 38: Building Component Based Rails Applications. Part 2

MOUNT

Page 39: Building Component Based Rails Applications. Part 2

RAILS SERVER

Page 40: Building Component Based Rails Applications. Part 2

ROUTES

Page 41: Building Component Based Rails Applications. Part 2

HOME_CONTROLLER

Page 42: Building Component Based Rails Applications. Part 2

VIEWS

Page 43: Building Component Based Rails Applications. Part 2

HELLO, PIVORAK!

Page 44: Building Component Based Rails Applications. Part 2

LAYOUT

Page 45: Building Component Based Rails Applications. Part 2

ROUTES WORKAROUND

Page 46: Building Component Based Rails Applications. Part 2

FIX DEVISE

Page 47: Building Component Based Rails Applications. Part 2

APPEND MIGRATIONS

Page 48: Building Component Based Rails Applications. Part 2

cd ../..

rails db:migrate

Page 49: Building Component Based Rails Applications. Part 2

CORE DONE

Page 50: Building Component Based Rails Applications. Part 2

PIVORAK

COREEVENTS

Page 51: Building Component Based Rails Applications. Part 2

DEFACE

Page 52: Building Component Based Rails Applications. Part 2

rails g modular:engine components/events

--namespace=Pivorak

cd components/events

rm -rf app/views/layouts

Page 53: Building Component Based Rails Applications. Part 2

.GEMSPEC

Page 54: Building Component Based Rails Applications. Part 2

CORE DEPENDENCY

Page 55: Building Component Based Rails Applications. Part 2

FIX ROUTES

Page 56: Building Component Based Rails Applications. Part 2
Page 57: Building Component Based Rails Applications. Part 2

SCOPE MODULE

Page 58: Building Component Based Rails Applications. Part 2

MODEL

Page 59: Building Component Based Rails Applications. Part 2

MIGRATION

Page 60: Building Component Based Rails Applications. Part 2

CONTROLLER

Page 61: Building Component Based Rails Applications. Part 2

VIEWS

Page 62: Building Component Based Rails Applications. Part 2

FORM

Page 63: Building Component Based Rails Applications. Part 2

OVERRIDES

Page 64: Building Component Based Rails Applications. Part 2

OVERRIDES

Page 65: Building Component Based Rails Applications. Part 2

OVERRIDES

Page 66: Building Component Based Rails Applications. Part 2

GEMFILE

Page 67: Building Component Based Rails Applications. Part 2

+ EVENTS

Page 68: Building Component Based Rails Applications. Part 2

PIVORAK

COREEVENTS TALKS

Page 69: Building Component Based Rails Applications. Part 2

NEW COMPONENT

Page 70: Building Component Based Rails Applications. Part 2

OPTIONAL BELONGS_TO

Page 71: Building Component Based Rails Applications. Part 2

OPTIONAL OVERRIDE

Page 72: Building Component Based Rails Applications. Part 2

.AVAILABLE?

Page 73: Building Component Based Rails Applications. Part 2

FINDER

Page 74: Building Component Based Rails Applications. Part 2

WITH TALKS

Page 75: Building Component Based Rails Applications. Part 2

REMOVE TALKS

Page 76: Building Component Based Rails Applications. Part 2

WITHOUT TALKS

Page 77: Building Component Based Rails Applications. Part 2

TALKS, WITHOUT EVENTS ?

Page 78: Building Component Based Rails Applications. Part 2

EASY!

Page 79: Building Component Based Rails Applications. Part 2

AGAIN WITH TALKS

Page 80: Building Component Based Rails Applications. Part 2

SPECS?

Page 81: Building Component Based Rails Applications. Part 2

SVEREDYUK/MODULAR-PIVORAK

Page 82: Building Component Based Rails Applications. Part 2

WHAT’S NEXT?

Page 83: Building Component Based Rails Applications. Part 2

PIVORAK

COREEVENTS TALKS

COMMUNITY DONATIONS SURVEYS DISCUSSION

Page 84: Building Component Based Rails Applications. Part 2

FLEXIBILITYSCALABILITYREUSABILITYISOLATION

ADVENTURE

PROS

Page 85: Building Component Based Rails Applications. Part 2

NAMESPACESWORKAROUNDS

SLOW DEVELOPMENTNO HELP

COMPLEXITY

CONS

Page 86: Building Component Based Rails Applications. Part 2

WEB STUDIOSCOMMERCIAL GEMS

ENTERPRISE SOLUTIONS

WHO & HOW

Page 87: Building Component Based Rails Applications. Part 2

QUESTIONS ?

Page 88: Building Component Based Rails Applications. Part 2