Bundler is the Best! BADCamp 2014 @dead_arm. http://bundler.io/ https://github.com/bundler/bundler.

  • Published on
    01-Apr-2015

  • View
    213

  • Download
    0

Embed Size (px)

Transcript

  • Slide 1

Bundler is the Best! BADCamp 2014 @dead_arm Slide 2 http://bundler.io/ https://github.com/bundler/bundler Slide 3 Manage the rubygems you need Bundler makes sure Ruby applications run the same code on every machine From https://github.com/bundler/bundlerhttps://github.com/bundler/bundler Slide 4 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/http://bundler.io/ Slide 5 These are a few of my favorite things! http://bplusmovieblog.files.wordpress.com/2013/10/the-sound-of-music- 25.png Slide 6 What can Bundler do for you? Slide 7 One developer, working on one project One developer, working on many projects One of many developers, working on one project One of many developers, working on many projects If you are... Slide 8 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 Slide 9 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! Slide 10 Recommendations State require/bundler in config.rb or set up a bash alias so that you dont have to type bundle exec Use chruby to manage your systems ruby version ( https://github.com/postmodern/chruby ) https://github.com/postmodern/chruby Add the ruby version your gems use to your Gemfile Slide 11 What does it look like? Slide 12 config.rb # Require Rubygems and Bundler require 'rubygems' require 'bundler/setup' # Require Sass and Compass require 'sass' require 'compass' # Require additional gems require '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 assets relative_assets = true # Disable debugging comments line_comments = false # Indented syntax preferred_syntax = :sass # Add cache buster asset_cache_buster :none Slide 13 3.3.0.rc.2" gem "compass", "~> 1.0.0.alpha.13" gem "b">3.3.0.rc.2" gem "compass", "~> 1.0.0.alpha.13" gem "breakpoint", "~> 2.4.0" gem "fontcustom", "~> 1.3.3"">3.3.0.rc.2" gem "compass", "~> 1.0.0.alpha.13" gem "b" title="Gemfile # Gemfile source "https://rubygems.org"https://rubygems.org ruby "2.0.0" gem "sass", "~> 3.3.0.rc.2" gem "compass", "~> 1.0.0.alpha.13" gem "b"> Gemfile # Gemfile source "https://rubygems.org"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" Slide 14 Gemfile.lock GEM 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) Slide 15 Thank You BADCamp 2014 @dead_arm