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 |
# File 'lib/monet/baseline_control.rb', line 13 def initialize(config) @config = config strategy = Monet.const_get(config.compare_type) @router = Monet::Router.new config @comparer = Monet::Compare.new(strategy) @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
52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/monet/baseline_control.rb', line 52 def baseline(diff) image = diff.is_a?(String) ? Monet::Image.new(diff) : diff.image puts "baselining #{image.path}" image = rebase(image) # delete diff image discard @router.diff_dir(image.name) image.thumbnail!(@router.thumbnail_dir) if @config.thumbnail? image.path end |
#captures ⇒ Object
40 41 42 43 44 45 |
# File 'lib/monet/baseline_control.rb', line 40 def captures files = Dir.glob(File.join(@config.capture_dir, @config.site, "*.png")) files.map do |path| Monet::Image.new(path) end end |
#compare(diff) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/monet/baseline_control.rb', line 31 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
47 48 49 50 |
# File 'lib/monet/baseline_control.rb', line 47 def discard(path) puts "discarding #{path}" FileUtils.remove(path) if File.exists?(path) end |
#run ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/monet/baseline_control.rb', line 23 def run captures.each do |img| compare @comparer.compare(@router.baseline_dir(img.name), img.path) end @flags end |