レシーバがひわいかどうかを確認します。 公の場で表示されると困る文字列をフィルタするのが目的です。
そのような文字列をなるべく目にしないで管理できるようにすることも目標にしています。
under construction
Add this line to your application's Gemfile:
gem 'hiwai'
Or install it yourself as:
$ gem install hiwai
require 'hiwai'
# if you have your own dictionary
Hiwai.dictionary = 'path/to/dictionary'
# String
'hibariya'.hiwai? # => false
'とっても<<よくない文字列>>です'.hiwai? # => true
'とっても<<よくない文字列>>です'.hiwai! # Hiwai::Censored: Receiver includes hiwai object
# Array
['とっても<<よくない文字列>>です'].hiwai? # => true
今は単純にレシーバをto_sした結果をString#matchでマッチさせています(もっと精度の高い方法にしたい)。 ワードの一覧はvendor/hiwai.txtの下に改行区切で置いています(まだ何もない)。 管理するときになるべく見ないためにBase64エンコーディングしています。
マッチ候補の文字列はHiwaiモジュールが持っていますが、inspectしたときにうっかり表示されないように拡張しています。
デフォルトの単語リストvendor/hiwai.txt
に単語を追加できます。
rake dic:interactive
できることは追加だけです。crtl+d
で追加した単語が保存されます。それまでの入力を破棄するにはctrl+c
します。
入力した文字は普通にエコーバックされます。
リダイレクトしなければあられもない文字列たちが標準出力に出力されます。
- 単語リストをプレーンなテキストに展開します
cat path/to/dictionary | rake dic:expand > temporary
-
がんばって編集したのち保存します
-
変換して上書きします
cat temporary | rake dic:serialize > path/to/dictionary
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request