commit c46d92e2fa2ca586763d78a4bf9d1b525b1ec0a4
parent 7a74edbe9aa64a0b4e1ee606ea51935b57e294ab
Author: Rich Lane <rlane@club.cc.cmu.edu>
Date: Thu, 31 Dec 2009 15:36:51 -0800
add String#check
Diffstat:
1 file changed, 10 insertions(+), 0 deletions(-)
diff --git a/lib/sup/util.rb b/lib/sup/util.rb
@@ -296,6 +296,16 @@ class String
##
## split_on will be passed to String#split, so you can leave this nil for space.
def to_set_of_symbols split_on=nil; Set.new split(split_on).map { |x| x.strip.intern } end
+
+ class CheckError < ArgumentError; end
+ def check
+ begin
+ fail "unexpected encoding #{encoding}" if respond_to?(:encoding) && !(encoding == Encoding::UTF_8 || encoding == Encoding::ASCII)
+ fail "invalid encoding" if respond_to?(:valid_encoding?) && !valid_encoding?
+ rescue
+ raise CheckError.new($!.message)
+ end
+ end
end
class Numeric