GitXplorerGitXplorer
h

hiwai

public
34 stars
1 forks
0 issues

Commits

List of commits on branch master.
Unverified
cef76e2d40eb7135f2938ab96fa11d4ca1f30dd3

version bump to 0.0.1

hhibariya committed 13 years ago
Unverified
794090d2e8ff8936ec5d4c30bbbf51e198aee1d3

words

hhibariya committed 13 years ago
Unverified
3c6b869e337e34de4870687074c71ecfec27627f

readme

hhibariya committed 13 years ago
Unverified
94bbd1adf6917ef5f517dc71df4c56916837862a

add maintenance tasks

hhibariya committed 13 years ago
Unverified
25f3f864403aff804a76bf7b106b9372b4c3f8c5

ignore tmp

hhibariya committed 13 years ago
Unverified
3957da4db2f2514e1280e86fdf3f052776864b98

use String#unpack

hhibariya committed 13 years ago

README

The README file for this repository.

Hiwai

レシーバがひわいかどうかを確認します。 公の場で表示されると困る文字列をフィルタするのが目的です。

そのような文字列をなるべく目にしないで管理できるようにすることも目標にしています。

Installation

under construction

Add this line to your application's Gemfile:

gem 'hiwai'

Or install it yourself as:

$ gem install hiwai

Usage

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します。

入力した文字は普通にエコーバックされます。

素のままで編集する

リダイレクトしなければあられもない文字列たちが標準出力に出力されます。

  1. 単語リストをプレーンなテキストに展開します
cat path/to/dictionary | rake dic:expand > temporary
  1. がんばって編集したのち保存します

  2. 変換して上書きします

cat temporary | rake dic:serialize > path/to/dictionary

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request