jp_prefecture 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/Gemfile +0 -1
- data/README.md +19 -23
- data/jp_prefecture.gemspec +1 -9
- data/lib/jp_prefecture.rb +8 -4
- data/lib/jp_prefecture/base.rb +24 -1
- data/lib/jp_prefecture/configuration.rb +23 -0
- data/lib/jp_prefecture/model.rb +10 -2
- data/lib/jp_prefecture/prefecture.rb +1 -0
- data/lib/jp_prefecture/version.rb +1 -1
- data/spec/jp_prefecture_spec.rb +16 -1
- data/spec/lib/base_spec.rb +16 -0
- data/spec/lib/configuration_spec.rb +17 -0
- data/spec/lib/model_spec.rb +62 -0
- data/spec/{prefecture_spec.rb → lib/prefecture_spec.rb} +0 -0
- data/spec/spec_helper.rb +1 -4
- metadata +16 -92
- data/Guardfile +0 -5
- data/spec/active_record_spec.rb +0 -35
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,9 +1,20 @@
|
|
1
1
|
# JpPrefecture
|
2
2
|
|
3
|
+
https://rubygems.org/gems/jp_prefecture
|
4
|
+
|
3
5
|
## jp_prefecture とは
|
4
6
|
|
5
7
|
都道府県コードと都道府県名を変換するライブラリです。
|
6
|
-
|
8
|
+
|
9
|
+
JIS X 0402 で定義されている都道府県コードをベースに、
|
10
|
+
ゼロから始まるものはゼロを削除して使用しています。
|
11
|
+
|
12
|
+
北海道: 01 -> 1
|
13
|
+
東京都: 13 -> 13
|
14
|
+
|
15
|
+
参考: [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)
|
16
|
+
|
17
|
+
また、Rails のプラグインとして使用することもできます。
|
7
18
|
|
8
19
|
## インストール方法
|
9
20
|
|
@@ -31,22 +42,20 @@ Gemfile に記述してインストールするか:
|
|
31
42
|
### 都道府県の一覧を取得
|
32
43
|
|
33
44
|
JpPrefecture::Prefecture.all
|
34
|
-
# => [#<JpPrefecture::Prefecture:0x007fd0a3d78d38 @code=1, @name="北海道">, ...
|
45
|
+
# => [#<JpPrefecture::Prefecture:0x007fd0a3d78d38 @code=1, @name="北海道">, ...]
|
35
46
|
|
36
47
|
### ActiveRecord で使用する
|
37
48
|
|
38
49
|
`ActiveRecord::Base` を継承した Model に include し、`jp_prefecture` を呼び出すことで、
|
39
50
|
都道府県コードを扱うことができます。
|
40
51
|
|
41
|
-
**NOTE:** 現在、カラム名は `prefecture_code` 固定です。(変更できるようにします)
|
42
|
-
|
43
52
|
app/models/place.rb:
|
44
53
|
|
45
54
|
class Place < ActiveRecord::Base
|
46
|
-
# prefecture_code:
|
55
|
+
# prefecture_code:integer
|
47
56
|
|
48
57
|
include JpPrefecture
|
49
|
-
jp_prefecture
|
58
|
+
jp_prefecture :prefecture_code
|
50
59
|
end
|
51
60
|
|
52
61
|
`prefecture` というメソッドが生成され、都道府県コード、都道府県名が参照できるようになります。:
|
@@ -58,35 +67,22 @@ app/models/place.rb:
|
|
58
67
|
|
59
68
|
### テンプレートで使用する
|
60
69
|
|
61
|
-
`collection_select`
|
70
|
+
`collection_select` を使用して、都道府県のセレクトボックスを生成することができます。:
|
62
71
|
|
63
72
|
f.collection_select :prefecture_code, JpPrefecture::Prefecture.all, :code, :name
|
64
73
|
|
65
|
-
## 都道府県コードと都道府県名のマッピングについて
|
66
|
-
|
67
|
-
JIS X 0402 で定義されている都道府県コードをベースに、
|
68
|
-
ゼロから始まるものはゼロを削除して使用しています。
|
69
|
-
|
70
|
-
北海道 01 -> 1
|
71
|
-
東京都 13 -> 13
|
72
|
-
|
73
|
-
要望があれば JIS X 0402 で定義されている正規のコードもサポートするようにします。
|
74
|
-
|
75
|
-
参考: [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)
|
76
|
-
|
77
74
|
## ドキュメント
|
78
75
|
|
79
|
-
[http://rdoc.info/github/chocoby/jp_prefecture/master/index](http://rdoc.info/github/chocoby/jp_prefecture/master/index)
|
76
|
+
[http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index](http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index)
|
80
77
|
|
81
78
|
## TODO
|
82
79
|
|
83
|
-
* 対象カラムを指定できるようにする
|
84
|
-
* 現在は `prefecture_code` 固定
|
85
80
|
* 生成するメソッド名を指定できるようにする
|
86
81
|
* 現在は `prefecture` 固定
|
87
82
|
* バリデーター
|
88
83
|
* i18n?(tokyo などの文字列に対応)
|
89
|
-
*
|
84
|
+
* ドキュメントを書く
|
85
|
+
* JIS X 0402 で定義されている正規のコードをサポート?
|
90
86
|
|
91
87
|
## Contributing
|
92
88
|
|
data/jp_prefecture.gemspec
CHANGED
@@ -16,15 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.version = JpPrefecture::VERSION
|
17
17
|
|
18
18
|
gem.add_development_dependency "rake"
|
19
|
-
gem.add_development_dependency "
|
20
|
-
gem.add_development_dependency "redcarpet"
|
21
|
-
|
22
|
-
gem.add_development_dependency "awesome_print"
|
23
|
-
|
19
|
+
gem.add_development_dependency "rspec", "~> 2.12.0"
|
24
20
|
gem.add_development_dependency "activerecord", ">= 3.2.0"
|
25
21
|
gem.add_development_dependency "sqlite3"
|
26
|
-
|
27
|
-
gem.add_development_dependency "rspec", "~> 2.12.0"
|
28
|
-
gem.add_development_dependency "guard-rspec", "~> 2.4.0"
|
29
|
-
gem.add_development_dependency "growl-rspec", "~> 0.0.1"
|
30
22
|
end
|
data/lib/jp_prefecture.rb
CHANGED
@@ -1,14 +1,18 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
require "jp_prefecture/version"
|
3
|
-
require "jp_prefecture/mapping"
|
4
|
-
require "jp_prefecture/prefecture"
|
5
2
|
require "jp_prefecture/base"
|
6
|
-
require "jp_prefecture/
|
3
|
+
require "jp_prefecture/configuration"
|
4
|
+
require "jp_prefecture/prefecture"
|
5
|
+
require "jp_prefecture/version"
|
7
6
|
|
8
7
|
module JpPrefecture
|
9
8
|
def self.included(model_class)
|
9
|
+
model_class.extend self
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.extended(model_class)
|
10
13
|
model_class.instance_eval do
|
11
14
|
extend Base
|
15
|
+
@jp_prefecture_config = Class.new(Configuration).new(self)
|
12
16
|
end
|
13
17
|
end
|
14
18
|
end
|
data/lib/jp_prefecture/base.rb
CHANGED
@@ -1,8 +1,31 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
require "jp_prefecture/model"
|
3
|
+
|
2
4
|
module JpPrefecture
|
3
5
|
module Base
|
4
|
-
|
6
|
+
# モデル内の設定を行う
|
7
|
+
#
|
8
|
+
# 第 1 引数には変換対象のカラムを指定する:
|
9
|
+
#
|
10
|
+
# class Place < ActiveRecord::Base
|
11
|
+
# include JpPrefecture
|
12
|
+
# jp_prefecture :prefecture_code
|
13
|
+
# end
|
14
|
+
#
|
15
|
+
# @param [Symbol] column_name 変換対象のカラム
|
16
|
+
def jp_prefecture(column_name, options = {})
|
17
|
+
column_name = column_name.to_sym if column_name.is_a?(String)
|
18
|
+
options.merge!(:column_name => column_name)
|
19
|
+
jp_prefecture_config.send(:set, options)
|
20
|
+
|
5
21
|
include JpPrefecture::Model
|
6
22
|
end
|
23
|
+
|
24
|
+
# モデルクラスの設定を返す
|
25
|
+
#
|
26
|
+
# @return [JpPrefecture::Configuration]
|
27
|
+
def jp_prefecture_config
|
28
|
+
@jp_prefecture_config
|
29
|
+
end
|
7
30
|
end
|
8
31
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
module JpPrefecture
|
3
|
+
class Configuration
|
4
|
+
# モデルクラス
|
5
|
+
# @return ActiveRecord::Base
|
6
|
+
attr_accessor :model_class
|
7
|
+
|
8
|
+
# 変換対象のカラム
|
9
|
+
# @return [Symbol]
|
10
|
+
attr_accessor :column_name
|
11
|
+
|
12
|
+
def initialize(model_class)
|
13
|
+
@model_class = model_class
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
# オプションをセットする
|
19
|
+
def set(values)
|
20
|
+
values && values.each { |name, value| self.send :"#{name}=", value }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/jp_prefecture/model.rb
CHANGED
@@ -6,10 +6,18 @@ module JpPrefecture
|
|
6
6
|
# p = Place.new
|
7
7
|
# p.prefecture_code = 1
|
8
8
|
# p.prefecture
|
9
|
-
# # => #<JpPrefecture::Prefecture:0x007fd0a3d10f30 @code=1, @name="北海道">
|
9
|
+
# # => #<JpPrefecture::Prefecture:0x007fd0a3d10f30 @code=1, @name="北海道">
|
10
10
|
module Model
|
11
11
|
def prefecture
|
12
|
-
|
12
|
+
column_name = jp_prefecture_config.column_name
|
13
|
+
JpPrefecture::Prefecture.find(self.send(column_name))
|
14
|
+
end
|
15
|
+
|
16
|
+
# モデルクラスの設定を返す
|
17
|
+
#
|
18
|
+
# @return [JpPrefecture::Configuration]
|
19
|
+
def jp_prefecture_config
|
20
|
+
self.class.jp_prefecture_config
|
13
21
|
end
|
14
22
|
end
|
15
23
|
end
|
data/spec/jp_prefecture_spec.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe JpPrefecture do
|
5
|
-
describe '.
|
5
|
+
describe '.included' do
|
6
6
|
subject do
|
7
7
|
Class.new(ActiveRecord::Base) do
|
8
8
|
include JpPrefecture
|
@@ -11,4 +11,19 @@ describe JpPrefecture do
|
|
11
11
|
|
12
12
|
it { should respond_to(:jp_prefecture) }
|
13
13
|
end
|
14
|
+
|
15
|
+
describe '.extended' do
|
16
|
+
subject do
|
17
|
+
Class.new(ActiveRecord::Base) do
|
18
|
+
extend JpPrefecture
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it { should respond_to(:jp_prefecture) }
|
23
|
+
end
|
24
|
+
|
25
|
+
describe 'include されていない' do
|
26
|
+
subject { Class.new(ActiveRecord::Base) }
|
27
|
+
it { should_not respond_to(:jp_prefecture) }
|
28
|
+
end
|
14
29
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe JpPrefecture::Base do
|
5
|
+
describe '#jp_prefecture' do
|
6
|
+
before do
|
7
|
+
@model_class = Class.new(ActiveRecord::Base) do
|
8
|
+
self.abstract_class = true
|
9
|
+
include JpPrefecture
|
10
|
+
jp_prefecture 'aiueo'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it { @model_class.jp_prefecture_config.column_name.should eq :aiueo }
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe JpPrefecture::Configuration do
|
5
|
+
before do
|
6
|
+
@model_class = Class.new(ActiveRecord::Base) do
|
7
|
+
self.abstract_class = true
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#initialize' do
|
12
|
+
describe 'モデルクラスについて' do
|
13
|
+
before { @config = JpPrefecture::Configuration.new(@model_class) }
|
14
|
+
it { @config.model_class.should eq @model_class }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe JpPrefecture::Model do
|
5
|
+
describe '#prefecture' do
|
6
|
+
describe 'カラム名の指定について' do
|
7
|
+
context 'prefecture_code' do
|
8
|
+
before do
|
9
|
+
class Place < ActiveRecord::Base
|
10
|
+
include JpPrefecture
|
11
|
+
jp_prefecture :prefecture_code
|
12
|
+
end
|
13
|
+
|
14
|
+
@model_class = Place.new(:prefecture_code => 1)
|
15
|
+
end
|
16
|
+
|
17
|
+
it { @model_class.prefecture.name.should eq '北海道' }
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'prefecture_id' do
|
21
|
+
before do
|
22
|
+
class Place < ActiveRecord::Base
|
23
|
+
include JpPrefecture
|
24
|
+
jp_prefecture :prefecture_id
|
25
|
+
end
|
26
|
+
|
27
|
+
@model_class = Place.new(:prefecture_id => 1)
|
28
|
+
end
|
29
|
+
|
30
|
+
it { @model_class.prefecture.name.should eq '北海道' }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe '検索について' do
|
35
|
+
before do
|
36
|
+
class Place < ActiveRecord::Base
|
37
|
+
include JpPrefecture
|
38
|
+
jp_prefecture :prefecture_code
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context '都道府県が見つかった' do
|
43
|
+
before do
|
44
|
+
@model_class = Place.new(:prefecture_code => 1)
|
45
|
+
end
|
46
|
+
|
47
|
+
it { @model_class.should respond_to(:prefecture) }
|
48
|
+
it { @model_class.prefecture.should be_an_instance_of(JpPrefecture::Prefecture) }
|
49
|
+
it { @model_class.prefecture.name.should eq '北海道' }
|
50
|
+
end
|
51
|
+
|
52
|
+
context '都道府県が見つからなかった' do
|
53
|
+
before do
|
54
|
+
@model_class = Place.new(:prefecture_code => 999)
|
55
|
+
end
|
56
|
+
|
57
|
+
it { @model_class.should respond_to(:prefecture) }
|
58
|
+
it { @model_class.prefecture.should be_nil }
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
require 'rubygems'
|
3
2
|
require 'jp_prefecture'
|
4
|
-
|
5
3
|
require "active_record"
|
6
4
|
|
7
|
-
require 'awesome_print'
|
8
|
-
|
9
5
|
RSpec.configure do |config|
|
10
6
|
config.before(:suite) do
|
11
7
|
setup_db
|
@@ -22,6 +18,7 @@ def setup_db
|
|
22
18
|
ActiveRecord::Schema.define(:version => 1) do
|
23
19
|
create_table :places do |t|
|
24
20
|
t.integer :prefecture_code
|
21
|
+
t.integer :prefecture_id
|
25
22
|
end
|
26
23
|
end
|
27
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jp_prefecture
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -28,53 +28,21 @@ dependencies:
|
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :development
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: redcarpet
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: awesome_print
|
31
|
+
name: rspec
|
64
32
|
requirement: !ruby/object:Gem::Requirement
|
65
33
|
none: false
|
66
34
|
requirements:
|
67
|
-
- -
|
35
|
+
- - ~>
|
68
36
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
37
|
+
version: 2.12.0
|
70
38
|
type: :development
|
71
39
|
prerelease: false
|
72
40
|
version_requirements: !ruby/object:Gem::Requirement
|
73
41
|
none: false
|
74
42
|
requirements:
|
75
|
-
- -
|
43
|
+
- - ~>
|
76
44
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
45
|
+
version: 2.12.0
|
78
46
|
- !ruby/object:Gem::Dependency
|
79
47
|
name: activerecord
|
80
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,54 +75,6 @@ dependencies:
|
|
107
75
|
- - ! '>='
|
108
76
|
- !ruby/object:Gem::Version
|
109
77
|
version: '0'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: rspec
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ~>
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 2.12.0
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ~>
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 2.12.0
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: guard-rspec
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ~>
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 2.4.0
|
134
|
-
type: :development
|
135
|
-
prerelease: false
|
136
|
-
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ~>
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: 2.4.0
|
142
|
-
- !ruby/object:Gem::Dependency
|
143
|
-
name: growl-rspec
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
|
-
requirements:
|
147
|
-
- - ~>
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: 0.0.1
|
150
|
-
type: :development
|
151
|
-
prerelease: false
|
152
|
-
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ~>
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 0.0.1
|
158
78
|
description: Convert japan prefecture code(JIS X 0402 based) into prefecture name.
|
159
79
|
email:
|
160
80
|
- chocoby@gmail.com
|
@@ -165,20 +85,22 @@ files:
|
|
165
85
|
- .gitignore
|
166
86
|
- .rspec
|
167
87
|
- Gemfile
|
168
|
-
- Guardfile
|
169
88
|
- LICENSE
|
170
89
|
- README.md
|
171
90
|
- Rakefile
|
172
91
|
- jp_prefecture.gemspec
|
173
92
|
- lib/jp_prefecture.rb
|
174
93
|
- lib/jp_prefecture/base.rb
|
94
|
+
- lib/jp_prefecture/configuration.rb
|
175
95
|
- lib/jp_prefecture/mapping.rb
|
176
96
|
- lib/jp_prefecture/model.rb
|
177
97
|
- lib/jp_prefecture/prefecture.rb
|
178
98
|
- lib/jp_prefecture/version.rb
|
179
|
-
- spec/active_record_spec.rb
|
180
99
|
- spec/jp_prefecture_spec.rb
|
181
|
-
- spec/
|
100
|
+
- spec/lib/base_spec.rb
|
101
|
+
- spec/lib/configuration_spec.rb
|
102
|
+
- spec/lib/model_spec.rb
|
103
|
+
- spec/lib/prefecture_spec.rb
|
182
104
|
- spec/spec_helper.rb
|
183
105
|
homepage: https://github.com/chocoby/jp_prefecture
|
184
106
|
licenses: []
|
@@ -205,8 +127,10 @@ signing_key:
|
|
205
127
|
specification_version: 3
|
206
128
|
summary: Convert japan prefecture code into prefecture name
|
207
129
|
test_files:
|
208
|
-
- spec/active_record_spec.rb
|
209
130
|
- spec/jp_prefecture_spec.rb
|
210
|
-
- spec/
|
131
|
+
- spec/lib/base_spec.rb
|
132
|
+
- spec/lib/configuration_spec.rb
|
133
|
+
- spec/lib/model_spec.rb
|
134
|
+
- spec/lib/prefecture_spec.rb
|
211
135
|
- spec/spec_helper.rb
|
212
136
|
has_rdoc:
|
data/Guardfile
DELETED
data/spec/active_record_spec.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
require 'spec_helper'
|
3
|
-
|
4
|
-
class Place < ActiveRecord::Base
|
5
|
-
include JpPrefecture
|
6
|
-
jp_prefecture
|
7
|
-
end
|
8
|
-
|
9
|
-
describe ActiveRecord do
|
10
|
-
describe 'include されていない' do
|
11
|
-
before { @klass = Class.new(ActiveRecord::Base) }
|
12
|
-
it { @klass.should_not respond_to(:jp_prefecture) }
|
13
|
-
end
|
14
|
-
|
15
|
-
describe '普通のモデル' do
|
16
|
-
context '都道府県が見つかった場合' do
|
17
|
-
before do
|
18
|
-
@model_class = Place.new(:prefecture_code => 1)
|
19
|
-
end
|
20
|
-
|
21
|
-
it { @model_class.should respond_to(:prefecture) }
|
22
|
-
it { @model_class.prefecture.should be_an_instance_of(JpPrefecture::Prefecture) }
|
23
|
-
it { @model_class.prefecture.name.should eq '北海道' }
|
24
|
-
end
|
25
|
-
|
26
|
-
context '都道府県が見つからなかった場合' do
|
27
|
-
before do
|
28
|
-
@model_class = Place.new(:prefecture_code => 999)
|
29
|
-
end
|
30
|
-
|
31
|
-
it { @model_class.should respond_to(:prefecture) }
|
32
|
-
it { @model_class.prefecture.should be_nil }
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|