ffaker 1.8.1 → 1.9.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,124 @@
1
+ # encoding: utf-8
2
+ module Faker
3
+ module NameJA
4
+ extend ModuleUtils
5
+ extend self
6
+
7
+ def name
8
+ "#{first_name}#{last_name}"
9
+ end
10
+
11
+ def first_name
12
+ FIRST_NAMES.rand
13
+ end
14
+
15
+ def last_name
16
+ LAST_NAMES.rand
17
+ end
18
+
19
+ def last_first
20
+ "#{last_name}#{first_name}"
21
+ end
22
+
23
+ LAST_NAMES = k %w(佐藤 高橋 佐々木 鈴木 伊藤 田中 吉田 渡辺 小林 中村 加藤 山本 斎藤 山田 阿部
24
+ 木村 工藤 三浦 斉藤 菅原 林 菊地 山口 山崎 千葉 池田 長谷川 藤田 村上 遠藤
25
+ 本間 石川 松本 森 太田 後藤 橋本 清水 成田 松田 前田 中川 小野 坂本 武田
26
+ 高田 田村 山下 小川 近藤 井上 五十嵐 横山 川村 西村 柴田 岡田 石田 中島 竹内
27
+ 中野 渡部 藤原 鎌田 熊谷 三上 石井 中山 福田 谷口 小野寺 沢田 藤井 原田 今野
28
+ 酒井 中田 和田 久保 大西 上田 青木 金子 山内 宮崎 村田 上野 小笠原 岡本 大野
29
+ 小松 安藤 宮本 及川 今井 菅野 畠山 高木 菊池 安田 野村 古川 平野 高野 森田
30
+ 杉本 松井 渋谷 木下 小山 本田 丸山 辻 須藤 岩崎 松浦 桜井 東 原 細川
31
+ 西田 堀 吉川 佐野 久保田 川口 杉山 竹田 北村 西川 浅野 葛西 平田 青山 奥山
32
+ 藤本 水野 大橋 南 島田 福井 小島 荒木 小原 小西 大谷 牧野 黒田 川上 飯田
33
+ 松原 永井 多田 広瀬 泉 小田 田口 増田 大塚 岡崎 早坂 土田 中西 樋口 尾崎
34
+ 内田 北川 伊東 長尾 金沢 相馬 松岡 野口 関 星 岩田 高山 清野 村井 坂井
35
+ 大久保 片山 今 野田 馬場 川崎 大島 宮下 石山 宮川 山岸 富田 松村 荒井 前川
36
+ 吉岡 小泉 吉村 矢野 星野 市川 新井 関口 土屋 栗原 榎本 秋山 小池 吉野 福島
37
+ 関根 萩原 河野 内藤 小沢 田辺 望月 佐久間 齋藤 川島 早川 服部 飯塚 飯島 横田
38
+ 内山 岡部 山中 石原 町田 武藤 平井 根本 田島 大沢 村山 篠原 石塚 宮田 天野
39
+ 松尾 志村 桑原 若林 小倉 金井 石橋 上原 杉浦 神谷 榊原 河合 浅井 稲垣 水谷
40
+ 丹羽 横井 村瀬 永田 鬼頭 都築 石黒 奥村 三輪 白井 久野 中根 新美 安井 深谷
41
+ 堀田 平松 鳥居 岩瀬 村松 河村 森下 夏目 日比野 梅村 成瀬 松下 荒川 古田 足立
42
+ 小出 鵜飼 西尾 塚本 大竹 戸田 本多 今泉 長坂 犬飼 加納 尾関 川合 坂野 八木
43
+ 間瀬 松永 磯部 奥田 三宅 高須 古賀 堤 白石 緒方 花田 江口 徳永 梶原 安部
44
+ 江崎 井手 坂田 大石 中原 中尾 江藤 坂口 田代 西 森山 野中 下川 平川 平山
45
+ 原口 川原 林田 入江 松崎 宮原 大庭 城戸 牛島 大坪 重松 岡 上村 浜田 長野
46
+ 西山 鶴田 岩本 園田 安永 藤野 竹下 立石 中嶋 藤木 江頭 吉武 藤 日高 松藤
47
+ 甲斐 小柳 有吉 野見山 藤川 手島 吉永 黒木 香月 白水 八尋 桑野 比嘉 金城 大城
48
+ 宮城 新垣 玉城 島袋 平良 山城 知念 宮里 仲宗根 下地 照屋 砂川 城間 仲村 新里
49
+ 新城 安里 伊波 赤嶺 上地 又吉 具志樫 高良 仲間 国吉 与那嶺 仲里 長嶺 外間 与那覇
50
+ 上間 友利 仲本 川満 喜屋武 宮平 当山 伊佐 喜納 岸本 与儀 儀間 高江洲 池原 嘉数
51
+ 知花 翁長 花城 呉屋 野原 棚原 内間 糸数 大嶺 桃原 当間 上江洲 伊礼 玉那覇 長浜
52
+ 喜友名 仲田 宮良 小橋川 浦崎 幸地 山川 渡久地 上里 仲地 東江 稲福 屋良 渡慶次 田場
53
+ 仲松 山里 末吉 古樫 当真 我那覇 崎浜 根間 名嘉 石垣 狩俣 渡嘉敷 久高 津波古 崎原
54
+ 池間 仲村渠 屋宜 宮国 友寄 稲嶺 古謝 新崎 大田 米須 屋比久 親川 神里 大浜 奥間
55
+ 佐久川 銘苅 真栄城 崎山 嶺井 垣花 松川 新川 瑞慶覧 津波 西平 當山 名嘉真 知名 具志
56
+ 当銘 与座 津嘉山 渡口 宜保 我如古 安谷屋 久場 兼城 佐久本 奥平 前原 嘉陽 島尻 諸見里
57
+ 桑江 真栄田 運天 伊敷 多和田 謝花 安慶名 豊里 前里 比屋根 小浜 伊芸 久貝 西銘 与那城
58
+ 名城 玉寄 仲程 饒平名 親泊 神山 東恩納 嘉手苅 本村 天久 下里 山入端 真喜志 伊集 古波蔵
59
+ 福地 仲原 波平 高嶺 浜川 石嶺 伊良波 仲嶺 喜瀬 洲鎌 宇良 幸喜 小波津 前泊 川畑
60
+ 松元 有村 坂元 橋口 今村 有馬 福元 鮫島 福永 岩元 山元 大迫 田畑 福留 大山
61
+ 内村 岩下 松山 若松 瀬戸口 迫田 福山 児玉 浜崎 堀之内 宇都 徳田 竹之内 川野 藤崎
62
+ 永山 宮内 吉留 永吉 柳田 永野 肥後 有川 木場 中間 野元 徳留 田原 迫 仮屋
63
+ 畠中 平 奥 木原 新村 脇田 窪田 中園 下野 別府 牧 折田 山之内 岡元 岩切
64
+ 川路 市来 徳重 平原 小園 寺田 四元 栄 上園 宮脇 上山 中馬 伊地知 安楽 神田
65
+ 末永 谷山 堂園 川添 片平 野崎 溝口 吉元 下村 加治屋 副島 岩永 岸川 北島 石丸
66
+ 横尾 森永 陣内 土井 牟田 武富 宮地 大串 吉原 脇山 南里 筒井 高尾 草場 江島
67
+ 富永 一ノ瀬 百武 納富 樋渡 浦川 光武 秀島 東島 水田 深川 蒲原 嘉村 市丸 末次
68
+ 寺崎 西岡 糸山 峰松 真崎 梅崎 村岡 大隈 藤瀬 本山 諸岡 片渕 川久保 天本 溝上
69
+ 松隈 吉富 稲富 江里口 川内 熊本 川副 塚原 栗山 森本 三木 坂東 板東 新居 谷
70
+ 湯浅 住友 笠井 井内 久米 三好 武内 四宮 米田 元木 吉本 仁木 美馬 木内 喜多
71
+ 岩佐 平岡 川人 新田 日下 真鍋 正木 東條 鈴江 庄野 天羽 西野 後藤田 楠本 岸
72
+ 郡 市原 豊田 三原 福本 西條 大和 乾 川田 片岡 平尾 浜 藤岡 逢坂 安芸
73
+ 浜口 谷本 田岡 難波 妹尾 大森 赤木 守屋 河本 河田 三村 白神 河原 坪井 高原
74
+ 植田 池上 藤沢 笠原 小橋 山根 田淵 岡野 赤沢 小坂 鳥越 安東 下山 板野 大月
75
+ 安原 西本 水島 矢吹 春名 竹本 野上 小谷 中塚 大倉 西崎 仁科 神崎 小椋 那須
76
+ 岡林 西森 岡村 土居 安岡 中平 門田 大崎 竹村 公文 山岡 佐竹 楠瀬 笹岡 森岡
77
+ 中越 西内 明神 三谷 下元 津野 谷脇 溝渕 橋田 島崎 谷岡 弘田 竹崎 大原 門脇
78
+ 北岡 黒岩 中沢 刈谷 近森 池 上岡 田所 武市 徳弘 鍋島 山脇 中内 濱田 戸梶
79
+ 長崎 森沢 梅原 細木 仙頭 田内 中岡 清岡 氏原 堅田 弘瀬 武政 古谷 沖 古味
80
+ 垣石 国沢 島村 中屋 川本 中本 向井 桑田 大下 杉原 新谷 佐伯 浜本 沖田 栗栖
81
+ 森川 今田 西原 神原 住田 沖本 瀬尾 平本 三島 大本 中谷 福原 香川 柏原 内海
82
+ 谷川 中井 北野 奥野 辻本 川端 津田 阪口 阪本 西口 浅田 大槻 塩見 四方
83
+ 芦田 今西 安達 宇野 川勝 大江 畑 荻野 細見 梅田 小森 藤村 岩井 勝部 野津
84
+ 森脇 錦織 石倉 石飛 福間 曽田 小村 梶谷 持田 細田 吾郷 坂根 日野 江角 景山
85
+ 金山 板垣 園山 周藤 寺本 柳楽 稲田 矢田 永瀬 金築 大畑 長岡 堀江 角 多久和
86
+ 藤江 須山 落合 寺戸 田部 秦 岩谷 若槻 永島 安食 狩野 樋野 永見 杉谷 板倉
87
+ 玉木 糸賀 恩田 大賀 角田 陶山 大国 青戸 須田 大屋 三代 長屋 安江 鷲見 小栗
88
+ 川瀬 熊崎 棚橋 篠田 高井 小木曽 竹中 臼井 西脇 井戸 長瀬 白木 可児 各務 馬渕
89
+ 曽我 亀山 交告 小寺 細江 二村 桐山 金森 片桐 所 栗田 柘植 松野 国枝 堀部
90
+ 日比 桂川 酒向 対馬 福士 小山内 神 一戸 鳴海 長内 奈良 石岡 蛯名 野呂 小田桐
91
+ 秋元 蝦名 松橋 外崎 桜庭 畑中 田沢 種市 赤坂 高谷 白戸 棟方 高坂 山谷 阿保
92
+ 桜田 赤石 中野渡 八木橋 大川 小向 鳥谷部 三橋 新山 鹿内 柳谷 柿崎 奈良岡 相内 笹森
93
+ 原子 浅利 秋田 白川 石沢 船水 立花 沼田 盛 豊川 館山 附田 新岡 苫米地 木立
94
+ 北山 中里 清藤 田名部 櫛引 畑山 堀内 西沢 倉内 船橋 土岐 山形 寺沢 瀬川)
95
+
96
+ FIRST_NAMES = k %w(あきら アキラ 晃 輝 飛鳥 梓 東 あまね 周 歩 新 伊織 出 おさむ 修
97
+ 治 紀 薫 格 和興 圭 敬 健 元 暦 五郎 栄 教 怜 三郎
98
+ 重信 しげる 卯 忍 十三 秀太 周平 ジュン 准 翔 二郎 純一 信 晋 仁
99
+ 昴 整 聡太郎 大 大五郎 平 たかし タカシ 隆 高久 たけし 武 佑 匡 是
100
+ 正 保 巽 太郎 つかさ 司 トオル 渚 望 一 創 果 八郎 光 久
101
+ 斉 永 響 一二三 ひろし 博 洋 まこと 誠 真 政 優 操 みのる 実
102
+ 求 保志 唯 勇 悠 有 ゆうき ゆうと ゆうや ゆたか 豊 裕 力 了 亮
103
+ 涼 凛 レイ 烈 蓮 六郎 哀 愛 藍華 葵 あかり 朱里 あすか あずさ 亜美
104
+ 彩 文 あゆみ 杏 泉 憂 梅 楓 奏 京 杏子 桂 梢 咲 さくら
105
+ サクラ 桜 沙耶 さやか 汐 千早 椿 とうこ 巴 菜々子 希 和 はるか 春香 仁美
106
+ 二三 舞子 まどか 円 真美 真弓 美希 美星 みわ めぐみ 椛 桃 やよい 弥生 夕
107
+ ゆかり 雪 律 律子 凜 千代 正子 静子 文子 千代子 ハル キヨ ハナ キミ 清子
108
+ きよ 八重子 ヨシ 愛子 フミ トミ マサ きみ 美代子 はる 光子 貞子 久子 幸子 和子
109
+ 芳子 敏子 君子 昭子 節子 照子 信子 典子 洋子 弘子 美智子 栄子 孝子 良子 紀子
110
+ 京子 悦子 恵子 勝子 恵美子 由美子 啓子 順子 久美子 智子 裕子 明美 真由美 浩子 由美
111
+ 直美 陽子 直子 純子 恵美 優子 香織 裕美 美香 恵 美穂 美紀 絵美 麻美 麻衣
112
+ 理恵 明日香 愛美 沙織 成美 舞 智美 友美 由佳 麻衣子 瞳 彩香 美咲 萌 遥
113
+ 千尋 茜 里奈 佳奈 千夏 桃子 菜摘 早紀 彩花 未来 優花 未 来 七海 菜月 真由
114
+ 彩乃 美月 結衣 玲奈 奈々 詩織 彩夏 琴音 陽菜 美羽 優奈 莉子 美優 花音 真央
115
+ 優衣 ひなた 百花 結菜 結愛 美桜 心優 愛莉 杏奈 正一 正二 正三 清 辰雄 茂
116
+ 正雄 一郎 武雄 正治 正夫 義雄 秀雄 正男 辰男 弘 進 昭二 昭三 昭 和夫
117
+ 昭一 一男 明 稔 幸雄 昇 勝 勲 功 勉 勝利 浩 徹 浩一 浩二
118
+ 直樹 剛 達也 哲也 和彦 浩之 聡 学 秀樹 健一 英樹 博之 崇 淳 大輔
119
+ 健太郎 大介 竜也 洋平 健太 拓也 和也 翔太 祐介 雄太 翔平 大樹 翼 大輝 駿
120
+ 大貴 貴大 大地 亮太 拓哉 雄大 海斗 拓海 陸 優斗 直人 一輝 涼太 優太 康平
121
+ 匠 智也 竜 大翔 颯太 悠斗 太陽 颯 空 陽斗 大和 悠希 悠真 陽向 瑛太
122
+ 歩夢 悠人 颯真 蒼空 悠太 大雅)
123
+ end
124
+ end
@@ -0,0 +1,91 @@
1
+ # encoding: utf-8
2
+
3
+ # => author: xarala
4
+ # => email: pathe.sene@xarala.sn
5
+ # => website: http://www.xarala.sn
6
+ # => the names & first names in this module were found at this url : http://www.senegalaisement.com/senegal/noms_et_prenoms.html
7
+ module Faker
8
+ module NameSN
9
+ extend ModuleUtils
10
+ extend self
11
+
12
+ # Females
13
+ #
14
+ PREFIX_FEMALE = k %w(adja adjaratou mame ndeye)
15
+ FIRST_NAMES_FEMALE = k %w( Abibatou Aby Absa Adama Adiouma Adji Adja Aïcha Aïda Aïssatou Akinumelob Alima Alimatou Alinesiitowe Aloendisso Altine Ama Aminata Aminta Amy Amina Anta Arame Assa Assietou Astou Ata Atia Awa Awentorébé Ayimpen Banel Batouly Bigué Billé Binta Bineta Binette Binta Bintou Borika Bougouma Boury Bousso Ciramadi Codou Combé Coudouution Coumba Coumboye Coura Daba Dado Daka Debbo Défa Dewel Dewene Diakher Diakhou Dialikatou Dianké Diariatou Diarra Diary Dibor Dieourou Dior Diouma Djaly Djébou Djeynaba Dkikel Djilane Enfadima Fabala Fabinta Fadima Fakane Fama Fanta Farmata Fatima Fatou Fatoumatou Fily Garmi Gnagna Gnilane Gnima Gouya Guignane Guissaly Haby Hawa Heinda Holèl Issate Kankou Karimatou Kenbougoul Kéwé Kadiali Khadija Khadijatou Khady Khar Khary Khayfatte Khoudia Khoudjedji Khoumbaré Kiné Korka Laf Lama Léna Lika Lissah Liwane Mada Madior Madjiguène Maguette Mahawa Mame Mamina Manthita Marème Mariama Mamassa Mane Maty Mayatta Maymouna Mbarou Mbayeng Mbissine Mbossé Mingue Mintou Mouskéba Nafi Nbieumbet Ndella Ndeye Ndiarenioul Ndiasse Ndiaty Ndiémé Ndioba Ndiolé Ndioro Ndombo Néné Neyba Ngoné Ngosse Nguenar Nguissaly Niakuhufosso Niali Nialine Ningou Nini Niouma Oulèye Ouly Oulimata Oumou Oumy Oureye Penda Raby Raki Rama Ramatoulaye Ramata Rokhaya Roubba Roughy Sadio Safiétou Safi Sagar Sahaba Salimata Salamata Sanakha Sarratou Saoudatou Sawdiatou Selbé Sell Seynabou Seyni Sibett Siga Sira Sirabiry Soda Sofiatou Sofietou Sokhna Souadou Soukeye Soukeyna Tabara Tacko Taki Tening Téwa Tiné Thiomba Thiony Thioro Thioumbane Tocka Tokoselle Toly Walty Yadicone Yacine Yandé Yaye )
16
+
17
+ # Males
18
+ #
19
+ PREFIX_MALE = k %w(pape eladji mame serigne)
20
+ FIRST_NAMES_MALE = k %w( Abba Abdallah Abdou Abdoulatif Abdoulaye Abdourahmane Ablaye Abou Adama Agouloubene Aïnina Aladji Alassane Albouri Alfa Alfousseyni Aliou Alioune Allé Almamy Amadou Amara Amath Amidou Ansoumane Anta Arfang Arona Assane Ass Aziz Baaba Babacar Babou Badara Badou Bacar Baïdi Baila Bakari Ballago Balla Bamba Banta Bara Bassirou Bathie Bayo Becaye Bilal Biram Birane Birima Biry Bocar Bodiel Bolikoro Boubacar Boubou Bougouma Bouly Bouna Bourkhane Bransan Cheikh Chérif Ciré Daly Dame Daouda Daour Demba Dényanké Diakhou Dial Dialamba Dialegueye Dianco Dicory Diégane Diène Dierry Diokel Diokine Diomaye Djibo Djibril Djiby Doudou Dramane ElHadj Elimane Facourou Fadel Falilou Fallou Famara Farba Fatel Fodé Fodey Fodié Foulah Galaye Gaoussou Gora Gorgui Goumbo Goundo Guidado Habib Hadiya Hady Hamidou Hammel Hatab Iba Ibrahima Ibou Idrissa Insa Ismaïl Ismaïla Issa Isshaga Jankebay Jamuyon Kader Kainack Kalidou Kalilou Kambia Kao Kaourou Karamo Kéba Khadim Khadir Khalifa Khamby Khary Khoudia Khoule Kor Koutoubo Lamine Lamp Landing Lat Latif Latsouck Latyr Lémou Léou Leyti Libasse Limane Loumboul Maba Macky Macodou Madia Madické Mady Mactar Maffal Maguette Mahécor Makan Malal Malamine Malang Malaw Malick Mallé Mamadou Mamour Mansour Maodo Mapaté Mar Massamba Massar Masseck Mbagnick Mbakhane Mbamoussa Mbar Mbaye Mébok Médoune Meïssa Modou Moktar Momar Mor Mountaga Moussa Moustapha Namori Ndane Ndiack Ndiaga Ndiankou Ndiaw Ndiawar Ndiaya Ndiogou Ndiouga Ndongo Ngagne Ngor Nguénar Niakar Niankou Niokhor Nouh Nouha Npaly Ogo Omar Opa Oumar Oury Ousmane Ousseynou Papa Pape Papis Pathé Racine Sadibou Sacoura Saër Sahaba Saïdou Sakhir Salam Salif Saliou Saloum Samba Samori Samsidine Sandigui Sankoun Sanokho Sécouba Sédar Sékou Semou Senghane Serigne Seyba Seydina Seydou Sibiloumbaye Sidate Sidy Siéka Sihalébé Sihounke Silly Socé Sogui Soireba Solal Sonar Souleymane Soundjata Sounkarou Souty Tafsir Talla Tamsir Tanor Tayfor Tekheye Tété Thiawlo Thierno Thione Tijane Tidjane Toumani Vieux Wagane Waly Wandifing Wasis Woula Woury Yacouba Yafaye Yakou Yankhoba Yerim Yero Yoro Yougo Younouss Youssou Yussu Youssoufa )
21
+
22
+ # Last Names
23
+ #
24
+ LAST_NAMES = k %w( Badji Badiatte Badji Biagui Bassène Bodian Coly Diamacoune Diatta Diadhiou Diédhiou Deme Diémé Djiba Ehemba Goudiaby Himbane Mané Manga Sagna Sambou Sané Sonko Tamba Tendeng Badji Gomis Mané Vieira Carvalho Mendy Mané Preira Correia Basse Sylva Da_Sylva Fernandez Da_Costa Bakhoum Diop Diagne Gaye Gueye Ndoye Ndiour Samb Baloucoune Bandiacky Boissy Diompy Dupa Kabely Kaly Kantoussan Kassoka Kayounga Keny Malack Malèle Malomar Malou Mandika Mandiouban Mancabou Mantanne Mbampassy Médou Minkette Nabaline Nadiack Napel Ndecky Ndeye Niouky Ntab Nzale Panduppy Samy Boubane Bonang Bianquinch Bindian Bendian Bangonine Bapinye Bidiar Bangar Sadio Vieira Lopez Marques Preira Ndiaye Diouf Ndong Dioh Senghor Faye Dior Dione Seye Diongue Sene Dieye Sarr Seck Diaher Bop Kitane Kital Acc Aïdara Athie Aw Ba Baby Baldé Barro Barry Bathily Bousso Camara Cissé Dia Diamanka Diallo Diao Diaw Fassa Fofana Gadio Galadio Kâ Kane Maal Mbow Lo Ly Sall Seydi Sow Sy Sylla Tall Thiam Wane Wone Yock Amar Babou Diagne Diakhoumpa Goumbala Saady Sabara Sougou Sougoufara Tandiné Tandini Touré Diandy Aïdara Bathily Camara Cissé Cissoko Coulibaly Dabo Doumbia Doumbouya Diabang Diakhaté Diabira Diakité Dansokho Diakho Diarra Diawara Djimera Dramé Doucouré Fadiga Fofana Gakou Gandega Kanté Kanouté Keïta Koïta Konaté Niangane Sadio Sakho Samassa Sawane Sidibé Sissoko Soumaré Tandjigora Timera Traoré Touré Wagué Yatéra Boye Demba Dembelé Diack Diarra Dieng Diop Fall Gningue Hanne Kane Kassé Lèye Loum Marone Mbacké Mbathié Mbaye Mbengue Mbodj Mbodji Mboup Mbow Ndao Ndaw Nder Ndiaye Ndour Niane Niang Niass Niasse Pouye Seck Sock Taye Thiam Thiongane Wade )
25
+
26
+ # randomized? (senegalese) last_name!
27
+ #
28
+ def last_name
29
+ LAST_NAMES.rand
30
+ end
31
+
32
+ # randomized? (senegalese) male first_name!
33
+ #
34
+ def first_name_male
35
+ FIRST_NAMES_MALE.rand
36
+ end
37
+
38
+ # randomized? (senegalese) female first_name!
39
+ #
40
+ def first_name_female
41
+ FIRST_NAMES_FEMALE.rand
42
+ end
43
+
44
+ # randomized? (senegalese) male prefix!
45
+ #
46
+ def prefix_male
47
+ PREFIX_MALE.rand
48
+ end
49
+
50
+ # randomized? (senegalese) female prefix!
51
+ #
52
+ def prefix_female
53
+ PREFIX_FEMALE.rand
54
+ end
55
+
56
+ # => randomized. (senegalese) male name
57
+ #
58
+ def name_male
59
+ case rand(10)
60
+ when 7 then "#{prefix_male} #{first_name_male} #{last_name}"
61
+ when 5 then "#{prefix_male} #{first_name_male} #{last_name}"
62
+ when 3 then "#{first_name_male} #{last_name}"
63
+ when 0 then "#{first_name_male} #{last_name}"
64
+ else "#{first_name_male} #{last_name}"
65
+ end
66
+ end
67
+
68
+ # => randomized. (senegalese) female name
69
+ #
70
+ def name_female
71
+ case rand(10)
72
+ when 7 then "#{prefix_female} #{first_name_female} #{last_name}"
73
+ when 5 then "#{prefix_female} #{first_name_female} #{last_name}"
74
+ when 3 then "#{first_name_female} #{last_name}"
75
+ when 0 then "#{first_name_female} #{last_name}"
76
+ else "#{first_name_female} #{last_name}"
77
+ end
78
+ end
79
+
80
+ def name_sn
81
+ case rand(10)
82
+ when 7 then "#{prefix_female} #{first_name_female} #{last_name}"
83
+ when 5 then "#{prefix_male} #{first_name_male} #{last_name}"
84
+ when 3 then "#{first_name_male} #{last_name}"
85
+ when 3 then "#{first_name_female} #{last_name}"
86
+ when 0 then "#{first_name_male} #{last_name}"
87
+ else "#{first_name_female} #{last_name}"
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,80 @@
1
+ # encoding: utf-8
2
+
3
+ # => author: xarala
4
+ # => email: pathe.sene@xarala.sn
5
+ # => website: http://www.xarala.sn
6
+ module Faker
7
+ module PhoneNumberSN
8
+ extend ModuleUtils
9
+ extend self
10
+
11
+ # Mobile Operator prefixes
12
+ #
13
+ # 77 => Orange
14
+ # 76 => Tigo
15
+ # 70 => Expresso
16
+ #
17
+ MobileOperatorsPrefix = %w(70 76 77)
18
+
19
+ # Home or Work Operator prefixes
20
+ #
21
+ # 33 => Orange
22
+ #
23
+ HomeWorkOperatorsPrefix = %w(33)
24
+
25
+ # Return a prefix in MobileOperatorsPrefix
26
+ # @see Faker::PhoneNumberSN::MobileOperatorsPrefix
27
+ #
28
+ def mobile_phone_prefix
29
+ MobileOperatorsPrefix[rand(3)]
30
+ end
31
+
32
+ # Return a prefix in HomeWorkOperatorsPrefix
33
+ # @see Faker::PhoneNumberSN::HomeWorkOperatorsPrefix
34
+ #
35
+ def homework_phone_prefix
36
+ HomeWorkOperatorsPrefix[0]
37
+ end
38
+
39
+ # Pattern that can be combined with a prefix to generate mobile, office phone_numbers
40
+ # Example 745 77 99
41
+ # Example 245 07 00
42
+ # Example 726 29 05
43
+ #
44
+ def short_phone_number
45
+ Faker.numerify('###-##-##')
46
+ end
47
+
48
+ # Generates a mobile phone number
49
+ # Example 70 745 77 99
50
+ # Example 76 245 07 00
51
+ # Example 77 726 29 05
52
+ #
53
+ def mobile_number
54
+ "#{mobile_phone_prefix}-#{short_phone_number}"
55
+ end
56
+
57
+ # Generates a home or work phone number
58
+ # Example 33 845 77 99
59
+ # Example 33 945 07 00
60
+ # Example 33 906 29 05
61
+ #
62
+ def homework_number
63
+ "#{homework_phone_prefix}-#{[8, 9][rand(1)]}#{Faker.numerify('##-##-##')}"
64
+ end
65
+
66
+ # Generates a random phone number mobile or home or work
67
+ #
68
+ def phone_number
69
+ case rand(10)
70
+ when 0 then homework_number
71
+ when 9 then homework_number
72
+ when 3 then mobile_number
73
+ when 5 then mobile_number
74
+ when 6 then mobile_number
75
+ when 8 then mobile_number
76
+ else homework_number
77
+ end
78
+ end
79
+ end
80
+ end
data/lib/ffaker.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  module Faker
2
- VERSION = "1.8.1"
2
+ VERSION = "1.9.1"
3
3
 
