diff --git a/lib/squib/args/sheet.rb b/lib/squib/args/sheet.rb index 254f02f..12af8e1 100644 --- a/lib/squib/args/sheet.rb +++ b/lib/squib/args/sheet.rb @@ -40,6 +40,7 @@ module Squib trim_radius: 38, trim: 0, width: 3300, + range: :all, rtl: false, } end @@ -80,9 +81,14 @@ module Squib def validate_rows(arg) raise 'columns must be an integer' unless columns.respond_to? :to_i - return 1 if @deck_size < columns + count = if range == :all + @deck_size + else + count = range.to_a.length + end + return 1 if count <= columns return arg if arg.respond_to? :to_i - (@deck_size.to_i / columns.to_i).ceil + (count.to_f / columns.to_f).ceil end def full_filename diff --git a/spec/data/samples/data/_excel.rb.txt b/spec/data/samples/data/_excel.rb.txt index 3606f0f..30c33b2 100644 --- a/spec/data/samples/data/_excel.rb.txt +++ b/spec/data/samples/data/_excel.rb.txt @@ -692,10 +692,9 @@ cairo: set_source([MockDouble, 300, 0]) cairo: paint([]) cairo: set_source([MockDouble, 400, 0]) cairo: paint([]) -surface: write_to_png(["_output/sample_excel_resources_00.png"]) -cairo: set_source([MockDouble, 0, 0]) +cairo: set_source([MockDouble, 0, 101]) cairo: paint([]) -surface: write_to_png(["_output/sample_excel_resources_01.png"]) +surface: write_to_png(["_output/sample_excel_resources_00.png"]) surface: finish([]) surface: finish([]) surface: finish([])