forgery_ja 0.0.1

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 ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
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
@@ -0,0 +1,4 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rspec'
@@ -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,12 @@
1
+ class ForgeryJa
2
+ # Define RETURN_TYPE : Kanji
3
+ KANJI = 0
4
+ # Define RETURN_TYPE : Hiragana
5
+ HIRA = 1
6
+ # Define RETURN_TYPE : Katakana
7
+ KANA = 2
8
+ # Define RETURN_TYPE : Half Katakana
9
+ H_KANA = 3
10
+ # Define RETURN_TYPE : Romaji
11
+ ROMA = 4
12
+ end
@@ -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,3 @@
1
+ 医師 いし イシ イシ Doctor
2
+ お笑い芸人 おわらいげいにん オワライゲイニン オワライゲイニン Comedian
3
+ 気象予報士 きしょうよほうし キショウヨウホウシ キショウヨホウシ WeatherForecaster
@@ -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,6 @@
1
+ 先生
2
+ 教授
3
+ さん
4
+
5
+
6
+ ちゃん
@@ -0,0 +1 @@
1
+ 相原町 あいはらまち アイハラマチ アイハラマチ Aihara-machi
@@ -0,0 +1,4 @@
1
+ # coding: utf-8
2
+ # Extensions Forgery::Date
3
+ class ForgeryJa::Address < Forgery::Address
4
+ end
@@ -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
@@ -0,0 +1,5 @@
1
+ # coding: utf-8
2
+ require 'forgery/forgery'
3
+ class ForgeryJa < Forgery
4
+
5
+ end
@@ -0,0 +1,9 @@
1
+ # coding: utf-8
2
+ def ForgeryJa(forgery, method=nil, *args)
3
+ klass = "ForgeryJa::#{forgery.to_s.camelize}".constantize
4
+ if method
5
+ klass.send(method, *args)
6
+ else
7
+ klass
8
+ end
9
+ end
File without changes
@@ -0,0 +1,3 @@
1
+ class ForgeryJa
2
+ VERSION = "0.0.1"
3
+ end
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
@@ -0,0 +1,2 @@
1
+ require 'rspec'
2
+ require File.expand_path(File.dirname(__FILE__) + '/../init')
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
+