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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Keith Pitty
May 26, 2016
Programming
160
0
Share
Why I use Guard
Lightning Talk given at Melbourne Ruby Meetup on 25 July, 2016
Keith Pitty
May 26, 2016
More Decks by Keith Pitty
See All by Keith Pitty
Succeeding with Remote Retrospectives
keithpitty
0
230
What were they thinking?
keithpitty
0
230
How not to have future developers curse you
keithpitty
1
85
How not to give advice (about Markdown)
keithpitty
0
97
Morphing your Ruby into Civil Tech
keithpitty
0
110
Loving Legacy Code
keithpitty
0
690
Better OO Design in Rails
keithpitty
0
90
Other Decks in Programming
See All in Programming
How Swift's Type System Guides AI Agents
koher
0
330
[RubyKaigi 2026] Require Hooks
palkan
1
280
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
250
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
360
Don't Prompt Harder, Structure Better
kitasuke
0
810
Programming with a DJ Controller — not vibe coding
m_seki
3
750
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
1
130
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
110
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
140
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
450
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
390
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
160
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
190
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
290
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
410
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Facilitating Awesome Meetings
lara
57
6.8k
Practical Orchestrator
shlominoach
191
11k
Google's AI Overviews - The New Search
badams
0
1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
380
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
730
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
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