Ruby on rails. Best practices

36
Ruby on Rails Best Practices http://rubyonrails.org Wondering why Ruby is so popular? Its fans call it a beautiful, artful language. And yet, they say it’s handy and practical. http://www.ruby-lang.org/ Vladimir Tkach

description

Ruby on Rails. Best PracticesIL Ruby UndergroundVladimir Tkach teamco at gmail.comhttp://teamco-anthill.blogspot.com

Transcript of Ruby on rails. Best practices

Page 1: Ruby on rails. Best practices

Ruby on Rails Best Practices

http://rubyonrails.org

Wondering why Ruby is so popular? Its fans call it a beautiful, artful language. And yet, they say it’s handy and practical.

http://www.ruby-lang.org/

Vladimir Tkach

Page 2: Ruby on rails. Best practices

How to?

© SAP 2007 / Page 2

Page 3: Ruby on rails. Best practices

Rails Best Practices

© SAP 2007 / Page 3

Page 4: Ruby on rails. Best practices

Concept: What’s good code?

© SAP 2007 / Page 4

Page 5: Ruby on rails. Best practices

Move finder to named_scope / scope

© SAP 2007 / Page 5

Page 6: Ruby on rails. Best practices

Use model association

© SAP 2007 / Page 6

Page 7: Ruby on rails. Best practices

Use scope access

© SAP 2007 / Page 7

Page 8: Ruby on rails. Best practices

Add model virtual attribute

© SAP 2007 / Page 8

Page 9: Ruby on rails. Best practices

Use model callback

© SAP 2007 / Page 9

Page 10: Ruby on rails. Best practices

Use Model Callback

© SAP 2007 / Page 10

%>

Page 11: Ruby on rails. Best practices

Replace Complex Creation with Factory Method

© SAP 2007 / Page 11

Page 12: Ruby on rails. Best practices

Replace Complex Creation with Factory Method

© SAP 2007 / Page 12

Page 13: Ruby on rails. Best practices

Move Model Logic into the Model

© SAP 2007 / Page 13

Page 14: Ruby on rails. Best practices

model.collection_model_ids (many-to-many)

© SAP 2007 / Page 14

Page 15: Ruby on rails. Best practices

model.collection_model_ids (many-to-many)

© SAP 2007 / Page 15

Page 16: Ruby on rails. Best practices

model.collection_model_ids (many-to-many)

© SAP 2007 / Page 16

Page 17: Ruby on rails. Best practices

Nested Model Forms (one-to-one)

© SAP 2007 / Page 17

Page 18: Ruby on rails. Best practices

Nested Model Forms (one-to-one)

© SAP 2007 / Page 18

Page 19: Ruby on rails. Best practices

Nested Model Forms (one-to-many)

© SAP 2007 / Page 19

Page 20: Ruby on rails. Best practices

Keep Finders on Their Own Model

© SAP 2007 / Page 20

Page 21: Ruby on rails. Best practices

Keep Finders on Their Own Model

© SAP 2007 / Page 21

Page 22: Ruby on rails. Best practices

Love named_scope

© SAP 2007 / Page 22

Page 23: Ruby on rails. Best practices

Love named_scope

© SAP 2007 / Page 23

Page 24: Ruby on rails. Best practices

the Law of Demeter

© SAP 2007 / Page 24

Page 25: Ruby on rails. Best practices

DRY: Metaprogramming

© SAP 2007 / Page 25

Page 26: Ruby on rails. Best practices

DRY: Metaprogramming

© SAP 2007 / Page 26

Page 27: Ruby on rails. Best practices

Extract into Module

© SAP 2007 / Page 27

Page 28: Ruby on rails. Best practices

Extract to composed class

© SAP 2007 / Page 28

Page 29: Ruby on rails. Best practices

Extract to composed class

© SAP 2007 / Page 29

Page 30: Ruby on rails. Best practices

Use Observer

© SAP 2007 / Page 30

Page 31: Ruby on rails. Best practices

Use Observer

© SAP 2007 / Page 31

Page 32: Ruby on rails. Best practices

Move code into controller

© SAP 2007 / Page 32

Page 33: Ruby on rails. Best practices

Move code into model

© SAP 2007 / Page 33

Page 34: Ruby on rails. Best practices

Move code into helper

© SAP 2007 / Page 34

Page 35: Ruby on rails. Best practices

Replace instance variable with local variable

© SAP 2007 / Page 35

Page 36: Ruby on rails. Best practices

© SAP 2007 / Page 36

§  http://www.ruby-lang.org/en/ §  http://www.ruby-lang.org/en/documentation/ §  http://rubyonrails.org/ §  http://guides.rubyonrails.org/v2.3.8/index.html

§  http://teamco-anthill.blogspot.com

Thank you!