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
200
What were they thinking?
keithpitty
0
200
How not to have future developers curse you
keithpitty
1
70
How not to give advice (about Markdown)
keithpitty
0
87
Morphing your Ruby into Civil Tech
keithpitty
0
89
Loving Legacy Code
keithpitty
0
630
Better OO Design in Rails
keithpitty
0
76
Other Decks in Programming
See All in Programming
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
470
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
240
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
740
PT AI без купюр
v0lka
0
220
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
330
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
510
XSLTで作るBrainfuck処理系
makki_d
0
180
ワンバイナリWebサービスのススメ
mackee
10
7.7k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
730
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
120
Perlで痩せる
yuukis
1
680
「兵法」から見る質とスピード
ickx
0
260
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Speed Design
sergeychernyshev
30
990
Optimizing for Happiness
mojombo
379
70k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.4k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
910
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
RailsConf 2023
tenderlove
30
1.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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