Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

RUBY GEMS? WHAT ARE

Slide 3

Slide 3 text

RUBY GEMS? WHAT ARE Ruby programs and libraries (in a self-contained format called a "gem").

Slide 4

Slide 4 text

FRAMEWORKS & BACKENDS

Slide 5

Slide 5 text

gem 'active_admin' FRAMEWORKS & BACKENDS

Slide 6

Slide 6 text

gem 'active_admin' FRAMEWORKS & BACKENDS Active Admin is a Ruby on Rails framework for creating elegant backends for website administration.

Slide 7

Slide 7 text

Active Admin in Action FRAMEWORKS & BACKENDS

Slide 8

Slide 8 text

Active Admin in Action FRAMEWORKS & BACKENDS code

Slide 9

Slide 9 text

Active Admin in Action FRAMEWORKS & BACKENDS view

Slide 10

Slide 10 text

FRONTEND

Slide 11

Slide 11 text

gem 'simple_form' FRONTEND

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Simple Form in Action FRONTEND Without Simple Form Without Simple Form

Slide 14

Slide 14 text

Simple Form in Action FRONTEND Without Simple Form With Simple Form

Slide 15

Slide 15 text

gem 'compass' FRONTEND

Slide 16

Slide 16 text

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.

Slide 17

Slide 17 text

Compass in Action FRONTEND

Slide 18

Slide 18 text

Compass in Action FRONTEND Without Compass

Slide 19

Slide 19 text

Compass in Action FRONTEND With Compass

Slide 20

Slide 20 text

REPORTING & DEBUGGING

Slide 21

Slide 21 text

gem 'better_errors' REPORTING & DEBUGGING

Slide 22

Slide 22 text

gem 'better_errors' REPORTING & DEBUGGING Better Errors replaces the standard Rails error page with a much better and more useful error page.

Slide 23

Slide 23 text

Better Errors in Action REPORTING & DEBUGGING

Slide 24

Slide 24 text

Better Errors in Action REPORTING & DEBUGGING

Slide 25

Slide 25 text

gem 'airbrake' REPORTING & DEBUGGING

Slide 26

Slide 26 text

gem 'airbrake' REPORTING & DEBUGGING When an uncaught exception occurs, Airbrake will POST the relevant data to the Airbrake server specified in your environment.

Slide 27

Slide 27 text

Airbrake in Action REPORTING & DEBUGGING

Slide 28

Slide 28 text

Airbrake in Action REPORTING & DEBUGGING

Slide 29

Slide 29 text

Airbrake in Action REPORTING & DEBUGGING

Slide 30

Slide 30 text

gem 'newrelic_rpm' REPORTING & DEBUGGING

Slide 31

Slide 31 text

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.

Slide 32

Slide 32 text

NewRelic in Action REPORTING & DEBUGGING

Slide 33

Slide 33 text

NewRelic in Action REPORTING & DEBUGGING

Slide 34

Slide 34 text

TESTING

Slide 35

Slide 35 text

gem 'letter_opener' TESTING

Slide 36

Slide 36 text

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.

Slide 37

Slide 37 text

Letter Opener in action TESTING

Slide 38

Slide 38 text

Letter Opener in action TESTING

Slide 39

Slide 39 text

gem 'factory_girl' TESTING

Slide 40

Slide 40 text

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.

Slide 41

Slide 41 text

Factory Girl in action TESTING

Slide 42

Slide 42 text

Factory Girl in action TESTING

Slide 43

Slide 43 text

gem 'timecop' TESTING

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

Timecop in action TESTING

Slide 46

Slide 46 text

Timecop in action TESTING

Slide 47

Slide 47 text

TOOLS

Slide 48

Slide 48 text

gem 'delayed_job_active_record' TOOLS

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

Delayed Job in action TOOLS

Slide 51

Slide 51 text

Delayed Job in action TOOLS

Slide 52

Slide 52 text

gem 'whenever' TESTING

Slide 53

Slide 53 text

gem 'whenever' TESTING Cron jobs in ruby.

Slide 54

Slide 54 text

Whenever in action TESTING

Slide 55

Slide 55 text

Whenever in action TESTING

Slide 56

Slide 56 text

Whenever in action TESTING

Slide 57

Slide 57 text

gem 'faker' TESTING

Slide 58

Slide 58 text

gem 'faker' TESTING A library for generating fake data such as names, addresses, and phone numbers.

Slide 59

Slide 59 text

Faker in action TESTING

Slide 60

Slide 60 text

Faker in action TESTING

Slide 61

Slide 61 text

AUTHENTICATION AUTHORIZATION

Slide 62

Slide 62 text

gem 'cancan' AUTHENTICATION / AUTHORIZATION

Slide 63

Slide 63 text

gem 'cancan' AUTHENTICATION / AUTHORIZATION CanCan is an authorization library for Ruby on Rails which restricts what resources a given user is allowed to access.

Slide 64

Slide 64 text

CanCan in action AUTHENTICATION / AUTHORIZATION

Slide 65

Slide 65 text

CanCan in action AUTHENTICATION / AUTHORIZATION

Slide 66

Slide 66 text

gem 'devise' AUTHENTICATION / AUTHORIZATION

Slide 67

Slide 67 text

gem 'devise' AUTHENTICATION / AUTHORIZATION Devise is a flexible authentication solution for Rails.

Slide 68

Slide 68 text

Devise in action AUTHENTICATION / AUTHORIZATION

Slide 69

Slide 69 text

Devise in action AUTHENTICATION / AUTHORIZATION

Slide 70

Slide 70 text

UPLOADS MANAGEMENT

Slide 71

Slide 71 text

gem 'paperclip' UPLOADS MANAGEMENT

Slide 72

Slide 72 text

gem 'paperclip' UPLOADS MANAGEMENT Paperclip is intended as an easy file attachment library for Active Record.

Slide 73

Slide 73 text

Paperclip in action UPLOADS MANAGEMENT

Slide 74

Slide 74 text

Paperclip in action UPLOADS MANAGEMENT

Slide 75

Slide 75 text

DEPLOY

Slide 76

Slide 76 text

gem 'capistrano' DEPLOY

Slide 77

Slide 77 text

gem 'capistrano' DEPLOY A remote server automation and deployment tool.

Slide 78

Slide 78 text

Capistrano in action DEPLOY

Slide 79

Slide 79 text

Capistrano in action DEPLOY $ cap deploy

Slide 80

Slide 80 text

Capistrano in action DEPLOY

Slide 81

Slide 81 text

… and the other gems we love bourbon capybara-webkit carrierwave database_cleaner date_validator dragonfly email_validator friendly_id geocoder inherited_resources neat nested_form omniauth pry recipient_interceptor showcase simplecov slim-rails zeus

Slide 82

Slide 82 text

Pizza Time! 04/11/2013 Filippo Gangi Dino @mukkoo Fabrizio Monti @delphaber weLaika @welaika dev.welaika.com

Slide 83

Slide 83 text

What are your gem(s), boys? And now