forgery_ja 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/Gemfile +16 -0
- data/Guardfile +9 -0
- data/README.markdown +68 -0
- data/Rakefile +4 -0
- data/forgery_ja.gemspec +22 -0
- data/init.rb +1 -0
- data/lib/forgery_ja/constant.rb +12 -0
- data/lib/forgery_ja/dictionaries/company_names_ja +50 -0
- data/lib/forgery_ja/dictionaries/female_first_names_ja +51 -0
- data/lib/forgery_ja/dictionaries/job_titles_ja +3 -0
- data/lib/forgery_ja/dictionaries/last_names_ja +50 -0
- data/lib/forgery_ja/dictionaries/male_first_names_ja +50 -0
- data/lib/forgery_ja/dictionaries/name_titles_ja +6 -0
- data/lib/forgery_ja/dictionaries/streets_ja +1 -0
- data/lib/forgery_ja/forgery_ja/address.rb +4 -0
- data/lib/forgery_ja/forgery_ja/date.rb +38 -0
- data/lib/forgery_ja/forgery_ja/monetary.rb +36 -0
- data/lib/forgery_ja/forgery_ja/name.rb +49 -0
- data/lib/forgery_ja/forgery_ja.rb +5 -0
- data/lib/forgery_ja/forgery_ja_api.rb +9 -0
- data/lib/forgery_ja/forgery_ja_railtie.rb +0 -0
- data/lib/forgery_ja/version.rb +3 -0
- data/lib/forgery_ja.rb +14 -0
- data/spec/forgery_ja/address_spec.rb +0 -0
- data/spec/forgery_ja/date_spec.rb +29 -0
- data/spec/forgery_ja/monetary_spec.rb +49 -0
- data/spec/forgery_ja/name_spec.rb +27 -0
- data/spec/spec_helper.rb +2 -0
- metadata +106 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in forgery_ja.gemspec
|
4
|
+
gem 'forgery'
|
5
|
+
|
6
|
+
group :development, :test do
|
7
|
+
gem 'rspec-rails'
|
8
|
+
|
9
|
+
gem 'guard-bundler'
|
10
|
+
gem 'guard-rspec'
|
11
|
+
|
12
|
+
gem 'libnotify', require: false
|
13
|
+
gem 'rb-inotify', require: false
|
14
|
+
gem 'rb-fsevent', require: false
|
15
|
+
gem 'growl', require: false
|
16
|
+
end
|
data/Guardfile
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard 'rspec', :version => 2 do
|
5
|
+
watch(%r{^spec/.+_spec\.rb})
|
6
|
+
watch('spec/spec_helper.rb') { "spec" }
|
7
|
+
watch(%r{^spec/.+_spec\.rb})
|
8
|
+
watch(%r{^lib/(.+)\.rb}) { |m| "spec/#{m[1]}_spec.rb" }
|
9
|
+
end
|
data/README.markdown
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
# ForgeryJa
|
2
|
+
|
3
|
+
Forgeryにおいて日本語のテストデータを作成します
|
4
|
+
|
5
|
+
## install
|
6
|
+
|
7
|
+
Add Gemfile
|
8
|
+
<pre><code>gem 'forgery_ja'</code></pre>
|
9
|
+
|
10
|
+
## Examples
|
11
|
+
|
12
|
+
### Name関連
|
13
|
+
|
14
|
+
<pre><code>ForgeryJa(:name).full_name # => "山本 健"
|
15
|
+
ForgeryJa(:name).full_name(ForgeryJa::HIRA) # => "なかむら しゅん"
|
16
|
+
ForgeryJa(:name).full_name(ForgeryJa::KANA) # => "フジタ アマネ"
|
17
|
+
ForgeryJa(:name).full_name(ForgeryJa::H_KANA) # => "タマシロ ユズハ" ... half kana
|
18
|
+
ForgeryJa(:name).full_name(ForgeryJa::ROMA) # => "suzuki midori"
|
19
|
+
ForgeryJa(:name).first_name # => "健"
|
20
|
+
ForgeryJa(:name).last_name # => "鈴木"
|
21
|
+
ForgeryJa(:name).male_first_name # => "健" ... 男性名
|
22
|
+
ForgeryJa(:name).female_first_name # => "千夏" ... 女性名
|
23
|
+
ForgeryJa(:name).company_name # => "エンプラス"
|
24
|
+
ForgeryJa(:name).job_title # => "医師"
|
25
|
+
ForgeryJa(:name).title # => "君"
|
26
|
+
</code></pre>
|
27
|
+
|
28
|
+
#### option
|
29
|
+
|
30
|
+
* ForgeryJa::HIRA(or 1)で平仮名出力
|
31
|
+
* ForgeryJa::KANA(or 2)でカナ出力
|
32
|
+
* ForgeryJa::H_KANA(or 3)で半角カナ出力
|
33
|
+
* ForgeryJa::ROMA(or 4)で半角ローマ字出力
|
34
|
+
※titleは対応してません
|
35
|
+
|
36
|
+
### Monetary(お金関連)
|
37
|
+
|
38
|
+
<pre><code>ForgeryJa(:monetary).formatted_money # => 1000円
|
39
|
+
ForgeryJa(:monetary).money # => 1000
|
40
|
+
ForgeryJa(:monetary).popularity_money # => 1980
|
41
|
+
</code></pre>
|
42
|
+
|
43
|
+
#### options
|
44
|
+
|
45
|
+
* ForgeryJa(:monetary).formatted_money(:format => '\%d') #=> \1000
|
46
|
+
* それぞれ:max => 1000, :min => 500で最大値・最小値指定が可能
|
47
|
+
|
48
|
+
<pre><code>ForgeryJa.formatted_money(:max => 10000, :min => 5000) # => 5000円 - 10000円</code></pre>
|
49
|
+
|
50
|
+
### Date(日付関連)
|
51
|
+
|
52
|
+
<pre><code>ForgeryJa(:date).month # => "3月"
|
53
|
+
ForgeryJa(:date).day_of_week # => "月曜日"</code></pre>
|
54
|
+
|
55
|
+
#### options
|
56
|
+
|
57
|
+
<pre><code>ForgeryJa(:date).month(:wa => true) # => "弥生"
|
58
|
+
ForgeryJa(:date).day_of_week(:abbr => true) # => "月"</code></pre>
|
59
|
+
|
60
|
+
## features
|
61
|
+
|
62
|
+
* Gem化したい(もうちょっと)
|
63
|
+
* Address作る
|
64
|
+
* 電話番号作る
|
65
|
+
|
66
|
+
## Copyright
|
67
|
+
|
68
|
+
Copyright (c) 2011 NAMAKESUGI, released under the MIT license
|
data/Rakefile
ADDED
data/forgery_ja.gemspec
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "forgery_ja/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "forgery_ja"
|
7
|
+
s.version = ForgeryJa::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["namakesugi"]
|
10
|
+
s.email = ["info@namakesugi.net"]
|
11
|
+
s.homepage = "https://github.com/namakesugi/forgery_ja"
|
12
|
+
s.summary = %q{Forgery for Japanese Data}
|
13
|
+
s.description = %q{Create dummy japanese data.}
|
14
|
+
|
15
|
+
s.rubyforge_project = "forgery_ja"
|
16
|
+
s.add_dependency "forgery", "~>0.3.8"
|
17
|
+
s.add_development_dependency "rspec"
|
18
|
+
s.files = `git ls-files`.split("\n")
|
19
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
|
+
s.require_paths = ["lib"]
|
22
|
+
end
|
data/init.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'forgery_ja'
|
@@ -0,0 +1,50 @@
|
|
1
|
+
エレマテック えれまてっく エレマテック エレマテック elematec
|
2
|
+
エンシュウ えんしゅう エンシュウ エンシュウ enshu
|
3
|
+
エンチョー えんちょー エンチョー エンチョー encho
|
4
|
+
エンプラス えんぷらす エンプラス エンプラス enplas
|
5
|
+
富士急行 ふじきゅうこう フジキュウコウ フジキュウコウ fujikyu
|
6
|
+
NTT西日本 えぬてぃてぃにしにほん エヌティティニシニホン エヌティティニシニホン ntt-west
|
7
|
+
エージーピー えーじーぴ エージーピー エージーピー agp
|
8
|
+
エース交易 えーすこうい エースコウイ エースコウイ acekoeki
|
9
|
+
エービーシー・マート えーびーしーまーと エービーシーマート エービシーマート abc-mart
|
10
|
+
エーワン精密 えーわんせいみつ エーワンセイミツ エーワンセイミツ a-one-seimitsu
|
11
|
+
オイレス工業 おれすこうぎょう オイレスコウギョウ オイレスコウギョウ oiles
|
12
|
+
オリジナル設計 おりじなるせっけい オリジナルせっけい オリジナルセッケイ oec-solution
|
13
|
+
オリジン電気 おりじんでんき オリジンデンキ オリジンデンキ origin
|
14
|
+
オリックス おりっくす オリックス オリックス orix
|
15
|
+
オリバー おりばー オリバー オリバー oliverinc
|
16
|
+
オリンパス おりんぱす オリンパス オリンパス olympus
|
17
|
+
オリンピック おりんぴっく オリンピック オリンピック olympic-corp
|
18
|
+
カブドットコム証券 かぶどっとこむしょうけん カブドットコムショウケン カブドットコムショウケン kabu
|
19
|
+
カメイ かめい カメイ カメイ kamei
|
20
|
+
カラカミ観光 からかみかんこう カラカミカンコウ カラカミカンコウ arakami-kankou
|
21
|
+
ガリバーインターナショナル がりばーいんたーなしょなる ガリバーインターナショナル ガリバーインターナショナル glv
|
22
|
+
カルソニックカンセイ かるそにっくかんせい カルソニックカンセイ カルソニックカンセイ calsonickansei
|
23
|
+
精工技研 せいこうぎけん セイコウギケン セイコウギケン seikoh-giken
|
24
|
+
カルナバイオサイエンス かるなばいおさいえんす カルナバイオサイエンス カルナバイオサイエンス carnabio
|
25
|
+
キーウェアソリューションズ きーうぇあそりゅーしょんず キーウェアソリューションズ キーウェアソリューションズ keyware
|
26
|
+
キーエンス きーえんす キーエンス キーエンス keyence
|
27
|
+
キーコーヒー きーこーひー キーコーヒー キーコーヒー keycoffee
|
28
|
+
クオール くおーる クオール クオール qol-net
|
29
|
+
クスリのアオキ くすりのあおき クスリノアオキ クスリノアオキ kusuri-aoki
|
30
|
+
クロップス くろっぷす クロップス クロップス crops
|
31
|
+
クロニクル くろにくる クロニクル クロニクル chronicle-net
|
32
|
+
グローウェルホールディングス ぐろーうぇるほーるでぃんぐす グローウェルホールディングス グローウェルホールディングス growell
|
33
|
+
グローバルアクト ぐろーばるあくと グローバルアクト グローバルアクト global-act
|
34
|
+
グローバルダイニング ぐろーばるだいにんぐ グローバルダイニング グローバルダイニング global-dining
|
35
|
+
京セラ きょうせら キョウセラ キョウセラ kyocera
|
36
|
+
京都ホテル きょうとほてる キョウトホテル キョウトホテル kyotohotel
|
37
|
+
琉球銀行 りゅうきゅうぎんこう リュウキュウギンコウ リュウキュウギンコウ ryugin
|
38
|
+
富士重工業 ふじじゅうこうぎょう フジジュウコウギョウ フジジュウコウギョウ fhi
|
39
|
+
放電精密加工研究所 ほうでんせいみつかこうけんきゅうじょ ホウデンセイミツカコウケンキュウジョ ホウデンセイミツカコウケンキュウジョ hsk
|
40
|
+
名鉄運輸 めいてつうんゆ メイテツウンユ メイテツウンユ meitetsuunyu
|
41
|
+
豊田合成 とよたごうせい トヨタゴウセイ トヨタゴウセイ toyoda-gosei
|
42
|
+
富士通ゼネラル ふじつうぜねらる フジツウゼネラル フジツウゼネラル fujitsu-general
|
43
|
+
明治電機工業 めいじでんきこうぎょう メイジデンキコウギョウ メイジデンキコウギョウ meijidenki
|
44
|
+
明治乳業 めいじにゅうぎょう メイジニュウギョウ メイジニュウギョウ meiji
|
45
|
+
明星工業 めいせいこうぎょう メイセイコウギョウ メイセイコウギョウ meisei-kogyo
|
46
|
+
明星電気 めいせいでんき メイセイデンキ メイセイデンキ meisei
|
47
|
+
明電舎 めいでんしゃ メイデンシャ メイデンシャ meidensha
|
48
|
+
北海道ガス ほっかいどうがす ホッカイドウガス ホッカイドウガス hokkaido-gas
|
49
|
+
富士ソフト ふじそふと フジソフト フジソフト fsi
|
50
|
+
浜松ホトニクス はままつほとにくす ハママツホトニクス ハママツホトニクス hamamatsu
|
@@ -0,0 +1,51 @@
|
|
1
|
+
恭子 きょうこ キョウコ キョウコ kyoko
|
2
|
+
はるか はるか ハルカ ハルカ haruka
|
3
|
+
こころ こころ ココロ ココロ kokoro
|
4
|
+
沙織 さおり サオリ サオリ saori
|
5
|
+
優希 ゆき ユキ ユキ yuki
|
6
|
+
朱里 しゅり シュリ シュリ syuri
|
7
|
+
瞳 ひとみ ヒトミ ヒトミ hitomi
|
8
|
+
綾音 あやね アヤネ アヤネ ayane
|
9
|
+
真帆 まほ マホ マホ maho
|
10
|
+
華子 はなこ ハナコ ハナコ hanako
|
11
|
+
咲 さき サキ サキ saki
|
12
|
+
千夏 ちなつ チナツ チナツ chinatu
|
13
|
+
彩夏 あやか アヤカ アヤカ ayaka
|
14
|
+
仁美 ひとみ ヒトミ ヒトミ hitomi
|
15
|
+
菫 かおる カオル カオル kaoru
|
16
|
+
典子 のりこ ノリコ ノリコ noriko
|
17
|
+
歩 あゆみ アユミ アユミ ayumi
|
18
|
+
希 のぞみ ノゾミ ノゾミ nozomi
|
19
|
+
友香 ともか トモカ トモカ tomoka
|
20
|
+
翠 みどり ミドリ ミドリ midori
|
21
|
+
理央 りお リオ リオ rio
|
22
|
+
由美 ゆみ ユミ ユミ yumi
|
23
|
+
友美 ともみ トモミ トモミ tomomi
|
24
|
+
瑠璃 るり ルリ ルリ ruri
|
25
|
+
祐子 ゆうこ ユウコ ユウコ yuko
|
26
|
+
蘭 らん ラン ラン ran
|
27
|
+
美希 みき ミキ ミキ miki
|
28
|
+
朱莉 あかり アカリ アカリ akari
|
29
|
+
麻美 あさみ アサミ アサミ asami
|
30
|
+
美由紀 みゆき ミユキ ミユキ miyuki
|
31
|
+
天音 あまね アマネ アマネ amane
|
32
|
+
結愛 ゆあ ユア ユア yua
|
33
|
+
美帆 みほ ミホ ミホ miho
|
34
|
+
恵美子 えみこ エミコ エミコ emiko
|
35
|
+
愛菜 あいな アイナ アイナ aina
|
36
|
+
玲子 れいこ レイコ レイコ reiko
|
37
|
+
柚葉 ゆずは ユズハ ユズハ yuzuha
|
38
|
+
雪乃 ゆきの ユキノ ユキノ yuino
|
39
|
+
奈菜 なな ナナ ナナ nana
|
40
|
+
柚希 ゆずき ユズキ ユズキ yuzuki
|
41
|
+
楓花 ふうか フウカ フウカ fuka
|
42
|
+
実咲 みさき ミサキ ミサキ misaki
|
43
|
+
陽奈 ひな ヒナ ヒナ hina
|
44
|
+
空 そら ソラ ソラ sora
|
45
|
+
真美 まみ マミ マミ mami
|
46
|
+
加奈子 かなこ カナコ カナコ kanako
|
47
|
+
真美子 まみこ マミコ マミコ mamiko
|
48
|
+
千晶 ちあき チアキ チアキ chiaki
|
49
|
+
真紀 まき マキ マキ maki
|
50
|
+
朋子 ともこ トモコ トモコ tomoko
|
51
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
佐藤 さとう サトウ サトウ sato
|
2
|
+
鈴木 すずき スズキ スズキ suzuki
|
3
|
+
高橋 たかはし タカハシ タカハシ takahashi
|
4
|
+
渡辺 わたなべ ワタナベ ワタナベ watanabe
|
5
|
+
田中 たなか タナカ タナカ tanaka
|
6
|
+
伊藤 いとう イトウ イトウ ito
|
7
|
+
山本 やまもと ヤマモト ヤマモト yamamoto
|
8
|
+
中村 なかむら ナカムラ ナカムラ nakamura
|
9
|
+
小林 こばやし コバヤシ コバヤシ kobayashi
|
10
|
+
斎藤 さいとう サイトウ サイトウ saito
|
11
|
+
加藤 かとう カトウ カトウ kato
|
12
|
+
吉田 よしだ ヨシダ ヨシダ yoshida
|
13
|
+
山田 やまだ ヤマダ ヤマダ yamada
|
14
|
+
佐々木 ささき ササキ ササキ sasaki
|
15
|
+
山口 やまぐち ヤマグチ ヤマグチ yamaguti
|
16
|
+
松本 まつもと マツモト マツモト matumoto
|
17
|
+
井上 いのうえ イノウエ イノウエ inoue
|
18
|
+
木村 きむら キムラ イムラ kimura
|
19
|
+
林 はやし ハヤシ ハヤシ hayashi
|
20
|
+
清水 しみず シミズ シミズ shimizu
|
21
|
+
山崎 やまざき ヤマザキ ヤマザキ yamazaki
|
22
|
+
池田 いけだ イケダ イケダ ikeda
|
23
|
+
阿部 あべ アベ アベ abe
|
24
|
+
森 もり モリ モリ mori
|
25
|
+
橋本 はしもと ハシモト ハシモト hashimoto
|
26
|
+
山下 やました ヤマシタ ヤマシタ yamashita
|
27
|
+
石川 いしかわ イシカワ イシカワ ishikawa
|
28
|
+
中島 なかじま ナカジマ ナカジマ nakajima
|
29
|
+
前田 まえだ マエダ マエダ maeda
|
30
|
+
藤田 ふじた フジタ フジタ fujita
|
31
|
+
獅子吼 ししく シシク シシク sisiku
|
32
|
+
小笠原 おがさわら オガサワラ オガサワラ ogasawara
|
33
|
+
相澤 あいざわ アイザワ アイザワ aizawa
|
34
|
+
相田 あいだ アイダ アイダ aida
|
35
|
+
藍田 あいだ アイダ アイダ aida
|
36
|
+
新井 あらい アライ アライ arai
|
37
|
+
荒井 あらい アライ アライ arai
|
38
|
+
高嶺 たかみね タカミネ タカミネ takamine
|
39
|
+
菊池 きくち キクチ キクチ kikuchi
|
40
|
+
平野 ひらの ヒラノ ヒラノ hirano
|
41
|
+
近藤 こんどう コンドウ コンドウ kondo
|
42
|
+
安藤 あんどう アンドウ アンドウ ando
|
43
|
+
金城 きんじょう キンジョウ キンジョウ kinjyo
|
44
|
+
玉城 たましろ タマシロ タマシロ tamashiro
|
45
|
+
宮里 みやさと ミヤサト ミヤサト miyasato
|
46
|
+
古賀 こが コガ コガ koga
|
47
|
+
古閑 こが コガ コガ koga
|
48
|
+
西森 にしもり ニシモリ ニシモリ nishimori
|
49
|
+
足立 あだち アダチ アダチ adachi
|
50
|
+
茂呂 もろ モロ モロ moro
|
@@ -0,0 +1,50 @@
|
|
1
|
+
翔太 しょうた ショウタ ショウタ syota
|
2
|
+
正太 しょうた ショウタ ショウタ syota
|
3
|
+
尚太 しょうた ショウタ ショウタ syota
|
4
|
+
翔 しょう ショウ ショウ syo
|
5
|
+
陸 りく リク リク riku
|
6
|
+
悠斗 ゆうと ユウト ユウト yuto
|
7
|
+
大輝 たいき タイキ タイキ taiki
|
8
|
+
悠人 ゆうと ユウト ユウト yuto
|
9
|
+
優斗 ゆうと ユウト ユウト yuto
|
10
|
+
優人 ゆうと ユウト ユウト yuto
|
11
|
+
翼 つばさ ツバサ ツバサ tubasa
|
12
|
+
奏太 そうた ソウタ ソウタ sota
|
13
|
+
大輝 だいき ダイキ ダイキ daiki
|
14
|
+
隼人 はやと ハヤト ハヤト hayato
|
15
|
+
悠太 ゆうた ユウタ ユウタ yuta
|
16
|
+
悠 ゆう ユウ ユウ yu
|
17
|
+
健太 けんた ケンタ ケンタ kenta
|
18
|
+
大輔 だいすけ ダイスケ ダイスケ daisuke
|
19
|
+
駿 しゅん シュン シュン シュン syun
|
20
|
+
拓海 たくみ タクミ タクミ takumi
|
21
|
+
大地 だいち ダイチ ダイチ daichi
|
22
|
+
誠 まこと マコト マコト makoto
|
23
|
+
仁 じん ジン ジン jin
|
24
|
+
大樹 だいき ダイキ ダイキ daiki
|
25
|
+
諒 りょう リョウ リョウ ryo
|
26
|
+
一郎 いちろう イチロウ イチロウ ichiro
|
27
|
+
海斗 かいと カイト カイト kaito
|
28
|
+
太一 たいち タイチ タイチ taichi
|
29
|
+
健 けん ケン ケン ken
|
30
|
+
亮太 りょうた リョウタ リョウタ ryota
|
31
|
+
涼太 りょうた リョウタ リョウタ ryota
|
32
|
+
匠 たくみ タクミ タクミ takumi
|
33
|
+
太郎 たろう タロウ タロウ taro
|
34
|
+
光 ひかる ヒカル ヒカル hikaru
|
35
|
+
一樹 かずき カズキ カズキ kazuki
|
36
|
+
啓介 けいすけ ケイスケ ケイスケ keisuke
|
37
|
+
圭太 けいた ケイタ ケイタ keita
|
38
|
+
碧 あおい アオイ アオイ aoi
|
39
|
+
大悟 だいご ダイゴ ダイゴ daigo
|
40
|
+
奏 かなで カナデ カナデ kanade
|
41
|
+
陽輝 はるき ハルキ ハルキ haruki
|
42
|
+
瞬 しゅん シュン シュン syun
|
43
|
+
拓人 たくと タクト タクト takuto
|
44
|
+
和希 かずき カズキ カズキ kazuki
|
45
|
+
明 あきら アキラ アキラ akira
|
46
|
+
隆 たかし タカシ タカシ takashi
|
47
|
+
秀樹 ひでき ヒデキ ヒデキ hideki
|
48
|
+
悟 さとる サトル サトル satoru
|
49
|
+
拓 たく タク タク taku
|
50
|
+
篤 あつし アツシ アツシ atsushi
|
@@ -0,0 +1 @@
|
|
1
|
+
相原町 あいはらまち アイハラマチ アイハラマチ Aihara-machi
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
class ForgeryJa::Date < Forgery::Date
|
3
|
+
# the day name in Japanese
|
4
|
+
JA_DAYS = %w{日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日}
|
5
|
+
# the abbreviated form day name in Japanese
|
6
|
+
JA_DAYS_ABBR = %w{日 月 火 水 木 金 土}
|
7
|
+
# the Japanese name of the month ( "WA" )
|
8
|
+
JA_MONTHS_WA = %w{睦月 如月 弥生 卯月 皐月 水無月 文月 葉月 長月 神無月 霜月 師走}
|
9
|
+
# the Japanese name of the month
|
10
|
+
JA_MONTHS = %w{1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月}
|
11
|
+
|
12
|
+
# Returns a random day name in Japanese
|
13
|
+
# @param Hash options
|
14
|
+
# @option options [String] :abbr (false) 短縮形を使うかどうか
|
15
|
+
# @return String 曜日を日本語で返します
|
16
|
+
def self.day_of_week(options={})
|
17
|
+
options.reverse_merge!(:abbr => false)
|
18
|
+
|
19
|
+
if options[:abbr]
|
20
|
+
JA_DAYS_ABBR.random
|
21
|
+
else
|
22
|
+
JA_DAYS.random
|
23
|
+
end
|
24
|
+
end
|
25
|
+
# Returns a random month name in Japanese
|
26
|
+
# @param Hash options
|
27
|
+
# @option options [String] :wa (false) 和名を使うかどうか
|
28
|
+
# @return String 月の名前を日本語で返します
|
29
|
+
def self.month(options={})
|
30
|
+
options.reverse_merge!(:wa => false)
|
31
|
+
|
32
|
+
if options[:wa]
|
33
|
+
JA_MONTHS_WA.random
|
34
|
+
else
|
35
|
+
JA_MONTHS.random
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Extensions Forgery::Monetary
|
3
|
+
class ForgeryJa::Monetary < Forgery::Monetary
|
4
|
+
# @param Hash options
|
5
|
+
# @option options [String] :format ("%d円") 金額出力の際のフォーマット
|
6
|
+
# @option options [Integer] :max (1000) 金額の最大値
|
7
|
+
# @option options [Integer] :min (0) 金額の最小値
|
8
|
+
# @return String :max - :minの間の数値に[円]を付与して返します
|
9
|
+
def self.formatted_money(options={})
|
10
|
+
options = {:format => "%d円"}.merge(options)
|
11
|
+
options[:format] % money(options)
|
12
|
+
end
|
13
|
+
|
14
|
+
# @params Hash options
|
15
|
+
# @option options [Fixnum] :max (1000) 金額の最大値
|
16
|
+
# @option options [Fixnum] :min (0) 金額の最小値
|
17
|
+
# @return Fixnum
|
18
|
+
def self.money(options={})
|
19
|
+
options = {:max => 1000,
|
20
|
+
:min => 0}.merge(options)
|
21
|
+
|
22
|
+
(options[:min]..options[:max]).random
|
23
|
+
end
|
24
|
+
|
25
|
+
# popularity in Japan
|
26
|
+
# @params Hash options
|
27
|
+
# @option options [Fixnum] :digit (4) 金額の桁
|
28
|
+
# @return Fixnum
|
29
|
+
def self.popularity_money(options={})
|
30
|
+
# TODO Popularityではない。適当過ぎる
|
31
|
+
options = {:digit => 4}.merge(options)
|
32
|
+
base_money = (1..9).random * (10 ** (options[:digit] - 1) )
|
33
|
+
return base_money if options[:digit] < 3
|
34
|
+
base_money + 98 * (10 ** (options[:digit] - 3))
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class ForgeryJa::Name < Forgery::Name
|
3
|
+
# Returns LastName in Japanese
|
4
|
+
# @params ret_type [Fixnum] 戻す形を指定します
|
5
|
+
# @example
|
6
|
+
# Forgery[:name_ja].last_name #=> "佐藤"
|
7
|
+
# Forgery[:name_ja].last_name(Forgery::NameJa::HIRA) #=> "さとう"
|
8
|
+
# Forgery[:name_ja].last_name(Forgery::NameJa::KANA) #=> "サトウ"
|
9
|
+
# Forgery[:name_ja].last_name(Forgery::NameJa::H_KANA) #=> "サトウ" = half kana
|
10
|
+
# Forgery[:name_ja].last_name(Forgery::NameJa::ROMA) #=> "sato"
|
11
|
+
# Forgery[:name_ja].last_name(nil) #=> ["佐藤", "さとう", "サトウ", "サトウ", "sato"]
|
12
|
+
def self.last_name(ret_type=ForgeryJa::KANJI)
|
13
|
+
parse(dictionaries[:last_names_ja].random, ret_type)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.first_name(ret_type=ForgeryJa::KANJI)
|
17
|
+
parse([dictionaries[:male_first_names_ja], dictionaries[:female_first_names_ja]].random.random, ret_type)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.full_name(ret_type=ForgeryJa::KANJI)
|
21
|
+
"#{self.last_name(ret_type)} #{self.first_name(ret_type)}"
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.male_first_name(ret_type=ForgeryJa::KANJI)
|
25
|
+
parse(dictionaries[:male_first_names_ja].random, ret_type)
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.female_first_name(ret_type=ForgeryJa::KANJI)
|
29
|
+
parse(dictionaries[:female_first_names_ja].random, ret_type)
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.company_name(ret_type=ForgeryJa::KANJI)
|
33
|
+
parse(dictionaries[:company_names_ja].random, ret_type)
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.job_title(ret_type=ForgeryJa::KANJI)
|
37
|
+
parse(dictionaries[:job_titles_ja].random, ret_type)
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.title
|
41
|
+
dictionaries[:name_titles_ja].random
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
def self.parse(str, ret_type)
|
46
|
+
strs = str.split(' ')
|
47
|
+
ret_type ? str[ret_type] : strs
|
48
|
+
end
|
49
|
+
end
|
File without changes
|
data/lib/forgery_ja.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'forgery'
|
2
|
+
require 'forgery_ja/forgery_ja'
|
3
|
+
require 'forgery_ja/version'
|
4
|
+
require 'forgery_ja/constant'
|
5
|
+
require 'forgery_ja/forgery_ja_api'
|
6
|
+
|
7
|
+
current_path = File.expand_path(File.dirname(__FILE__)) + '/'
|
8
|
+
Dir[current_path + 'forgery_ja/forgery_ja/**/*.rb'].uniq.each do |file|
|
9
|
+
require file
|
10
|
+
end
|
11
|
+
|
12
|
+
ForgeryJa.load_from! "#{current_path}/forgery_ja/"
|
13
|
+
#ForgeryJa.load_from! "#{ForgeryJa.rails_root}/lib/forgery" if Forgery.rails? && Rails::VERSION::STRING < "3.0.0"
|
14
|
+
#require 'forgery_ja/forgery_ja_railtie' if ForgeryJa.rails? && Rails::VERSION::STRING >= "3.0.0"
|
File without changes
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe ForgeryJa::Date do
|
5
|
+
describe ".day_of_week" do
|
6
|
+
context "何も指定しないとき" do
|
7
|
+
subject { ForgeryJa::Date::JA_DAYS.include?(ForgeryJa(:date).day_of_week) }
|
8
|
+
it "Forgery::Date::JA_DAYSのいずれか" do
|
9
|
+
should be_true
|
10
|
+
end
|
11
|
+
end
|
12
|
+
context ":abbrにtrueを指定すると" do
|
13
|
+
subject { ForgeryJa::Date::JA_DAYS_ABBR.include?(ForgeryJa(:date).day_of_week(:abbr => true)) }
|
14
|
+
it "Forgery::Date::JA_DAYS_ABBRのいずれか" do
|
15
|
+
should be_true
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
describe ".month" do
|
20
|
+
context "何も指定しないとき" do
|
21
|
+
subject { ForgeryJa::Date::JA_MONTHS.include?(ForgeryJa(:date).month) }
|
22
|
+
it { should be_true }
|
23
|
+
end
|
24
|
+
context ":abbrにtrueを指定すると" do
|
25
|
+
subject { ForgeryJa::Date::JA_MONTHS_WA.include?(ForgeryJa(:date).month(:wa => true)) }
|
26
|
+
it { should be_true }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe ForgeryJa::Monetary do
|
5
|
+
describe ".formatted_money" do
|
6
|
+
context "何も指定しないと" do
|
7
|
+
subject { ForgeryJa(:monetary).formatted_money }
|
8
|
+
it { should match /^[1-9]*[0-9]*円$/ }
|
9
|
+
end
|
10
|
+
context "formatを指定すると" do
|
11
|
+
subject { ForgeryJa(:monetary).formatted_money(:format => '\%d') }
|
12
|
+
it { should match /^\\[1-9]+[0-9]*$/ }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
describe ".popularity_money" do
|
16
|
+
context "何も指定しないと" do
|
17
|
+
subject { ForgeryJa(:monetary).popularity_money.to_s }
|
18
|
+
it { should match /^[1-9]980$/ }
|
19
|
+
end
|
20
|
+
context "digitを5にすると" do
|
21
|
+
subject { ForgeryJa(:monetary).popularity_money(:digit => 5).to_s }
|
22
|
+
it { should match /^[1-9]9800$/ }
|
23
|
+
end
|
24
|
+
context "digitを3にすると" do
|
25
|
+
subject { ForgeryJa(:monetary).popularity_money(:digit => 3).to_s }
|
26
|
+
it { should match /^[1-9]98$/ }
|
27
|
+
end
|
28
|
+
context "digitを2にすると" do
|
29
|
+
subject { ForgeryJa(:monetary).popularity_money(:digit => 2).to_s }
|
30
|
+
it { should match /^[1-9]0$/ }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe ".money" do
|
35
|
+
context "何も指定しないと" do
|
36
|
+
subject { ForgeryJa(:monetary).money }
|
37
|
+
it { should >= 0 }
|
38
|
+
it { should <= 1000 }
|
39
|
+
end
|
40
|
+
context "maxに0, minに0を指定すると" do
|
41
|
+
subject { ForgeryJa(:monetary).money(:max => 0, :min =>0) }
|
42
|
+
it { should eql 0 }
|
43
|
+
end
|
44
|
+
context "maxに1000, minに1000を指定すると" do
|
45
|
+
subject { ForgeryJa(:monetary).money(:max => 1000, :min => 1000) }
|
46
|
+
it { should eql 1000 }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe ForgeryJa::Name do
|
5
|
+
describe ".last_name" do
|
6
|
+
context "名字(漢字)が返る" do
|
7
|
+
subject { ForgeryJa(:name).last_name(ForgeryJa::KANJI) }
|
8
|
+
it { should match /^[^あ-んa-zア-ンアーン]+$/ }
|
9
|
+
end
|
10
|
+
context "名字(ひらがな)が返る" do
|
11
|
+
subject { ForgeryJa(:name).last_name(ForgeryJa::HIRA) }
|
12
|
+
it { should.is_a?(String) }
|
13
|
+
end
|
14
|
+
context "名字(カタカナ)が返る" do
|
15
|
+
subject { ForgeryJa(:name).last_name(ForgeryJa::KANA) }
|
16
|
+
it { should.is_a?(String) }
|
17
|
+
end
|
18
|
+
context "名字(半角カタカナ)が返る" do
|
19
|
+
subject { ForgeryJa(:name).last_name(ForgeryJa::H_KANA) }
|
20
|
+
it { should.is_a?(String) }
|
21
|
+
end
|
22
|
+
context "名字(ローマ字)が返る" do
|
23
|
+
subject { ForgeryJa(:name).last_name(ForgeryJa::ROMA) }
|
24
|
+
it { should.is_a?(String) }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: forgery_ja
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.1
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- namakesugi
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-06-05 00:00:00 +09:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: forgery
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.3.8
|
25
|
+
type: :runtime
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: "0"
|
36
|
+
type: :development
|
37
|
+
version_requirements: *id002
|
38
|
+
description: Create dummy japanese data.
|
39
|
+
email:
|
40
|
+
- info@namakesugi.net
|
41
|
+
executables: []
|
42
|
+
|
43
|
+
extensions: []
|
44
|
+
|
45
|
+
extra_rdoc_files: []
|
46
|
+
|
47
|
+
files:
|
48
|
+
- .gitignore
|
49
|
+
- Gemfile
|
50
|
+
- Guardfile
|
51
|
+
- README.markdown
|
52
|
+
- Rakefile
|
53
|
+
- forgery_ja.gemspec
|
54
|
+
- init.rb
|
55
|
+
- lib/forgery_ja.rb
|
56
|
+
- lib/forgery_ja/constant.rb
|
57
|
+
- lib/forgery_ja/dictionaries/company_names_ja
|
58
|
+
- lib/forgery_ja/dictionaries/female_first_names_ja
|
59
|
+
- lib/forgery_ja/dictionaries/job_titles_ja
|
60
|
+
- lib/forgery_ja/dictionaries/last_names_ja
|
61
|
+
- lib/forgery_ja/dictionaries/male_first_names_ja
|
62
|
+
- lib/forgery_ja/dictionaries/name_titles_ja
|
63
|
+
- lib/forgery_ja/dictionaries/streets_ja
|
64
|
+
- lib/forgery_ja/forgery_ja.rb
|
65
|
+
- lib/forgery_ja/forgery_ja/address.rb
|
66
|
+
- lib/forgery_ja/forgery_ja/date.rb
|
67
|
+
- lib/forgery_ja/forgery_ja/monetary.rb
|
68
|
+
- lib/forgery_ja/forgery_ja/name.rb
|
69
|
+
- lib/forgery_ja/forgery_ja_api.rb
|
70
|
+
- lib/forgery_ja/forgery_ja_railtie.rb
|
71
|
+
- lib/forgery_ja/version.rb
|
72
|
+
- spec/forgery_ja/address_spec.rb
|
73
|
+
- spec/forgery_ja/date_spec.rb
|
74
|
+
- spec/forgery_ja/monetary_spec.rb
|
75
|
+
- spec/forgery_ja/name_spec.rb
|
76
|
+
- spec/spec_helper.rb
|
77
|
+
has_rdoc: true
|
78
|
+
homepage: https://github.com/namakesugi/forgery_ja
|
79
|
+
licenses: []
|
80
|
+
|
81
|
+
post_install_message:
|
82
|
+
rdoc_options: []
|
83
|
+
|
84
|
+
require_paths:
|
85
|
+
- lib
|
86
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: "0"
|
92
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: "0"
|
98
|
+
requirements: []
|
99
|
+
|
100
|
+
rubyforge_project: forgery_ja
|
101
|
+
rubygems_version: 1.6.2
|
102
|
+
signing_key:
|
103
|
+
specification_version: 3
|
104
|
+
summary: Forgery for Japanese Data
|
105
|
+
test_files: []
|
106
|
+
|