merb presentation

28
merb “came for Rails, stayed for Ruby”

Upload: gueste4d7fc

Post on 18-May-2015

1.339 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Merb Presentation

merb“came for Rails,stayed for Ruby”

Page 2: Merb Presentation

/whois merb

•MVC web framework

•kinda like rails

•ezmobius & wycats

•started as a hack

Page 3: Merb Presentation
Page 4: Merb Presentation

•http://pastie.org/14416

•3 parts: core, more, plugins

•rack based

•thread safe

•less opinions

Page 5: Merb Presentation

•ORM agnostic

•view agnostic

•JS agnostic

•“no code is faster than no code”

Page 6: Merb Presentation

merb-core

•actionpack light

•routing, controllers, bootloader, rack

•merb-guts

Page 7: Merb Presentation

merb-more•the rest of actionpack, with a little activesupport

•merb-mailer, merb-haml, merb-action-args

•often useful, but not critical

Page 8: Merb Presentation

merb-plugins

•sometimes useful

•important enough, maintained by merb team

•merb_activerecord, merb_helpers, merb_test_unit

Page 9: Merb Presentation

0.9.Xthe great rewrite

Page 10: Merb Presentation

•merb started in ’06

•complete(ish) rewrite beginning Jan ’08

•moved to github

•defined public/private API’s

•rack support

Page 11: Merb Presentation

done right’s

Page 12: Merb Presentation

render/display

•what the action returns, the client is served

•explicit

•render a view

•display a resource

Page 13: Merb Presentation
Page 14: Merb Presentation
Page 15: Merb Presentation

merb-action-args

•allows an action to receive parameters as arguments

•uses ParseTree

Page 16: Merb Presentation
Page 17: Merb Presentation

regex routes

•complex routes that don’t always fit the slash as a separator pattern

•routing based on patterns rather than name arguments

Page 18: Merb Presentation
Page 19: Merb Presentation

merb && rspec•lots of custom helpers & matchers

•controller spec’ing is super easy

Page 20: Merb Presentation

•view matchers use Hpricot

Page 21: Merb Presentation

we ain’t got no rspec

•merb_test_unit

•works great with shoulda

•merb_stories

Page 22: Merb Presentation

distributed MVC•Aaron Wheeler documented it first in merb

•used in feather(blog) for plugin system

•Models, Views, Controllers in one package

Page 23: Merb Presentation

merb-slices

•Engines that suck less

•Implemented in the public API

•authentication slice: merb-auth, can_has_auth

•we like can_has_auth

Page 24: Merb Presentation

end•wiki.merbivore.com

•#merb on freenode

•merb on groups.google.com

•planet.merbivore.com

•Merb + DataMapper @ LSRC

(or is it)

Page 25: Merb Presentation

merb-cache

•almost ready, not yet

•fundamental store: MemcachedStore, FileStore

•strategy store: GzipStore, PageStore, ActionStore

Page 26: Merb Presentation
Page 27: Merb Presentation
Page 28: Merb Presentation

•Complex stores that implement advanced caching techniques

•agilewebdevelopment.com/plugins/action_cache

•www.igvita.com/2008/02/11/nginx-and-memcached-a-400-boost/