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
76
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
5 Favorite Gems
A lightning talk delivered to the February BostonRB project night.
Dan Pickett
February 06, 2013
More Decks by Dan Pickett
See All by Dan Pickett
The Rails Engine That Could
dpickett
2
610
Introduction to JavaScript and JQuery
dpickett
2
190
Other Decks in Technology
See All in Technology
8bit CPU 2026
koba789
6
2.2k
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
240
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
560
Oracle MCP Servers Explained
thatjeffsmith
0
350
LanceDB入門
mocobeta
9
660
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
5
760
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
180
SmartHR Engineering Team Deck
smarthr
1
3.2k
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
200
私がブラウザを自作したくなった理由
supurazako
1
280
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
290
AIのためのEthernet技術動向 (SerDes)
markunet
1
270
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
How to Talk to Developers About Accessibility
jct
2
520
Rails Girls Zürich Keynote
gr2m
96
14k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
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