https://github.com/akicho8/normalizer
ActiveRecordのカラム値をいろんな方法で正規化するライブラリ
https://github.com/akicho8/normalizer
activerecord normalizer ruby
Last synced: 5 months ago
JSON representation
ActiveRecordのカラム値をいろんな方法で正規化するライブラリ
- Host: GitHub
- URL: https://github.com/akicho8/normalizer
- Owner: akicho8
- License: mit
- Created: 2015-02-16T08:18:48.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-03-21T08:28:22.000Z (almost 11 years ago)
- Last Synced: 2025-10-11T21:09:13.199Z (5 months ago)
- Topics: activerecord, normalizer, ruby
- Language: Ruby
- Homepage:
- Size: 168 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE.txt
Awesome Lists containing this project
README
#+OPTIONS: toc:nil num:nil author:nil creator:nil \n:nil |:t
#+OPTIONS: @:t ::t ^:t -:t f:t *:t <:t
* ActiveRecordのカラム値を簡単に正規化する仕組み
#+BEGIN_SRC ruby
class Book < ActiveRecord::Base
with_options(:hankaku => true, :strip => true) do |o|
o.normalize :title, :strip_tags => true
o.normalize :body, :enter => true
end
end
article = Book.create!(:title => "Railsの本 ")
article.title # => "Railsの本"
#+END_SRC
** 機能一覧
#+ATTR_HTML: border="1" rules="all" frame="all"
| シンボル | 意味 |
|----------------+-------------------------|
| hankaku | 英数字を半角化 |
| hiragana | カタカナをひらがな化 |
| strip_tags | タグを外す |
| scrub | 不正なバイト列を除去 |
| space_zentohan | 全角スペースを半角化 |
| enter | \r\n を \n に統一 |
| strip | 前後の半角スペース除去 |
| squish | activesupport の squish |
| truncate | 指定文字数で切る |
| blank_to_nil | blank? なら nil にする |
| to_s | 最後に to_s する |
** 単体の機能としても使える
#+BEGIN_SRC ruby
Normalizer.normalize("ruby on rails", :hankaku => true) # => "ruby on rails"
Normalizer.normalize("ドラえもん", :katakana => true) # => "ドラエモン"
Normalizer.normalize("ドラえもん", :hiragana => true) # => "どらえもん"
Normalizer.normalize("ドラえもん", :strip_tags => true) # => "ドラえもん"
Normalizer.normalize("ドラ\xffえもん", :scrub => true) # => "ドラえもん"
Normalizer.normalize("ruby on rails", :space_zentohan => true) # => "ruby on rails"
Normalizer.normalize("foo\r\nbar\r\n", :enter => true) # => "foo\nbar\n"
Normalizer.normalize(" ドラえもん ", :strip => true) # => "ドラえもん"
Normalizer.normalize(" ruby on rails ", :squish => true) # => "ruby on rails"
Normalizer.normalize("ドラえもん", :truncate => 2) # => "ドラ"
Normalizer.normalize(" ", :blank_to_nil => true) # => nil
Normalizer.normalize(nil, :to_s => true) # => ""
#+END_SRC