Class: Tsumetogi::DiffStrategies::LowMemory
- Inherits:
-
Base
- Object
- Base
- Tsumetogi::DiffStrategies::LowMemory
show all
- Defined in:
- lib/tsumetogi/diff_strategies/low_memory.rb
Instance Method Summary
collapse
Methods inherited from Base
#after_reference, #before_reference
Constructor Details
#initialize(config = nil) ⇒ LowMemory
Returns a new instance of LowMemory.
11
12
13
|
# File 'lib/tsumetogi/diff_strategies/low_memory.rb', line 11
def initialize(config = nil)
super
end
|
Instance Method Details
#after_match ⇒ Object
36
37
38
|
# File 'lib/tsumetogi/diff_strategies/low_memory.rb', line 36
def after_match
FileUtils.remove_entry_secure @tmp_dir
end
|
#before_match ⇒ Object
32
33
34
|
# File 'lib/tsumetogi/diff_strategies/low_memory.rb', line 32
def before_match
@tmp_dir = Dir.mktmpdir
end
|
#difference(reference, target) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/tsumetogi/diff_strategies/low_memory.rb', line 15
def difference(reference, target)
diff_path = File.join(@tmp_dir, "diff.png")
diff_cmd = ["composite", "-compose", "difference"]
diff_cmd << reference
diff_cmd << target
diff_cmd << diff_path
system *diff_cmd
id_cmd = ["identify"]
id_cmd += ["-format", "%[mean]"]
id_cmd << diff_path
diff = `#{id_cmd.join(" ")}`
diff.chomp.to_f / 65535
end
|