Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
5 Favorite Gems
Search
Dan Pickett
February 06, 2013
Technology
2
64
5 Favorite Gems
A lightning talk delivered to the February BostonRB project night.
Dan Pickett
February 06, 2013
Tweet
Share
More Decks by Dan Pickett
See All by Dan Pickett
The Rails Engine That Could
dpickett
2
580
Introduction to JavaScript and JQuery
dpickett
2
170
Other Decks in Technology
See All in Technology
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
500
VGGT: Visual Geometry Grounded Transformer
peisuke
1
570
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
350
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
22k
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
180
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
6
4.1k
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
190
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
120
Delta airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
deltahelp
0
1.1k
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
14
8.1k
「クラウドコスト絶対削減」を支える技術—FinOpsを超えた徹底的なクラウドコスト削減の実践論
delta_tech
4
180
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
130
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
How STYLIGHT went responsive
nonsquared
100
5.6k
Producing Creativity
orderedlist
PRO
346
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Visualization
eitanlees
146
16k
A designer walks into a library…
pauljervisheath
207
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Transcript
Custom Software, Simplified 5 Awesome Gems ...and some fun with
MemeGenerator Wednesday, February 6, 13
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
Custom Software, Simplified Some Favorites • inherited_resources • kaminari •
guard • configatron • bourbon Wednesday, February 6, 13
Custom Software, Simplified Inherited Resources Wednesday, February 6, 13
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
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
Custom Software, Simplified class AccountsController < ApplicationController respond_to :json
inherit_resources #gives you all RESTful actions for Account end Wednesday, February 6, 13
Custom Software, Simplified Kaminari Wednesday, February 6, 13
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
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
Custom Software, Simplified #in your controller @users = User.
page(params[:page]). per(50) #in your view <%= paginate @users %> Wednesday, February 6, 13
Custom Software, Simplified guard Wednesday, February 6, 13
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
Custom Software, Simplified Why Not? • Minor issue where guard
plugins can lag behind on dependencies Wednesday, February 6, 13
Custom Software, Simplified Configatron Wednesday, February 6, 13
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
Custom Software, Simplified Why Not? • nulls vs. blanks can
be confusing Wednesday, February 6, 13
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
Custom Software, Simplified Bourbon Wednesday, February 6, 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
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
Custom Software, Simplified http://bourbon.io Wednesday, February 6, 13
Custom Software, Simplified To Learn More... http://launchacademy.co The Fun Begins
May 1st Wednesday, February 6, 13
Custom Software, Simplified For More Gems... • Ignition, our rails
template is available • http://github.com/LaunchWare/ignition Wednesday, February 6, 13
Custom Software, Simplified Questions? Wednesday, February 6, 13