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
130
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
130
What were they thinking?
keithpitty
0
170
How not to have future developers curse you
keithpitty
1
63
How not to give advice (about Markdown)
keithpitty
0
77
Morphing your Ruby into Civil Tech
keithpitty
0
71
Loving Legacy Code
keithpitty
0
480
Better OO Design in Rails
keithpitty
0
55
Other Decks in Programming
See All in Programming
Site Reliability Engineering for GMO
pyama86
8
1k
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
340
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
430
SIMD Parallel Programming with the Vector API
josepaumard
0
180
Rethinking UI building strategies @ SFI 2024
letelete
0
270
雑に思考を整理する技術と効能
konifar
60
29k
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
2
760
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
140
PHPはいつから死んでいるかの調査
chiroruxx
1
400
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
950
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
Ruby Pattern Matching
bkuhlmann
0
930
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
73
5.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Building a Scalable Design System with Sketch
lauravandoore
456
32k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Typedesign – Prime Four
hannesfritz
36
2.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
How to name files
jennybc
65
93k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
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