charwidth
Normalize Unicode fullwidth / halfwidth (zenkaku / hankaku) characters.
Installation
Add this line to your application's Gemfile:
gem 'charwidth'
And then execute:
$ bundle
Or install it yourself as:
$ gem install charwidth
Usage
require "charwidth"
Charwidth.normalize("Hello, World!") # => "Hello, World!"
Charwidth.normalize!("Hello, World!") # destructive
Charwidth.normalize("「ハローワールド」") # => "「ハローワールド」"
Or extend String class.
require "charwidth/string"
"Hello, World!".normalize_charwidth # => "Hello, World!"
"Hello, World!".normalize_charwidth! # => destructive
"「ハローワールド」".normalize_charwidth # => "「ハローワールド」"
Rails integration
Add lines below to app/models/application_record.rb
.
require "charwidth/active_model"
class ApplicationRecord < ActiveRecord::Base
include Charwidth::ActiveModel
end
And call normalize_charwidth
class method in model class.
class Article < ActiveRecord::Base
normalize_charwidth :title, :body
end
a = Article.new(title: "Hello, World!")
a.title # => "Hello, World!"
CLI
# Call charwidth command with arguments
$ charwidth "Hello, World!"
Hello, World!
# Or as STDIN
$ echo "Hello, World!" | charwidth
Hello, World!
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request