83
GEM B O Y S 04/11/2013 @mukkoo @delphaber @welaika

Gemboys

Embed Size (px)

DESCRIPTION

The third Torino Coding Society Lesson. Most used ruby gems presentation.

Citation preview

Page 1: Gemboys

GEMB O Y S04/11/2013

@mukkoo@delphaber

@welaika

Page 2: Gemboys

RUBY GEMS?WHAT ARE

Page 3: Gemboys

RUBY GEMS?WHAT ARE

Ruby programs and libraries (in a self-contained format called a "gem").

Page 4: Gemboys

FRAMEWORKS & BACKENDS

Page 5: Gemboys

gem 'active_admin'FRAMEWORKS & BACKENDS

Page 6: Gemboys

gem 'active_admin'FRAMEWORKS & BACKENDS

Active Admin is a Ruby on Rails framework for creating elegant backends for website administration.

Page 7: Gemboys

Active Admin in ActionFRAMEWORKS & BACKENDS

Page 8: Gemboys

Active Admin in ActionFRAMEWORKS & BACKENDS

code

Page 9: Gemboys

Active Admin in ActionFRAMEWORKS & BACKENDS

view

Page 10: Gemboys

FRONTEND

Page 11: Gemboys

gem 'simple_form'FRONTEND

Page 12: Gemboys

gem 'simple_form'FRONTEND

Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.

Page 13: Gemboys

Simple Form in ActionFRONTEND

Without Simple Form

Without Simple Form

Page 14: Gemboys

Simple Form in ActionFRONTEND

Without Simple Form

With Simple Form

Page 15: Gemboys

gem 'compass'FRONTEND

Page 16: Gemboys

gem 'compass'FRONTEND

Compass is an open-source CSS Authoring Framework. The compass core framework is a design-agnostic framework that provides common code that would otherwise be duplicated across other frameworks and extensions.

Page 17: Gemboys

Compass in ActionFRONTEND

Page 18: Gemboys

Compass in ActionFRONTEND

Without Compass

Page 19: Gemboys

Compass in ActionFRONTEND

With Compass

Page 20: Gemboys

REPORTING & DEBUGGING

Page 21: Gemboys

gem 'better_errors'REPORTING & DEBUGGING

Page 22: Gemboys

gem 'better_errors'REPORTING & DEBUGGING

Better Errors replaces the standard Rails error page with a much better and more useful error page.

Page 23: Gemboys

Better Errors in ActionREPORTING & DEBUGGING

Page 24: Gemboys

Better Errors in ActionREPORTING & DEBUGGING

Page 25: Gemboys

gem 'airbrake'REPORTING & DEBUGGING

Page 26: Gemboys

gem 'airbrake'REPORTING & DEBUGGING

When an uncaught exception occurs, Airbrake will POST the relevant data to the Airbrake server specified in your environment.

Page 27: Gemboys

Airbrake in ActionREPORTING & DEBUGGING

Page 28: Gemboys

Airbrake in ActionREPORTING & DEBUGGING

Page 29: Gemboys

Airbrake in ActionREPORTING & DEBUGGING

Page 30: Gemboys

gem 'newrelic_rpm'REPORTING & DEBUGGING

Page 31: Gemboys

gem 'newrelic_rpm'REPORTING & DEBUGGING

New Relic is a performance management system. It provides you with deep information about the performance of your application as it runs in production.

Page 32: Gemboys

NewRelic in ActionREPORTING & DEBUGGING

Page 33: Gemboys

NewRelic in ActionREPORTING & DEBUGGING

Page 34: Gemboys

TESTING

Page 35: Gemboys

gem 'letter_opener'TESTING

Page 36: Gemboys

gem 'letter_opener'TESTING

Preview email in the browser instead of sending it. This means you do not need to set up email delivery in your development environment, and you no longer need to worry about accidentally sending a test email to someone else’s address.

Page 37: Gemboys

Letter Opener in actionTESTING

Page 38: Gemboys

Letter Opener in actionTESTING

Page 39: Gemboys

gem 'factory_girl'TESTING

Page 40: Gemboys

