Browse Source

sprues: better validation errors

dev
Andy Meneely 8 years ago
parent
commit
3ccc6432ab
  1. 9
      lib/squib/sprues/invalid_sprue_definition.rb
  2. 9
      lib/squib/sprues/sprue.rb
  3. 48
      spec/data/samples/config/custom_config.rb.txt
  4. 864
      spec/data/samples/saves/_saves.rb.txt
  5. 16
      spec/sprue_spec.rb

9
lib/squib/sprues/invalid_sprue_definition.rb

@ -0,0 +1,9 @@
module Squib
module Sprues
class InvalidSprueDefinition < StandardError
def initialize(file, error)
super("Invalid sprue definition in file: #{file}. #{error.message}")
end
end
end
end

9
lib/squib/sprues/sprue.rb

@ -4,6 +4,7 @@ require_relative '../args/color_validator'
require_relative '../args/unit_conversion'
require_relative 'crop_line'
require_relative 'crop_line_dash'
require_relative 'invalid_sprue_definition'
require_relative 'sprue_schema'
module Squib
@ -32,7 +33,6 @@ module Squib
attr_reader :dpi
def initialize(template_hash, dpi)
ClassyHash.validate(template_hash, Sprues::SCHEMA)
@template_hash = template_hash
@dpi = dpi
@crop_line_default = @template_hash['crop_line'].select do |k, _|
@ -54,6 +54,13 @@ module Squib
# Create a new template file
warn_unrecognized(yaml)
# Validate
begin
ClassyHash.validate(new_hash, Sprues::SCHEMA)
rescue ClassyHash::SchemaViolationError => e
raise Sprues::InvalidSprueDefinition.new(thefile, e)
end
Sprue.new new_hash, dpi
end

48
spec/data/samples/config/custom_config.rb.txt

@ -55,53 +55,5 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-75, -75])
cairo: move_to([75, 0])
cairo: line_to([75, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([900, 0])
cairo: line_to([900, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([75, 2550])
cairo: line_to([75, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([900, 2550])
cairo: line_to([900, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 75])
cairo: line_to([74, 75])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 75])
cairo: line_to([3226, 75])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1200])
cairo: line_to([74, 1200])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1200])
cairo: line_to([3226, 1200])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
surface: finish([])
surface: finish([])

864
spec/data/samples/saves/_saves.rb.txt

