# JpPrefecture

https://rubygems.org/gems/jp_prefecture

## jp_prefecture とは

都道府県コードと都道府県名を変換するライブラリです。

JIS X 0402 で定義されている都道府県コードをベースに、
ゼロから始まるものはゼロを削除して使用しています。

    北海道: 01 -> 1
    東京都: 13 -> 13

参考: [Wikipedia: 全国地方公共団体コード](http://ja.wikipedia.org/wiki/%E5%85%A8%E5%9B%BD%E5%9C%B0%E6%96%B9%E5%85%AC%E5%85%B1%E5%9B%A3%E4%BD%93%E3%82%B3%E3%83%BC%E3%83%89#.E9.83.BD.E9.81.93.E5.BA.9C.E7.9C.8C.E3.82.B3.E3.83.BC.E3.83.89)

また、Rails のプラグインとして使用することもできます。

## インストール方法

Gemfile に記述してインストールするか:

    gem 'jp_prefecture'

    $ bundle

手動でインストールしてください:

    $ gem install jp_prefecture

## 使い方

### 都道府県コードから都道府県名を取得

    pref = JpPrefecture::Prefecture.find 13
    # => #<JpPrefecture::Prefecture:0x007fd0a3d43fe8 @code=13, @name="東京都">
    pref.code
    # => 13
    pref.name
    # => "東京都"

### 都道府県の一覧を取得

    JpPrefecture::Prefecture.all
    # => [#<JpPrefecture::Prefecture:0x007fd0a3d78d38 @code=1, @name="北海道">, ...]

### ActiveRecord で使用する

`ActiveRecord::Base` を継承した Model に include し、`jp_prefecture` を呼び出すことで、
都道府県コードを扱うことができます。

app/models/place.rb:

    class Place < ActiveRecord::Base
      # prefecture_code:integer

      include JpPrefecture
      jp_prefecture :prefecture_code
    end

`prefecture` というメソッドが生成され、都道府県コード、都道府県名が参照できるようになります。:

    place = Place.new
    place.prefecture_code = 13
    place.prefecture.name
    # => "東京都"

### テンプレートで使用する

`collection_select` を使用して、都道府県のセレクトボックスを生成することができます。:

    f.collection_select :prefecture_code, JpPrefecture::Prefecture.all, :code, :name

## ドキュメント

[http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index](http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index)

## TODO

* 生成するメソッド名を指定できるようにする
  * 現在は `prefecture` 固定
* バリデーター
* i18n?(tokyo などの文字列に対応)
* ドキュメントを書く
* JIS X 0402 で定義されている正規のコードをサポート?

## 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