gem 'factory_girl'TESTING

Factory girl is a fixtures replacement with a straightforward definition syntax, support for multiple build strategies and support for multiple factories for the same class.

Page 41: Gemboys

Factory Girl in actionTESTING

Page 42: Gemboys

Factory Girl in actionTESTING

Page 43: Gemboys

gem 'timecop'TESTING

Page 44: Gemboys

gem 'timecop'TESTING

A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it dead simple to test time-dependent code.

Page 45: Gemboys

Timecop in actionTESTING

Page 46: Gemboys

Timecop in actionTESTING

Page 47: Gemboys

TOOLS

Page 48: Gemboys

gem 'delayed_job_active_record'TOOLS

Page 49: Gemboys

gem 'delayed_job_active_record'TOOLS

Database based asynchronous priority queue system.

Useful for:- sending massive newsletters- image resizing- http downloads- batch imports- spam checks

Page 50: Gemboys

Delayed Job in actionTOOLS

Page 51: Gemboys

Delayed Job in actionTOOLS

Page 52: Gemboys

gem 'whenever'TESTING

Page 53: Gemboys

gem 'whenever'TESTING

Cron jobs in ruby.

Page 54: Gemboys

Whenever in actionTESTING

Page 55: Gemboys

Whenever in actionTESTING

Page 56: Gemboys

Whenever in actionTESTING

Page 57: Gemboys

gem 'faker'TESTING

Page 58: Gemboys

gem 'faker'TESTING

A library for generating fake data such as names, addresses, and phone numbers.

Page 59: Gemboys

Faker in actionTESTING

Page 60: Gemboys

Faker in actionTESTING

Page 61: Gemboys

AUTHENTICATIONAUTHORIZATION

Page 62: Gemboys

gem 'cancan'AUTHENTICATION / AUTHORIZATION

Page 63: Gemboys

gem 'cancan'AUTHENTICATION / AUTHORIZATION

CanCan is an authorization library for Ruby on Rails which restricts what resources a given user is allowed to access.

Page 64: Gemboys

CanCan in actionAUTHENTICATION / AUTHORIZATION

Page 65: Gemboys

CanCan in actionAUTHENTICATION / AUTHORIZATION

Page 66: Gemboys

gem 'devise'AUTHENTICATION / AUTHORIZATION

Page 67: Gemboys

gem 'devise'AUTHENTICATION / AUTHORIZATION

Devise is a flexible authentication solution for Rails.

Page 68: Gemboys

Devise in actionAUTHENTICATION / AUTHORIZATION

Page 69: Gemboys

Devise in actionAUTHENTICATION / AUTHORIZATION

Page 70: Gemboys

UPLOADS MANAGEMENT

Page 71: Gemboys

gem 'paperclip'UPLOADS MANAGEMENT

Page 72: Gemboys

gem 'paperclip'UPLOADS MANAGEMENT

Paperclip is intended as an easy file attachment library for Active Record.

Page 73: Gemboys

Paperclip in actionUPLOADS MANAGEMENT

Page 74: Gemboys

Paperclip in actionUPLOADS MANAGEMENT

Page 75: Gemboys

DEPLOY

Page 76: Gemboys

gem 'capistrano'DEPLOY

Page 77: Gemboys

gem 'capistrano'DEPLOY

A remote server automation and deployment tool.

Page 78: Gemboys

Capistrano in actionDEPLOY

Page 79: Gemboys

Capistrano in actionDEPLOY

$ cap deploy

Page 80: Gemboys

Capistrano in actionDEPLOY

Page 81: Gemboys

… and the other gems we love

bourboncapybara-webkitcarrierwavedatabase_cleanerdate_validatordragonflyemail_validatorfriendly_idgeocoderinherited_resources

neat nested_formomniauthpryrecipient_interceptorshowcasesimplecovslim-railszeus

Page 82: Gemboys

Pizza Time!

04/11/2013

Filippo Gangi Dino @mukkoo Fabrizio Monti @delphaber

weLaika @welaika dev.welaika.com

Page 83: Gemboys

What are your gem(s), boys?

And now