Class: Monet::BaselineControl
- Inherits:
-
Object
- Object
- Monet::BaselineControl
- Defined in:
- lib/monet/baseline_control.rb
Instance Attribute Summary collapse
-
#flags ⇒ Object
readonly
Returns the value of attribute flags.
Instance Method Summary collapse
- #baseline(diff) ⇒ Object
- #captures ⇒ Object
- #compare(diff) ⇒ Object
- #discard(path) ⇒ Object
-
#initialize(config) ⇒ BaselineControl
constructor
A new instance of BaselineControl.
- #run ⇒ Object
Constructor Details
#initialize(config) ⇒ BaselineControl
Returns a new instance of BaselineControl.
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/monet/baseline_control.rb', line 13 def initialize(config) @capture_dir = config.capture_dir @baseline_dir = config.baseline_dir strategy = Monet.const_get(config.compare_type) @comparer = Monet::Compare.new(strategy) @router = Monet::PathRouter.new(config) @flags = [] end |
Instance Attribute Details
#flags ⇒ Object (readonly)
Returns the value of attribute flags.
11 12 13 |
# File 'lib/monet/baseline_control.rb', line 11 def flags @flags end |
Instance Method Details
#baseline(diff) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/monet/baseline_control.rb', line 51 def baseline(diff) path = diff.path to = site_dir(@baseline_dir) FileUtils.mkpath to unless Dir.exists? to FileUtils.move(path, to) puts "baselining #{path}" @router.capture_to_baseline(path) end |
#captures ⇒ Object
42 43 44 |
# File 'lib/monet/baseline_control.rb', line 42 def captures Dir.glob File.join(site_dir(@capture_dir), "*.png") end |
#compare(diff) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/monet/baseline_control.rb', line 33 def compare(diff) return baseline(diff) if diff.is_a? Monet::BaselessImage return discard(diff.path) unless diff.modified? puts "diff found #{diff.path}" @flags << diff.path end |
#discard(path) ⇒ Object
46 47 48 49 |
# File 'lib/monet/baseline_control.rb', line 46 def discard(path) puts "discarding #{path}" FileUtils.remove(path) end |
#run ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/monet/baseline_control.rb', line 24 def run captures.each do |capture| baseline_path = @router.capture_to_baseline(capture) compare @comparer.compare(baseline_path, capture) end @flags end |