lib/fintecture/utils/validation.rb in fintecture-0.2.1 vs lib/fintecture/utils/validation.rb in fintecture-0.3.0
- old
+ new
@@ -1,26 +1,32 @@
+# frozen_string_literal: true
+
require 'fintecture/exceptions'
module Fintecture
module Utils
class Validation
class << self
-
def raise_if_klass_mismatch(target, klass, param_name = nil)
return if target.is_a? klass
- raise Fintecture::ValidationException.new("invalid #{param_name ? param_name : 'parameter'} format, the parameter should be a #{klass} instead a #{target.class.name}")
+ raise Fintecture::ValidationException,
+ "invalid #{param_name || 'parameter'} format, the parameter should be a #{klass} instead a #{target.class.name}"
end
def raise_if_invalid_date_format(date)
return unless date
+
valid_format = date.match(/\d{4}-\d{2}-\d{2}/)
- valid_date = ::Date.strptime(date, '%Y-%m-%d') rescue false
+ valid_date = begin
+ ::Date.strptime(date, '%Y-%m-%d')
+ rescue StandardError
+ false
+ end
return if valid_format && valid_date
- raise Fintecture::ValidationException.new("invalidss #{date} date, the format should be YYYY-MM-DD")
+ raise Fintecture::ValidationException, "invalidss #{date} date, the format should be YYYY-MM-DD"
end
-
end
end
end
-end
\ No newline at end of file
+end