Class: DiffTest::ImpactedFileTracker
- Inherits:
-
Object
- Object
- DiffTest::ImpactedFileTracker
- Defined in:
- lib/diff_test/impacted_file_tracker.rb
Instance Attribute Summary collapse
-
#trackers ⇒ Object
readonly
Returns the value of attribute trackers.
Instance Method Summary collapse
- #impacted_files ⇒ Object
-
#initialize ⇒ ImpactedFileTracker
constructor
A new instance of ImpactedFileTracker.
- #pause(&block) ⇒ Object
- #save_payload ⇒ Object
- #start ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize ⇒ ImpactedFileTracker
10 11 12 13 14 15 16 |
# File 'lib/diff_test/impacted_file_tracker.rb', line 10 def initialize @trackers = [ DiffTest::Trackers::RubyFile.new, DiffTest::Trackers::Constant.new, DiffTest::Trackers::JsFile.new ] end |
Instance Attribute Details
#trackers ⇒ Object (readonly)
Returns the value of attribute trackers.
8 9 10 |
# File 'lib/diff_test/impacted_file_tracker.rb', line 8 def trackers @trackers end |
Instance Method Details
#impacted_files ⇒ Object
28 29 30 |
# File 'lib/diff_test/impacted_file_tracker.rb', line 28 def impacted_files trackers.map(&:impacted_files).reduce(Set.new, :|) end |
#pause(&block) ⇒ Object
40 41 42 43 44 45 |
# File 'lib/diff_test/impacted_file_tracker.rb', line 40 def pause(&block) trackers.each(&:pause) result = yield trackers.each(&:resume) result end |
#save_payload ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/diff_test/impacted_file_tracker.rb', line 18 def save_payload impacted_files.each_with_object({}) do |file_path, payload| begin payload[file_path] = FileHashComputer.compute(file_path) rescue Errno::ENOENT nil end end end |
#start ⇒ Object
32 33 34 |
# File 'lib/diff_test/impacted_file_tracker.rb', line 32 def start trackers.each(&:start) end |
#stop ⇒ Object
36 37 38 |
# File 'lib/diff_test/impacted_file_tracker.rb', line 36 def stop trackers.each(&:stop) end |