Slide 1

Slide 1 text

Formatting Ruby Code

Slide 2

Slide 2 text

4 rules of simple design (Kent Beck) 1. All tests pass 2. No duplicate code 3. Express all the ideas 4. Minimize classes and methods

Slide 3

Slide 3 text

4 rules of simple design (Kent Beck) 1. All tests pass 2. No duplicate code 3. Express all the ideas 4. Minimize classes and methods 0. Code is properly formatted

Slide 4

Slide 4 text

Styleguides ● https://github.com/bbatsov/ruby-style-guide ● https://github.com/styleguide/ruby ● etc

Slide 5

Slide 5 text

Styleguides

Slide 6

Slide 6 text

Styleguides ● Styleguides are great, but...

Slide 7

Slide 7 text

Styleguides ● Styleguides are great, but… ● “Hey, can you format code according to …”?

Slide 8

Slide 8 text

Go

Slide 9

Slide 9 text

Go ● Go doesn’t have styleguides

Slide 10

Slide 10 text

Go ● Go doesn’t have styleguides ● gofmt a.go

Slide 11

Slide 11 text

rubyfmt

Slide 12

Slide 12 text

Parsing ruby code

Slide 13

Slide 13 text

Parsing ruby code https://github.com/seattlerb/ruby_parser

Slide 14

Slide 14 text

Parsing ruby code https://github.com/seattlerb/ruby2ruby

Slide 15

Slide 15 text

Diff

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

https://github.com/wojtekmach/rubyfmtbot

Slide 18

Slide 18 text

Thanks! ● http://golang.org/cmd/gofmt ● https://github.com/seattlerb/ruby_parser ● https://github.com/seattlerb/sexp_processor ● https://github.com/seattlerb/ruby2ruby ● https://github.com/wojtekmach/rubyfmt ● https://github.com/wojtekmach/rubyfmtbot