@ -572,54 +572,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-75, -75])
cairo: move_to([112, 0])
cairo: line_to([112, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([863, 0])
cairo: line_to([863, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([112, 2550])
cairo: line_to([112, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([863, 2550])
cairo: line_to([863, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 112])
cairo: line_to([74, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 112])
cairo: line_to([3226, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1163])
cairo: line_to([74, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1163])
cairo: line_to([3226, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([831, 75])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -627,54 +579,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-831, -75])
cairo: move_to([868, 0])
cairo: line_to([868, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1619, 0])
cairo: line_to([1619, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([868, 2550])
cairo: line_to([868, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1619, 2550])
cairo: line_to([1619, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 112])
cairo: line_to([74, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 112])
cairo: line_to([3226, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1163])
cairo: line_to([74, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1163])
cairo: line_to([3226, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([1587, 75])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -682,54 +586,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-1587, -75])
cairo: move_to([1624, 0])
cairo: line_to([1624, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2375, 0])
cairo: line_to([2375, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1624, 2550])
cairo: line_to([1624, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2375, 2550])
cairo: line_to([2375, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 112])
cairo: line_to([74, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 112])
cairo: line_to([3226, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1163])
cairo: line_to([74, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1163])
cairo: line_to([3226, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([2343, 75])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -737,54 +593,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-2343, -75])
cairo: move_to([2380, 0])
cairo: line_to([2380, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3131, 0])
cairo: line_to([3131, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2380, 2550])
cairo: line_to([2380, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3131, 2550])
cairo: line_to([3131, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 112])
cairo: line_to([74, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 112])
cairo: line_to([3226, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1163])
cairo: line_to([74, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1163])
cairo: line_to([3226, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([75, 1131])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -792,54 +600,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-75, -1131])
cairo: move_to([112, 0])
cairo: line_to([112, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([863, 0])
cairo: line_to([863, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([112, 2550])
cairo: line_to([112, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([863, 2550])
cairo: line_to([863, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1168])
cairo: line_to([74, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1168])
cairo: line_to([3226, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 2219])
cairo: line_to([74, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 2219])
cairo: line_to([3226, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([831, 1131])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -847,54 +607,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-831, -1131])
cairo: move_to([868, 0])
cairo: line_to([868, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1619, 0])
cairo: line_to([1619, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([868, 2550])
cairo: line_to([868, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1619, 2550])
cairo: line_to([1619, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1168])
cairo: line_to([74, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1168])
cairo: line_to([3226, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 2219])
cairo: line_to([74, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 2219])
cairo: line_to([3226, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([1587, 1131])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -902,54 +614,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-1587, -1131])
cairo: move_to([1624, 0])
cairo: line_to([1624, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2375, 0])
cairo: line_to([2375, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1624, 2550])
cairo: line_to([1624, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2375, 2550])
cairo: line_to([2375, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1168])
cairo: line_to([74, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1168])
cairo: line_to([3226, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 2219])
cairo: line_to([74, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 2219])
cairo: line_to([3226, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([2343, 1131])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -957,54 +621,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-2343, -1131])
cairo: move_to([2380, 0])
cairo: line_to([2380, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3131, 0])
cairo: line_to([3131, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2380, 2550])
cairo: line_to([2380, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3131, 2550])
cairo: line_to([3131, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1168])
cairo: line_to([74, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1168])
cairo: line_to([3226, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 2219])
cairo: line_to([74, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 2219])
cairo: line_to([3226, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: show_page([])
cairo: translate([75, 75])
cairo: rectangle([37, 37, 751, 1051])
@ -1013,54 +629,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-75, -75])
cairo: move_to([112, 0])
cairo: line_to([112, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([863, 0])
cairo: line_to([863, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([112, 2550])
cairo: line_to([112, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([863, 2550])
cairo: line_to([863, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 112])
cairo: line_to([74, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 112])
cairo: line_to([3226, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1163])
cairo: line_to([74, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1163])
cairo: line_to([3226, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([831, 75])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -1068,54 +636,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-831, -75])
cairo: move_to([868, 0])
cairo: line_to([868, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1619, 0])
cairo: line_to([1619, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([868, 2550])
cairo: line_to([868, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1619, 2550])
cairo: line_to([1619, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 112])
cairo: line_to([74, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 112])
cairo: line_to([3226, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1163])
cairo: line_to([74, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1163])
cairo: line_to([3226, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([1587, 75])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -1123,54 +643,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-1587, -75])
cairo: move_to([1624, 0])
cairo: line_to([1624, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2375, 0])
cairo: line_to([2375, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1624, 2550])
cairo: line_to([1624, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2375, 2550])
cairo: line_to([2375, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 112])
cairo: line_to([74, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 112])
cairo: line_to([3226, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1163])
cairo: line_to([74, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1163])
cairo: line_to([3226, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([2343, 75])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -1178,54 +650,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-2343, -75])
cairo: move_to([2380, 0])
cairo: line_to([2380, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3131, 0])
cairo: line_to([3131, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2380, 2550])
cairo: line_to([2380, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3131, 2550])
cairo: line_to([3131, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 112])
cairo: line_to([74, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 112])
cairo: line_to([3226, 112])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1163])
cairo: line_to([74, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1163])
cairo: line_to([3226, 1163])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([75, 1131])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -1233,54 +657,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-75, -1131])
cairo: move_to([112, 0])
cairo: line_to([112, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([863, 0])
cairo: line_to([863, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([112, 2550])
cairo: line_to([112, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([863, 2550])
cairo: line_to([863, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1168])
cairo: line_to([74, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1168])
cairo: line_to([3226, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 2219])
cairo: line_to([74, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 2219])
cairo: line_to([3226, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([831, 1131])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -1288,54 +664,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-831, -1131])
cairo: move_to([868, 0])
cairo: line_to([868, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1619, 0])
cairo: line_to([1619, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([868, 2550])
cairo: line_to([868, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1619, 2550])
cairo: line_to([1619, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1168])
cairo: line_to([74, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1168])
cairo: line_to([3226, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 2219])
cairo: line_to([74, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 2219])
cairo: line_to([3226, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([1587, 1131])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -1343,54 +671,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-1587, -1131])
cairo: move_to([1624, 0])
cairo: line_to([1624, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2375, 0])
cairo: line_to([2375, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1624, 2550])
cairo: line_to([1624, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2375, 2550])
cairo: line_to([2375, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1168])
cairo: line_to([74, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1168])
cairo: line_to([3226, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 2219])
cairo: line_to([74, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 2219])
cairo: line_to([3226, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([2343, 1131])
cairo: rectangle([37, 37, 751, 1051])
cairo: clip([])
@ -1398,54 +678,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-2343, -1131])
cairo: move_to([2380, 0])
cairo: line_to([2380, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3131, 0])
cairo: line_to([3131, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2380, 2550])
cairo: line_to([2380, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3131, 2550])
cairo: line_to([3131, 2476])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1168])
cairo: line_to([74, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 1168])
cairo: line_to([3226, 1168])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 2219])
cairo: line_to([74, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([3300, 2219])
cairo: line_to([3226, 2219])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: show_page([])
surface: finish([])
cairo: scale([0.24, 0.24])
@ -1456,54 +688,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-75, -75])
cairo: move_to([75, 0])
cairo: line_to([75, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([900, 0])
cairo: line_to([900, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([75, 1500.0])
cairo: line_to([75, 1426.0])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([900, 1500.0])
cairo: line_to([900, 1426.0])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 75])
cairo: line_to([74, 75])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2100.0, 75])
cairo: line_to([2026.0, 75])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1200])
cairo: line_to([74, 1200])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2100.0, 1200])
cairo: line_to([2026.0, 1200])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: translate([900, 75])
cairo: rectangle([0, 0, 825, 1125])
cairo: clip([])
@ -1511,54 +695,6 @@ cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: reset_clip([])
cairo: translate([-900, -75])
cairo: move_to([900, 0])
cairo: line_to([900, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1725, 0])
cairo: line_to([1725, 74])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([900, 1500.0])
cairo: line_to([900, 1426.0])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([1725, 1500.0])
cairo: line_to([1725, 1426.0])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 75])
cairo: line_to([74, 75])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2100.0, 75])
cairo: line_to([2026.0, 75])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([0, 1200])
cairo: line_to([74, 1200])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: move_to([2100.0, 1200])
cairo: line_to([2026.0, 1200])
cairo: set_source_color([:black])
cairo: set_dash([[]])
cairo: set_line_width([1.5])
cairo: stroke([])
cairo: show_page([])
surface: finish([])
surface: write_to_png(["_output/saves_notrim_01.png"])

16
spec/sprue_spec.rb

@ -148,8 +148,8 @@ describe Squib::Sprue do
expect do
Squib::Sprue.load(sprue_file('fail_no_sheet_width.yml'), 100)
end.to raise_error(
RuntimeError,
'"sheet_width" is not a String matching /^(\d*[.])?\d+(in|cm|mm)$/'
Squib::Sprues::InvalidSprueDefinition,
include('"sheet_width" is not a String matching /^(\d*[.])?\d+(in|cm|mm)$/')
)
end
@ -157,8 +157,8 @@ describe Squib::Sprue do
expect do
Squib::Sprue.load(sprue_file('fail_no_sheet_height.yml'), 100)
end.to raise_error(
RuntimeError,
'"sheet_height" is not a String matching /^(\d*[.])?\d+(in|cm|mm)$/'
Squib::Sprues::InvalidSprueDefinition,
include('"sheet_height" is not a String matching /^(\d*[.])?\d+(in|cm|mm)$/')
)
end
@ -166,8 +166,8 @@ describe Squib::Sprue do
expect do
Squib::Sprue.load(sprue_file('fail_no_card_width.yml'), 100)
end.to raise_error(
RuntimeError,
'"card_width" is not a String matching /^(\d*[.])?\d+(in|cm|mm)$/'
Squib::Sprues::InvalidSprueDefinition,
include('"card_width" is not a String matching /^(\d*[.])?\d+(in|cm|mm)$/')
)
end
@ -175,8 +175,8 @@ describe Squib::Sprue do
expect do
Squib::Sprue.load(sprue_file('fail_no_card_height.yml'), 100)
end.to raise_error(
RuntimeError,
'"card_height" is not a String matching /^(\d*[.])?\d+(in|cm|mm)$/'
Squib::Sprues::InvalidSprueDefinition,
include('"card_height" is not a String matching /^(\d*[.])?\d+(in|cm|mm)$/')
)
end
end

Loading…
Cancel
Save