5 Awesome Gems                            ...and some fun with MemeGenerator                                              ...
Hi!                    • I’m Dan                     • Co-Organizer @ BostonRB                     • Principal Consultant ...
Some Favorites                    • inherited_resources                    • kaminari                    • guard          ...
Inherited Resources                                Custom Software, SimplifiedWednesday, February 6, 13
Why?                    • Makes writing boilerplate controllers                            easier                    • Eas...
Why Not?                    • Another DSL/Library to Learn                    • Can sometimes get in your way for         ...
class	  AccountsController	  <	  ApplicationController            	  	  respond_to	  :json            	  	  inherit_resour...
Kaminari                                       Custom Software, SimplifiedWednesday, February 6, 13
Why?                    • Easily customizable/themed                            •   great configuration options            ...
Why Not?                    • Other engines might express alternative                            decisions (refinery, ie)  ...
#in	  your	  controller             @users	  =	  User.             	  	  page(params[:page]).             	  	  per(50)   ...
guard                                    Custom Software, SimplifiedWednesday, February 6, 13
Why?                    • Don’t constantly have to run tests                            manually                    • Invo...
Why Not?                    • Minor issue where guard plugins can                            lag behind on dependencies   ...
Configatron                                         Custom Software, SimplifiedWednesday, February 6, 13
Why?                    • Easy, dynamic configuration for gems                            and applications                 ...
Why Not?                    • nulls vs. blanks can be confusing                                                          C...
module	  Facebook         	  	  def	  self.secret_key=(key)         	  	  	                    	  configatron.facebook.sec...
Bourbon                                      Custom Software, SimplifiedWednesday, February 6, 13
Why?                    • Handy shortcuts for common CSS                            idioms                    • Beautiful ...
Why Not?                    • Can be difficult to install/configure as                            part of the asset pipeline ...
http://bourbon.io                                                Custom Software, SimplifiedWednesday, February 6, 13
To Learn More...                               http://launchacademy.co                            The Fun Begins May 1st  ...
For More Gems...                    • Ignition, our rails template is available                            •   http://gith...
Questions?                                         Custom Software, SimplifiedWednesday, February 6, 13
Upcoming SlideShare
Loading in …5
×

5 Of Our Favorite Ruby Gems

1,018 views

Published on

A lightning talk presented as part of a series at BostonRB project night, February 6, 2013

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,018
On SlideShare
0
From Embeds
0
Number of Embeds
408
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

5 Of Our Favorite Ruby Gems

  1. 1. 5 Awesome Gems ...and some fun with MemeGenerator Custom Software, SimplifiedWednesday, February 6, 13
  2. 2. Hi! • I’m Dan • Co-Organizer @ BostonRB • Principal Consultant @ LaunchWare • Head of Instruction @ Launch Academy • dpickett on Twitter / GitHub/ everyHub Custom Software, SimplifiedWednesday, February 6, 13
  3. 3. Some Favorites • inherited_resources • kaminari • guard • configatron • bourbon Custom Software, SimplifiedWednesday, February 6, 13
  4. 4. Inherited Resources Custom Software, SimplifiedWednesday, February 6, 13
  5. 5. Why? • Makes writing boilerplate controllers easier • Easy internationalization of flash text with the Responders gem • Easy API generation for JSON and XML Custom Software, SimplifiedWednesday, February 6, 13
  6. 6. 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 Custom Software, SimplifiedWednesday, February 6, 13
  7. 7. class  AccountsController  <  ApplicationController    respond_to  :json    inherit_resources  #gives  you  all  RESTful  actions  for  Account end Custom Software, SimplifiedWednesday, February 6, 13
  8. 8. Kaminari Custom Software, SimplifiedWednesday, February 6, 13
  9. 9. Why? • Easily customizable/themed • great configuration options • awesome generators • Scope-Based • Doesn’t hack core objects • I18n ready for localization Custom Software, SimplifiedWednesday, February 6, 13
  10. 10. Why Not? • Other engines might express alternative decisions (refinery, ie) • Can be painful to paginate non-scope/ AREL collections Custom Software, SimplifiedWednesday, February 6, 13
  11. 11. #in  your  controller @users  =  User.    page(params[:page]).    per(50) #in your view <%= paginate @users %> Custom Software, SimplifiedWednesday, February 6, 13
  12. 12. guard Custom Software, SimplifiedWednesday, February 6, 13
  13. 13. Why? • Don’t constantly have to run tests manually • Invokes tests for files that change • Extensible plugin architecture • Extensible notification architecture Custom Software, SimplifiedWednesday, February 6, 13
  14. 14. Why Not? • Minor issue where guard plugins can lag behind on dependencies Custom Software, SimplifiedWednesday, February 6, 13
  15. 15. Configatron Custom Software, SimplifiedWednesday, February 6, 13
  16. 16. Why? • Easy, dynamic configuration for gems and applications • Configure via manual code, hash or YAML • Plays nicely with Rails Application configuration Custom Software, SimplifiedWednesday, February 6, 13
  17. 17. Why Not? • nulls vs. blanks can be confusing Custom Software, SimplifiedWednesday, February 6, 13
  18. 18. module  Facebook    def  self.secret_key=(key)        configatron.facebook.secret_key  =  key    end    def  self.secret_key        configatron.facebook.secret_key    end end Custom Software, SimplifiedWednesday, February 6, 13
  19. 19. Bourbon Custom Software, SimplifiedWednesday, February 6, 13
  20. 20. Why? • Handy shortcuts for common CSS idioms • Beautiful documentation • Exposes you to lots of great/creative CSS uses Custom Software, SimplifiedWednesday, February 6, 13
  21. 21. 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 Custom Software, SimplifiedWednesday, February 6, 13
  22. 22. http://bourbon.io Custom Software, SimplifiedWednesday, February 6, 13
  23. 23. To Learn More... http://launchacademy.co The Fun Begins May 1st Custom Software, SimplifiedWednesday, February 6, 13
  24. 24. For More Gems... • Ignition, our rails template is available • http://github.com/LaunchWare/ignition Custom Software, SimplifiedWednesday, February 6, 13
  25. 25. Questions? Custom Software, SimplifiedWednesday, February 6, 13

×