bundler is the best

15
Bundle is th Best! BADCamp 2014 @dead_arm

Upload: deadarm

Post on 13-Jul-2015

251 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Bundler is the Best

Bundle! is th" Best!BADCamp 2014

@dead_arm

Page 3: Bundler is the Best

Manage the rubygems you need…

“Bundler makes sure Ruby applications run the same code on every machine”

From https://github.com/bundler/bundler

Page 4: Bundler is the Best

and their dependencies!

“and Bundler makes it easy to make sure that your application has the dependencies it needs to start up and run without errors.”From http://bundler.io/

Page 5: Bundler is the Best

These are a few of my

favorite things!

http://bplusmovieblog.files.wordpress.com/2013/10/the-sound-of-music-25.png

Page 6: Bundler is the Best

What can Bundle! do fo! you?

Page 7: Bundler is the Best

On" developer, working on on" project

On" developer, working on man# projects

On! of man" developers, working on on! project

On! of man" developers, working on man" projects

If you are...

Page 8: Bundler is the Best

Best Practices

Create one bundle per theme

Add gems to the Gemfile, not the Gemfile.lock

Include ALL the gems you are using on the theme in the bundle

Page 9: Bundler is the Best

Best Practices

Specify the version of the gem if you know which one you need, otherwise you can let Bundler handle it

Update gems using Bundler, not manually

Once you have the bundle set up, use it!

Page 10: Bundler is the Best

Recommendations

State “require/bundler” in config.rb or set up a bash alias so that you don’t have to type “bundle exec…”

Use “chruby” to manage your system’s ruby version (https://github.com/postmodern/chruby)

Add the ruby version your gems use to your Gemfile

Page 11: Bundler is the Best

What d$s it loo% lik"?

Page 12: Bundler is the Best

config.rb#  Require  Rubygems  and  Bundlerrequire  'rubygems'require  'bundler/setup'

#  Require  Sass  and  Compassrequire  'sass'require  'compass'

#  Require  additional  gemsrequire  'breakpoint'require  'fontcustom'

#  Set  this  to  the  root  of  your  project  when  deployed:http_path  =  '/'css_dir  =  'css'sass_dir  =  'sass'fonts_dir  =  'fonts'images_dir  =  'images'javascripts_dir  =  'js'

#  Enable  relative  paths  to  assetsrelative_assets  =  true

#  Disable  debugging  commentsline_comments  =  false

#  Indented  syntaxpreferred_syntax  =  :sass

#  Add  cache  busterasset_cache_buster  :none

Page 13: Bundler is the Best

Gemfile

#  Gemfilesource  "https://rubygems.org"ruby  "2.0.0"

gem  "sass",  "~>  3.3.0.rc.2"gem  "compass",  "~>  1.0.0.alpha.13"gem  "breakpoint",  "~>  2.4.0"gem  "fontcustom",  "~>  1.3.3"

Page 14: Bundler is the Best

Gemfile.lockGEM    remote:  https://rubygems.org/    specs:        breakpoint  (2.4.0)            compass  (~>  1.0.0.alpha.13)            sass  (~>  3.3.0.rc.2)            sassy-­‐maps  (<  1.0.0)        chunky_png  (1.2.9)        compass  (1.0.0.alpha.17)            chunky_png  (~>  1.2)            compass-­‐core  (~>  1.0.0.alpha.16)            compass-­‐import-­‐once  (~>  1.0.1)            json            listen  (~>  1.1.0)            sass  (~>  3.3.0.rc.1)        compass-­‐core  (1.0.0.alpha.16)            multi_json  (~>  1.0)            sass  (>=  3.3.rc.1)        compass-­‐import-­‐once  (1.0.1)        ffi  (1.9.3)        fontcustom  (1.3.3)            json  (~>  1.4)            listen  (~>  1.0)            thor  (~>  0.14)        json  (1.8.1)        listen  (1.1.6)            rb-­‐fsevent  (>=  0.9.3)            rb-­‐inotify  (>=  0.9)            rb-­‐kqueue  (>=  0.2)        multi_json  (1.8.2)        rb-­‐fsevent  (0.9.3)        rb-­‐inotify  (0.9.3)            ffi  (>=  0.5.0)        rb-­‐kqueue  (0.2.0)            ffi  (>=  0.5.0)        sass  (3.3.0.rc.2)            listen  (~>  1.1.0)        sassy-­‐maps  (0.3.1)            compass  (~>  1.0.0.alpha.13)            sass  (~>  3.3.0.rc.2)        thor  (0.19.1)

PLATFORMS    ruby

DEPENDENCIES    breakpoint  (~>  2.4.0)    compass  (~>  1.0.0.alpha.13)    fontcustom  (~>  1.3.3)    sass  (~>  3.3.0.rc.2)

Page 15: Bundler is the Best

Than# YouBADCamp 2014

@dead_arm