module UserInfoNormalizer
Constants
- HYPHEN_REGEXP
ハイフンは'-'.ord.to_s(16) => ff0d に統一
- VERSION
Public Class Methods
configuration()
click to toggle source
# File lib/user_info_normalizer.rb, line 14 def configuration @configuration ||= UserInfoNormalizer::Configuration.new end
configure() { |configuration| ... }
click to toggle source
# File lib/user_info_normalizer.rb, line 10 def configure yield configuration end
Public Instance Methods
normalize_address()
click to toggle source
# File lib/user_info_normalizer.rb, line 30 def normalize_address # 数字の前後で長音などはありえないのでハイフンに直す, 数字も全角に self.tr('0-9', '0-9') .gsub(/([0-9])(#{UserInfoNormalizer::HYPHEN_REGEXP})+/, '\1-') .squeeze('-') .strip end
normalize_name_kana()
click to toggle source
# File lib/user_info_normalizer.rb, line 20 def normalize_name_kana case UserInfoNormalizer::configuration.name_kana_form when 'ピティナ タロウ' self.tr(' ', ' ').squeeze(' ').to_katakana else # default: 'ピティナ タロウ' self.tr(' ', ' ').squeeze(' ').to_hankaku_katakana end.strip end
normalize_tel()
click to toggle source
# File lib/user_info_normalizer.rb, line 64 def normalize_tel case UserInfoNormalizer::configuration.tel_form when '012-3456-7890' self.tr('0-9', '0-9').tr(' ', ' ') .gsub(/#{UserInfoNormalizer::HYPHEN_REGEXP}/, '-') .squeeze('-') .delete("^0-9|-| ").strip.tr(' ', '-') else # default: '123-4567' self.tr('0-9', '0-9').tr(' ', ' ') .gsub(/#{UserInfoNormalizer::HYPHEN_REGEXP}/, '-') .squeeze('-') .delete("^0-9|-| ").strip.tr(' ', '-') end end
normalize_zip_code()
click to toggle source
# File lib/user_info_normalizer.rb, line 38 def normalize_zip_code case UserInfoNormalizer::configuration.zip_code_form when '123-4567' str = self.tr('0-9', '0-9') .gsub(/#{UserInfoNormalizer::HYPHEN_REGEXP}/, '-') .squeeze('-') .delete("^0-9|-") if str.length == 7 && str =~ /\A[0-9]+\z/ # 数字7文字だった場合 str.insert(3, '-') end str else # default: '123-4567' str = self.tr('0-9', '0-9') .gsub(/#{UserInfoNormalizer::HYPHEN_REGEXP}/, '-') .squeeze('-') .delete("^0-9|-") if str.length == 7 && str =~ /\A[0-9]+\z/ # 全角数字7文字だった場合 str.insert(3, '-') end str end.strip end
to_hankaku_katakana()
click to toggle source
ひらがな、カタカナ混じりのものをすべて半角カナに変換
# File lib/user_info_normalizer.rb, line 89 def to_hankaku_katakana NKF.nkf('-w -Z4', to_katakana) end
to_hiragana()
click to toggle source
# File lib/user_info_normalizer.rb, line 80 def to_hiragana NKF.nkf('-w --hiragana', self) end
to_katakana()
click to toggle source
# File lib/user_info_normalizer.rb, line 84 def to_katakana NKF.nkf('-w --katakana', self) end