4
4
  require 'ffaker/utils/module_utils'
5
5
 
6
6
  extend ModuleUtils
7
7
 
8
- LETTERS = k('a'..'z')
8
+ LETTERS = k('a'..'z')
9
9
 
10
10
  def self.numerify(number_string)
11
11
  number_string.gsub!(/#/) { rand(10).to_s }
@@ -21,20 +21,24 @@ module Faker
21
21
  letterify(numerify(string))
22
22
  end
23
23
 
24
- autoload :Address, 'ffaker/address'
25
- autoload :AddressDE, 'ffaker/address_de'
26
- autoload :Company, 'ffaker/company'
27
- autoload :Education, 'ffaker/education'
28
- autoload :HTMLIpsum, 'ffaker/html_ipsum'
29
- autoload :Internet, 'ffaker/internet'
30
- autoload :Lorem, 'ffaker/lorem'
31
- autoload :LoremCN, 'ffaker/lorem_cn'
32
- autoload :Name, 'ffaker/name'
33
- autoload :NameCN, 'ffaker/name_cn'
34
- autoload :NameRU, 'ffaker/name_ru'
35
- autoload :NameDE, 'ffaker/name_de'
36
- autoload :PhoneNumber, 'ffaker/phone_number'
37
- autoload :Product, 'ffaker/product'
38
- autoload :Geolocation, 'ffaker/geolocation'
39
- autoload :VERSION, 'ffaker/version'
24
+ autoload :Address, 'ffaker/address'
25
+ autoload :AddressDE, 'ffaker/address_de'
26
+ autoload :Company, 'ffaker/company'
27
+ autoload :Education, 'ffaker/education'
28
+ autoload :Geolocation, 'ffaker/geolocation'
29
+ autoload :HTMLIpsum, 'ffaker/html_ipsum'
30
+ autoload :HipsterIpsum, 'ffaker/hipster_ipsum'
31
+ autoload :Internet, 'ffaker/internet'
32
+ autoload :Lorem, 'ffaker/lorem'
33
+ autoload :LoremCN, 'ffaker/lorem_cn'
34
+ autoload :Name, 'ffaker/name'
35
+ autoload :NameCN, 'ffaker/name_cn'
36
+ autoload :NameDE, 'ffaker/name_de'
37
+ autoload :NameJA, 'ffaker/name_ja'
38
+ autoload :NameRU, 'ffaker/name_ru'
39
+ autoload :NameSN, 'ffaker/name_sn'
40
+ autoload :PhoneNumber, 'ffaker/phone_number'
41
+ autoload :PhoneNumberSN, 'ffaker/phone_number_sn'
42
+ autoload :Product, 'ffaker/product'
43
+ autoload :VERSION, 'ffaker/version'
40
44
  end
@@ -18,7 +18,8 @@ class TestFakerInternet < Test::Unit::TestCase
18
18
  end
19
19
 
20
20
  def test_disposable_email
21
- assert @tester.disposable_email.match(/.+@(mailinator\.com|suremail\.info|spamherelots\.com|binkmail\.com|safetymail\.info)/)
21
+ assert @tester.disposable_email.match(
22
+ /.+@(mailinator\.com|suremail\.info|spamherelots\.com|binkmail\.com|safetymail\.info)/)
22
23
  end
23
24
 
24
25
  def test_user_name
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'helper'
3
+
4
+ class TestFakerNameJA < Test::Unit::TestCase
5
+ def setup
6
+ @tester = Faker::NameJA
7
+ end
8
+
9
+ def test_name
10
+ assert Faker::NameJA.name.length > 2
11
+ end
12
+ end
@@ -0,0 +1,112 @@
1
+ # encoding: utf-8
2
+ require 'helper'
3
+
4
+ class TestFakerNameSn < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @tester = Faker::NameSN
8
+ end
9
+
10
+ def test_last_name
11
+ assert Faker::NameSN::LAST_NAMES.include?(@tester.last_name)
12
+ end
13
+
14
+ def test_first_name_male
15
+ assert Faker::NameSN::FIRST_NAMES_MALE.include?(@tester.first_name_male)
16
+ end
17
+
18
+ def test_first_name_female
19
+ assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(@tester.first_name_female)
20
+ end
21
+
22
+ def test_prefix_male
23
+ assert Faker::NameSN::PREFIX_MALE.include?(@tester.prefix_male)
24
+ end
25
+
26
+ def test_prefix_female
27
+ assert Faker::NameSN::PREFIX_FEMALE.include?(@tester.prefix_female)
28
+ end
29
+
30
+ def test_name_male
31
+
32
+ # => split the name_male into an array of words
33
+ parts = @tester.name_male.split(' ')
34
+
35
+ if parts.count == 3
36
+
37
+ # the value at the index 0 should be a valid! male_prefix
38
+ assert Faker::NameSN::PREFIX_MALE.include?(parts[0])
39
+
40
+ # the value at the index 1 should be a valid! male_first_name
41
+ assert Faker::NameSN::FIRST_NAMES_MALE.include?(parts[1])
42
+
43
+ # the value at the index 2 should be a valid! last_name
44
+ assert Faker::NameSN::LAST_NAMES.include?(parts[2])
45
+
46
+ elsif parts.count == 2
47
+ # the value at the index 0 should be a valid! male_prefix
48
+ assert Faker::NameSN::FIRST_NAMES_MALE.include?(parts[0])
49
+
50
+ # the value at the index 1 should be a valid! last_name
51
+ assert Faker::NameSN::LAST_NAMES.include?(parts[1])
52
+
53
+ end
54
+
55
+ end
56
+
57
+ def test_name_female
58
+
59
+ # => split the name_female into an array of words
60
+ parts = @tester.name_female.split(' ')
61
+
62
+ if parts.count == 3
63
+
64
+ # the value at the index 0 should be a valid! male_prefix
65
+ assert Faker::NameSN::PREFIX_FEMALE.include?(parts[0])
66
+
67
+ # the value at the index 1 should be a valid! male_first_name
68
+ assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(parts[1])
69
+
70
+ # the value at the index 2 should be a valid! last_name
71
+ assert Faker::NameSN::LAST_NAMES.include?(parts[2])
72
+
73
+ elsif parts.count == 2
74
+ # the value at the index 0 should be a valid! male_prefix
75
+ assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(parts[0])
76
+
77
+ # the value at the index 1 should be a valid! last_name
78
+ assert Faker::NameSN::LAST_NAMES.include?(parts[1])
79
+
80
+ end
81
+
82
+ end
83
+
84
+ def test_senegalese_name
85
+
86
+ # => split the name into an array of words
87
+ parts = @tester.name_sn.split(' ')
88
+
89
+ if parts.count == 3
90
+
91
+ # the value at the index 0 should be a valid! male or female prefix
92
+ assert Faker::NameSN::PREFIX_FEMALE.include?(parts[0]) || Faker::NameSN::PREFIX_MALE.include?(parts[0])
93
+
94
+ # the value at the index 1 should be a valid! firstname male or female
95
+ assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(parts[1]) || Faker::NameSN::FIRST_NAMES_MALE.include?(parts[1])
96
+
97
+ # the value at the index 2 should be a valid! firstname male or female
98
+ assert Faker::NameSN::LAST_NAMES.include?(parts[2])
99
+
100
+
101
+ elsif parts.count == 2
102
+
103
+ # the value at the index 0 should be a valid! firstname male or female
104
+ assert Faker::NameSN::FIRST_NAMES_FEMALE.include?(parts[0]) || Faker::NameSN::FIRST_NAMES_MALE.include?(parts[0])
105
+
106
+ # the value at the index 0 should be a valid! firstname male or female
107
+ assert Faker::NameSN::LAST_NAMES.include?(parts[1])
108
+ end
109
+
110
+ end
111
+
112
+ end
@@ -0,0 +1,29 @@
1
+ require 'helper'
2
+
3
+ class TestHipsterIpsum < Test::Unit::TestCase
4
+
5
+ def test_paragraph
6
+ assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.paragraph
7
+ end
8
+
9
+ def test_sentence
10
+ assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.sentence
11
+ end
12
+
13
+ def test_paragraphs
14
+ assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.paragraphs.join(" ")
15
+ end
16
+
17
+ def test_sentences
18
+ assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.sentences.join(" ")
19
+ end
20
+
21
+ def test_words
22
+ assert_match /1\+|[ a-z]+/i, Faker::HipsterIpsum.words.join(" ")
23
+ end
24
+
25
+ def test_word
26
+ assert_match /1\+|[a-z]+/i, Faker::HipsterIpsum.word
27
+ end
28
+
29
+ end
@@ -2,7 +2,7 @@
2
2
  require 'helper'
3
3
 
4
4
  class TestLoremCN < Test::Unit::TestCase
5
-
5
+
6
6
  def test_paragraph
7
7
  assert Faker::LoremCN.paragraph.length >= 3*4*2
8
8
  end
@@ -14,16 +14,30 @@ class TestLoremCN < Test::Unit::TestCase
14
14
  def test_paragraphs
15
15
  assert Faker::LoremCN.paragraphs.length >= 2
16
16
  end
17
+ def test_paragraphs_is_not_a_string_representation_of_an_array
18
+ assert_not_match /[\[\]]+/, [Faker::LoremCN.paragraphs].flatten.join(' ')
19
+ end
20
+ def test_paragraphs_is_an_array
21
+ assert Faker::LoremCN.paragraphs.class == Array
22
+ end
17
23
 
18
24
  def test_sentences
19
25
  assert Faker::LoremCN.sentences.length >= 2
20
26
  end
21
-
27
+ def test_sentences_is_an_array
28
+ assert Faker::LoremCN.sentences.class == Array
29
+ end
30
+ def test_sentences_via_to_s_produces_string_terminated_with_period
31
+ string = Faker::LoremCN.sentences.to_s
32
+ assert string.class == String
33
+ assert string[-1] == '。'
34
+ end
35
+
22
36
  def test_words
23
37
  assert Faker::LoremCN.words.length >= 2
24
38
  end
25
39
 
26
40
  def test_word
27
- assert Faker::LoremCN.word.length >= 2
41
+ assert Faker::LoremCN.word.length >= 1
28
42
  end
29
43
  end
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+
3
+ # => author: xarala
4
+ # => email: pathe.sene@xarala.sn
5
+ # => website: http://www.xarala.sn
6
+
7
+ require 'helper'
8
+
9
+ class TestPhoneNumberSN < Test::Unit::TestCase
10
+
11
+ def setup
12
+ @tester = Faker::PhoneNumberSN
13
+ end
14
+
15
+ def test_mobile_phone_prefix
16
+ assert Faker::PhoneNumberSN::MobileOperatorsPrefix.include?(@tester.mobile_phone_prefix)
17
+ end
18
+
19
+ def test_homework_phone_prefix
20
+ assert Faker::PhoneNumberSN::HomeWorkOperatorsPrefix.include?(@tester.homework_phone_prefix)
21
+ end
22
+
23
+
24
+ def test_short_phone_number
25
+ assert_match /\d{3}-\d{2}-\d{2}/, Faker::PhoneNumberSN.short_phone_number
26
+ end
27
+
28
+ def test_mobile_phone_number
29
+ assert_match /(70|76|77)-\d{3}-\d{2}-\d{2}/, Faker::PhoneNumberSN.mobile_number
30
+ end
31
+
32
+ def test_phone_number
33
+ assert_match /(33|70|76|77)-\d{3}-\d{2}-\d{2}/, Faker::PhoneNumberSN.phone_number
34
+ end
35
+
36
+ def test_homework_phone_number
37
+ assert_match /(33)-(8|9)\d{2}-\d{2}-\d{2}/, Faker::PhoneNumberSN.homework_number
38
+ end
39
+
40
+
41
+ end