Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5 Favorite Gems

Avatar for Dan Pickett Dan Pickett
February 06, 2013

5 Favorite Gems

A lightning talk delivered to the February BostonRB project night.

Avatar for Dan Pickett

Dan Pickett

February 06, 2013
Tweet

More Decks by Dan Pickett

Other Decks in Technology

Transcript

  1. Custom Software, Simplified Hi! • I’m Dan • Co-Organizer @

    BostonRB • Principal Consultant @ LaunchWare • Head of Instruction @ Launch Academy • dpickett on Twitter / GitHub/ everyHub Wednesday, February 6, 13
  2. Custom Software, Simplified Some Favorites • inherited_resources • kaminari •

    guard • configatron • bourbon Wednesday, February 6, 13
  3. Custom Software, Simplified Why? • Makes writing boilerplate controllers easier

    • Easy internationalization of flash text with the Responders gem • Easy API generation for JSON and XML Wednesday, February 6, 13
  4. Custom Software, Simplified Why Not? • Another DSL/Library to Learn

    • Can sometimes get in your way for nonstandard controller actions • Not good for beginners - feel the pain of repetition in your controllers, first Wednesday, February 6, 13
  5. Custom Software, Simplified class  AccountsController  <  ApplicationController    respond_to  :json

       inherit_resources  #gives  you  all  RESTful  actions  for  Account end Wednesday, February 6, 13
  6. Custom Software, Simplified Why? • Easily customizable/themed • great configuration

    options • awesome generators • Scope-Based • Doesn’t hack core objects • I18n ready for localization Wednesday, February 6, 13
  7. Custom Software, Simplified Why Not? • Other engines might express

    alternative decisions (refinery, ie) • Can be painful to paginate non-scope/ AREL collections Wednesday, February 6, 13
  8. Custom Software, Simplified #in  your  controller @users  =  User.  

     page(params[:page]).    per(50) #in your view <%= paginate @users %> Wednesday, February 6, 13
  9. Custom Software, Simplified Why? • Don’t constantly have to run

    tests manually • Invokes tests for files that change • Extensible plugin architecture • Extensible notification architecture Wednesday, February 6, 13
  10. Custom Software, Simplified Why Not? • Minor issue where guard

    plugins can lag behind on dependencies Wednesday, February 6, 13
  11. Custom Software, Simplified Why? • Easy, dynamic configuration for gems

    and applications • Configure via manual code, hash or YAML • Plays nicely with Rails Application configuration Wednesday, February 6, 13
  12. Custom Software, Simplified module  Facebook    def  self.secret_key=(key)    

       configatron.facebook.secret_key  =  key    end    def  self.secret_key        configatron.facebook.secret_key    end end Wednesday, February 6, 13
  13. Custom Software, Simplified Why? • Handy shortcuts for common CSS

    idioms • Beautiful documentation • Exposes you to lots of great/creative CSS uses Wednesday, February 6, 13
  14. Custom Software, Simplified Why Not? • Can be difficult to

    install/configure as part of the asset pipeline • You still need to be an informed consumer of experimental CSS features Wednesday, February 6, 13
  15. Custom Software, Simplified For More Gems... • Ignition, our rails

    template is available • http://github.com/LaunchWare/ignition Wednesday, February 6, 13