Rubyの正規表現で全角のみ、半角のみのチェックを行う方法

Ruby正規表現で入力値が全角のみ、半角のみのチェックを行う方法について。valueに値が入っている場合以下の条件になる。
# 全角を求めるには半角の条件を逆にすれば良い。
# to_sしないとstringではないというエラーになる。


■半角のみ
 unless value.to_s =~/^[ -~。-゚]*$/
  エラー処理
 end
■全角のみ
 unless value.to_s =~/^[^ -~。-゚]*$/
  エラー処理
 end]

#08.06.27 単純にunless value.to_s =~正規表現だと意味が通らないのでendまで記述を変更。