From de43beb1424fa94bdafec759a50cbe627e701cfe Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Hühne Date: Wed, 6 Jun 2012 12:31:41 +0200 Subject: Validator renameing. --- lib/axlsx/util/validators.rb | 11 +++++++++-- lib/axlsx/workbook/worksheet/page_setup.rb | 2 +- test/util/tc_validators.rb | 14 +++++++------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/axlsx/util/validators.rb b/lib/axlsx/util/validators.rb index 27d895e8..4f42b29c 100644 --- a/lib/axlsx/util/validators.rb +++ b/lib/axlsx/util/validators.rb @@ -109,7 +109,7 @@ module Axlsx end # Requires that the value is an integer ranging from 10 to 400. - def self.validate_page_scale(v) + def self.validate_scale_10_400(v) DataTypeValidator.validate "page_scale", [Fixnum, Integer], v, lambda { |arg| arg >= 10 && arg <= 400 } end @@ -238,4 +238,11 @@ module Axlsx def self.validate_data_validation_type(v) RestrictionValidator.validate :data_validation_type, [:custom, :data, :decimal, :list, :none, :textLength, :time, :whole], v end -end + + # Requires that the value is a valid sheet view type. + # valid types must be one of normal, page_break_preview, page_layout + # @param [Any] v The value validated + def self.validate_sheet_view_type(v) + RestrictionValidator.validate :sheet_view_type, [:normal, :page_break_preview, :page_layout], v + end +end \ No newline at end of file diff --git a/lib/axlsx/workbook/worksheet/page_setup.rb b/lib/axlsx/workbook/worksheet/page_setup.rb index fdfab981..10cba403 100644 --- a/lib/axlsx/workbook/worksheet/page_setup.rb +++ b/lib/axlsx/workbook/worksheet/page_setup.rb @@ -79,7 +79,7 @@ module Axlsx # @see paper_width def paper_width=(v); Axlsx::validate_number_with_unit(v); @paper_width = v; end # @see scale - def scale=(v); Axlsx::validate_page_scale(v); @scale = v; end + def scale=(v); Axlsx::validate_scale_10_400(v); @scale = v; end # convenience method to achieve sanity when setting fit_to_width and fit_to_height # as they both default to 1 if only their counterpart is specified. diff --git a/test/util/tc_validators.rb b/test/util/tc_validators.rb index bcb2eadf..a41620a0 100644 --- a/test/util/tc_validators.rb +++ b/test/util/tc_validators.rb @@ -84,13 +84,13 @@ class TestValidators < Test::Unit::TestCase assert_raise(ArgumentError) { Axlsx.validate_number_with_unit "-29cm" } #page_scale - assert_nothing_raised { Axlsx.validate_page_scale 10 } - assert_nothing_raised { Axlsx.validate_page_scale 100 } - assert_nothing_raised { Axlsx.validate_page_scale 400 } - assert_raise(ArgumentError) { Axlsx.validate_page_scale 9 } - assert_raise(ArgumentError) { Axlsx.validate_page_scale 10.0 } - assert_raise(ArgumentError) { Axlsx.validate_page_scale 400.1 } - assert_raise(ArgumentError) { Axlsx.validate_page_scale "99" } + assert_nothing_raised { Axlsx.validate_scale_10_400 10 } + assert_nothing_raised { Axlsx.validate_scale_10_400 100 } + assert_nothing_raised { Axlsx.validate_scale_10_400 400 } + assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 9 } + assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 10.0 } + assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 400.1 } + assert_raise(ArgumentError) { Axlsx.validate_scale_10_400 "99" } #page_orientation assert_nothing_raised { Axlsx.validate_page_orientation :default } -- cgit v1.2.3