Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Why I use Guard
Search
Keith Pitty
May 26, 2016
Programming
0
140
Why I use Guard
Lightning Talk given at Melbourne Ruby Meetup on 25 July, 2016
Keith Pitty
May 26, 2016
Tweet
Share
More Decks by Keith Pitty
See All by Keith Pitty
Succeeding with Remote Retrospectives
keithpitty
0
180
What were they thinking?
keithpitty
0
180
How not to have future developers curse you
keithpitty
1
67
How not to give advice (about Markdown)
keithpitty
0
83
Morphing your Ruby into Civil Tech
keithpitty
0
86
Loving Legacy Code
keithpitty
0
560
Better OO Design in Rails
keithpitty
0
71
Other Decks in Programming
See All in Programming
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
440
ファインディの テックブログ爆誕までの軌跡
starfish719
1
650
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
970
Package Traits
ikesyo
2
220
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
190
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
140
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
450
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
3.3k
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
220
ErdMap: Thinking about a map for Rails applications
makicamel
1
840
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
3
940
テストコード書いてみませんか?
onopon
2
360
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Docker and Python
trallard
43
3.2k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
4 Signs Your Business is Dying
shpigford
182
22k
Being A Developer After 40
akosma
89
590k
Agile that works and the tools we love
rasmusluckow
328
21k
Optimizing for Happiness
mojombo
376
70k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.3k
Transcript
WHY I USE GUARD KEITH PITTY
None
WHY?
None
FAST AUTOMATIC FEEDBACK
FIN!
None
None
OH, OK …
None
HOW?
guard-rspec
REMEMBER AUTOTEST?
GuardFile
guard :rspec, cmd: 'zeus rspec' do watch('spec/spec_helper.rb') { "spec" }
watch(%r{^spec/.+_spec\.rb$}) watch(%r{^app/(.+)\.rb$}) { |m| "spec/ #{m[1]_spec.rb" } # etc. end
guard :rspec, cmd: 'zeus rspec'
None
None
None
< 1 SECOND
None
GuardFile
CURATION
watch('app/views/feeds/facebook/_encoded_content.erb') { "spec/controllers/feeds/facebook_controller_spec.rb" }
WHEN A FILE CHANGES …
AFFECTED TESTS RUN AUTOMATICALLY
None
FOCUS
SPECIFIC TEST
it "does what it should" do, focus: true # expect
something end
None
FIRST 10 FAILED SPECS
guard :rspec, cmd: 'zeus rspec', failed_mode: :focus do # etc.
end
guard-rspec
FAST AUTOMATIC FEEDBACK
None
ALSO …
guard-teaspoon
guard-livereload
guard-bundler
guard-ctags-bundler
AUTOMATION
None
NEXT?
None
guard-rubocop
WHY DO I USE GUARD?
FAST AUTOMATIC FEEDBACK
UNDERSTAND NOW?
None
None
THANK YOU!
@keithpitty