bundler is the best
TRANSCRIPT
Bundle! is th" Best!BADCamp 2014
@dead_arm
http://bundler.io/
https://github.com/bundler/bundler
Manage the rubygems you need…
“Bundler makes sure Ruby applications run the same code on every machine”
From https://github.com/bundler/bundler
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/
These are a few of my
favorite things!
http://bplusmovieblog.files.wordpress.com/2013/10/the-sound-of-music-25.png
What can Bundle! do fo! you?
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...
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
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!
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
What d$s it loo% lik"?
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
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"
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)
Than# YouBADCamp 2014
@dead_arm