ffaker 1.15.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/Changelog.rdoc +4 -1
  2. data/Gemfile +2 -0
  3. data/README.rdoc +1 -1
  4. data/ffaker.gemspec +43 -2
  5. data/lib/ffaker.rb +31 -5
  6. data/lib/ffaker/address.rb +57 -4
  7. data/lib/ffaker/address_au.rb +41 -42
  8. data/lib/ffaker/address_de.rb +16 -0
  9. data/lib/ffaker/address_mx.rb +448 -0
  10. data/lib/ffaker/address_se.rb +1074 -0
  11. data/lib/ffaker/company_se.rb +24 -0
  12. data/lib/ffaker/conference.rb +52 -0
  13. data/lib/ffaker/dizzle_ipsum.rb +30 -0
  14. data/lib/ffaker/identification.rb +25 -0
  15. data/lib/ffaker/internet_se.rb +105 -0
  16. data/lib/ffaker/lorem.rb +1 -1
  17. data/lib/ffaker/lorem_ar.rb +45 -0
  18. data/lib/ffaker/lorem_cn.rb +6 -6
  19. data/lib/ffaker/movie.rb +64 -0
  20. data/lib/ffaker/name_ga.rb +57 -0
  21. data/lib/ffaker/name_mx.rb +198 -0
  22. data/lib/ffaker/name_ph.rb +91 -0
  23. data/lib/ffaker/name_se.rb +97 -0
  24. data/lib/ffaker/name_sn.rb +1 -1
  25. data/lib/ffaker/phone_number_mx.rb +57 -0
  26. data/lib/ffaker/phone_number_se.rb +111 -0
  27. data/lib/ffaker/ssn.rb +15 -0
  28. data/lib/ffaker/ssn_se.rb +111 -0
  29. data/lib/ffaker/string.rb +90 -0
  30. data/lib/ffaker/time.rb +28 -0
  31. data/lib/ffaker/venue.rb +45 -0
  32. data/test/test_address.rb +15 -7
  33. data/test/test_address_au.rb +10 -14
  34. data/test/test_address_de.rb +8 -0
  35. data/test/test_address_mx.rb +25 -0
  36. data/test/test_address_se.rb +36 -0
  37. data/test/test_company_se.rb +14 -0
  38. data/test/test_conference.rb +8 -0
  39. data/test/test_dizzle_ipsum.rb +28 -0
  40. data/test/test_faker.rb +20 -4
  41. data/test/test_faker_internet_se.rb +66 -0
  42. data/test/test_faker_name_ga.rb +54 -0
  43. data/test/test_faker_name_mx.rb +177 -0
  44. data/test/test_faker_name_ph.rb +15 -0
  45. data/test/test_faker_name_se.rb +37 -0
  46. data/test/test_faker_name_sn.rb +1 -0
  47. data/test/test_identification.rb +25 -0
  48. data/test/test_lorem_ar.rb +35 -0
  49. data/test/test_movie.rb +7 -0
  50. data/test/test_phone_number_mx.rb +42 -0
  51. data/test/test_phone_number_se.rb +58 -0
  52. data/test/test_ssn.rb +9 -0
  53. data/test/test_ssn_se.rb +43 -0
  54. data/test/test_string.rb +69 -0
  55. data/test/test_time.rb +17 -0
  56. data/test/test_venue.rb +8 -0
  57. metadata +64 -4
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ module CompanySE
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def name
9
+ case rand(3)
10
+ when 0 then "#{NameSE.last_name} #{suffix}"
11
+ when 1 then "#{NameSE.last_name}-#{NameSE.last_name}"
12
+ when 1 then "#{NameSE.last_name}-#{NameSE.last_name} #{suffix}"
13
+ when 2 then "#{NameSE.last_name}, #{NameSE.last_name} och #{NameSE.last_name}"
14
+ end
15
+ end
16
+
17
+ def suffix
18
+ SUFFIXES.rand
19
+ end
20
+
21
+ SUFFIXES = k %w(AB Aktiebolag Ab)
22
+
23
+ end
24
+ end
@@ -0,0 +1,52 @@
1
+ module Faker
2
+ # thanks to http://hipsteripsum.me
3
+ module Conference
4
+ extend ModuleUtils
5
+ extend self
6
+
7
+ def name
8
+ CONFERENCE_LIST.rand
9
+ end
10
+
11
+ CONFERENCE_LIST = k ["Social Mobile Payments Americas",
12
+ "LatAm HSE in Oil, Gas and Petrochemicals",
13
+ "LatAm Pipeline Integrity Management Summit",
14
+ "1st UK Festival de Orquestas",
15
+ "Argentina Mining 2010",
16
+ "Yet Another Perl ConferenceBrasil 2009",
17
+ "Datacentre Investment Forum",
18
+ "Health 2.0 Europe 2012",
19
+ "4th Annual Baltic Energy Summit",
20
+ "Innovative Marketing in Hospitality",
21
+ "Autumn Conference on European State Aid Law 2012",
22
+ "Met Coke World Summit 2012",
23
+ "Platts 16th annual Mexican Energy conference",
24
+ "Advanced Manufacturing Technology Show",
25
+ "18th Annual Sloan Consortium International Conference on Online Learning",
26
+ "Reserve Estimation for Unconventional Resources 2012",
27
+ "An Introduction to FDAas Regulation of Over-the-Counter (OTC) Drug Products",
28
+ "Open Networking Summit 2012",
29
+ "Device Master Record Device History Record a requirements, contents and implementation - Webinar",
30
+ "The Canadian Instituteas 7th Annual Forum on PAYMENTS COMPLIANCE IN CANADA",
31
+ "The 2010 Caribbean New Media Conference Expo.",
32
+ "One Night Only Vegan Caribbean Night Extravaganza with Chef Mayra",
33
+ "International Real Estate Expo Puerto Rico",
34
+ "2nd International Caribbean Symposium in Arts Education The Practice Prospects of Arts Education",
35
+ "Oxford Latin American Studies Conference",
36
+ "Military Vehicles Latin America",
37
+ "Rail Infrastructure Middle East 2010",
38
+ "Carbon Markets Mexico Central America",
39
+ "Sixth Annual Conference on Latin America Private Equity",
40
+ "Conference on Illinois History",
41
+ "Exploration Production Technology Summit 2011",
42
+ "The Canadian Institutes Forum on Privacy Law Compliance",
43
+ "4th Annual Utility Scale Solar 2011",
44
+ "BioPharm America 2011",
45
+ "Restaurant Development Summit",
46
+ "IEEE Long Island Systems, Applications, and Techology Conference",
47
+ "Dow Jones Global Compliance Symposium 2011",
48
+ "The Canadian Institutes Eastern Canada Shale Gas Symposium",
49
+ "Dealing With Harassment in the Workplace - HR Webinar By ComplianceOnline",
50
+ "2nd Annual Concentrated Photovolatic Summit USA (CPV USA 2010)"]
51
+ end
52
+ end
@@ -0,0 +1,30 @@
1
+ module Faker
2
+ # thanks to Snoop Dogg
3
+ module DizzleIpsum
4
+ extend ModuleUtils
5
+ extend Lorem
6
+ extend self
7
+
8
+ def word
9
+ DIZZLE_WORDS.rand
10
+ end
11
+
12
+ def words(num = 3)
13
+ DIZZLE_WORDS.random_pick(num)
14
+ end
15
+
16
+ DIZZLE_WORDS = k [
17
+ "tha dizzle", "fo shizzle", "fo rizzle", "tha shiznit", "in tha hizzle", "Doggfada", "Snoopy", "televizzle",
18
+ "real deal Holyfield", "how we do it", "if the ride is more fly, then you must buy", "plizzay", "fizzle",
19
+ "roll with", "the dopest", "Coupe de Ville", "the Magic Johnson of rap", "drop it like it's hot", "hizzouse",
20
+ "if you was me and I was you", "through all the drama", "I love my momma", "rolling down the street",
21
+ "smokin' indo", "sippin' on gin and juice", "laid back", "with my mind on my money", "and my money on my mind",
22
+ "nothing can save ya", "you talk too much", "gold chain", "waddup", "drizzle", "realer", "realness",
23
+ "recognize", "put ya choppers up", "your chrome", "Snoop", "pizzle", "gizzo", "rizzoad", "zig zag smoke",
24
+ "nasty", "why is you", "smokin' weed", "the LBC", "like every single day", "for the Gs", "for the hustlers",
25
+ "may I", "make a few ends", "everybody got they cups", "eighty degrees", "at ease", "the Dogg Pound",
26
+ "feel the breeze", "bubbles in the tub", "Long Beach", "now I'm on parole", "guess what?", "it's 1993",
27
+ "rizzide", "the S oh yes", "bionic", "every single one", "Mr. Buckwort", "used to sell loot", "the diggy"
28
+ ]
29
+ end
30
+ end
@@ -0,0 +1,25 @@
1
+ module Faker
2
+ module Identification
3
+ extend ModuleUtils
4
+ extend self
5
+
6
+ def drivers_license
7
+ Faker.bothify(true, '?###-###-##-###-#')
8
+ end
9
+
10
+ def ssn
11
+ Faker.numerify('###-##-####')
12
+ end
13
+
14
+ def ethnicity
15
+ ETHNICITIES.rand
16
+ end
17
+
18
+ def gender
19
+ GENDERS.rand
20
+ end
21
+
22
+ ETHNICITIES = k ['African American', 'Asian/Pacific Islander', 'Caucasian', 'Hispanic', 'Native American', 'Multiracial', 'Other', 'Prefer not to respond']
23
+ GENDERS = k %w(Male Female)
24
+ end
25
+ end
@@ -0,0 +1,105 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ module InternetSE
5
+ extend ModuleUtils
6
+ include Internet
7
+ extend self
8
+
9
+ def email(name = nil)
10
+ "#{user_name(name)}@#{domain_name}"
11
+ end
12
+
13
+ # Returns an email address of an online disposable email service
14
+ # (like tempinbox.com). you can really send an email to these
15
+ # addresses an access it by going to the service web pages.
16
+ def disposable_email(name = nil)
17
+ "#{user_name(name)}@#{DISPOSABLE_HOSTS.rand}"
18
+ end
19
+
20
+ def free_email(name = nil)
21
+ "#{user_name(name)}@#{HOSTS.rand}"
22
+ end
23
+
24
+ # Used to fake login names were dot is not allowed
25
+ def login_user_name
26
+ user_name.gsub('.','')
27
+ end
28
+
29
+ # Mostly used for email creation
30
+ def user_name(name = nil)
31
+ return user_name_from_name(name) if name
32
+ user_name_random
33
+ end
34
+
35
+ def user_name_random
36
+ variant = rand(2)
37
+ case variant
38
+ when 0 then user_name_variant_short
39
+ when 1 then user_name_variant_long
40
+ else user_name_variant_short
41
+ end
42
+ end
43
+
44
+ def user_name_variant_long
45
+ array_parts = [ NameSE.first_name, NameSE.last_name ]
46
+ array_parts.map!{ |word| word.gsub(/\W/, '') }
47
+ join_to_user_name(array_parts)
48
+ end
49
+
50
+ def user_name_variant_short
51
+ array_parts = [ NameSE.first_name ]
52
+ array_parts.map!{ |word| word.gsub(/\W/, '') }
53
+ join_to_user_name(array_parts)
54
+ end
55
+
56
+ def user_name_from_name(name)
57
+ array_parts = ArrayUtils.shuffle(name.scan(/\w+/))
58
+ join_to_user_name(array_parts)
59
+ end
60
+
61
+ def join_to_user_name(array_parts)
62
+ join_char = ArrayUtils.rand(%w(. _))
63
+ array_parts.map!(&:downcase)
64
+ array_parts.join(join_char)
65
+ end
66
+
67
+ def domain_name
68
+ "#{domain_word}.#{domain_suffix}"
69
+ end
70
+
71
+ def domain_word
72
+ company_name_single_word.tap { |dw|
73
+ dw.gsub!(/\W/, '')
74
+ dw.downcase!
75
+ }
76
+ end
77
+
78
+ def company_name_single_word
79
+ CompanySE.name.split(' ').first
80
+ end
81
+
82
+ def domain_suffix
83
+ DOMAIN_SUFFIXES.rand
84
+ end
85
+
86
+ def uri(protocol)
87
+ "#{protocol}://#{domain_name}"
88
+ end
89
+
90
+ def http_url
91
+ uri("http")
92
+ end
93
+
94
+ def ip_v4_address
95
+ (1..4).map { BYTE.random_pick(1) }.join(".")
96
+ end
97
+
98
+ BYTE = k((0..255).to_a.map { |n| n.to_s })
99
+ HOSTS = k %w(gmail.com yahoo.com hotmail.com spray.se passagen.se)
100
+ DOMAIN_SUFFIXES = k %w(se nu com)
101
+ DISPOSABLE_HOSTS = k %w(mailinator.com suremail.info spamherelots.com
102
+ binkmail.com safetymail.info)
103
+
104
+ end
105
+ end
data/lib/ffaker/lorem.rb CHANGED
@@ -14,8 +14,8 @@ module Faker
14
14
 
15
15
  def sentence(word_count = 4)
16
16
  s = words(word_count + rand(6))
17
+ s[0].capitalize!
17
18
  s = s.join(' ')
18
- s.capitalize!
19
19
  "#{s}."
20
20
  end
21
21
 
@@ -0,0 +1,45 @@
1
+ # encoding: utf-8
2
+ module Faker
3
+
4
+ # Based on Perl's Text::Lorem
5
+ module LoremAR
6
+
7
+ extend ModuleUtils
8
+ extend self
9
+
10
+ def word
11
+ WORDS.rand
12
+ end
13
+
14
+ def words(num = 3)
15
+ WORDS.random_pick(num)
16
+ end
17
+
18
+ def sentence(word_count = 4)
19
+ s = words(word_count + rand(6))
20
+ s = s.join(' ')
21
+ s.capitalize!
22
+ "#{s}."
23
+ end
24
+
25
+ alias_method :phrase, :sentence
26
+
27
+ def sentences(sentence_count = 3)
28
+ (1..sentence_count).map { sentence }
29
+ end
30
+
31
+ alias_method :phrases, :sentences
32
+
33
+ def paragraph(sentence_count = 3)
34
+ sentences(sentence_count + rand(3)).join(' ')
35
+ end
36
+
37
+ def paragraphs(paragraph_count = 3)
38
+ (1..paragraph_count).map { paragraph }
39
+ end
40
+
41
+ WORDS = k %w(لكل مع بداية بالسيطرة, دنو أم الإعتداء والبريطاني, لها وبعد بالجانب ما تحت هو الحرب الوراء الخنادق ما انتهت إستمات أضف قد عقبت لقوات الفترة تحت, بها قد الفترة استدعى وتنصيب حول لإعلان القنابل, بـ يعبأ بلا وتم غضون للإتحاد تم حول بل جسيمة العسكري, أخر استسلام البولندي الأوربيين بـ ثم عصبة خصوصا الجديدة، يكن, فاتّبع بوزيرها قبل ما هاربر فاتّبع فصل بـ, مكّن الدولارات تم على هو هيروشيما المتّبعة وفي والجنود بالمطالبة مدن إذ, كل المضي أراضي الصين به، جحافل بالقصف المبرمة حين بـ, وفرنسا الإستسلام عن شيء, زهاء مرمى المزيفة عدم أن الله وبدون الثالث و لمّ لم لها مدينة تغييرات بالولايات تم يتم أكثر التّحول, وتم قد دأبوا واتّجه ثم تكتيكاً الربيع، وتم, إحتار كنقطة و وفي حين تُصب الأوضاع نورماندي قد, نفس العسكري العسكرية الأوربيين ثم هو الأرض قُدُماً المجتمع حول, مع وجهان غريمه إيو تسبب الأرضية ان وصل, مما بـ يذكر أوكيناوا شبح في قائمة للحكومة وقدّموا, مما ان بتحدّي المعاهدات الإقتصادي قوات بريطانيا، أي الا بها مارد وتزويده لإنعدام أن لم وصل إختار الثقيلة المتساقطة،, ليبين اليابانية الإستسلام جوي في, ثم المحور، والروسية استطاعوا ومن لم هناك مارشال الإتفاقية دول, الحكم إحتلال تزامناً بـ حدى أثره، الهجوم أوراقهم لم قام, عن وقد الحرب المواد, أن حيث يطول غرّة، بتطويق بالرّغم للأسطول الاندونيسية عام كل, بلا الباهضة الحلفاء ما, هو ضرب لعملة الأعمال سياسة بالعمل والحلفاء مدن لم, ربع جديدة نهاية النفط, و إحتلال اسبوعين وتتحمّل قهر وعلى موالية ستالينجراد مكن مع, قد جسيمة الخنادق وباستثناء جوي تلك ما دخول ألماني, جمعت الصعداء حيث هو, الامم بقسوة انتباه بـ عام كل شبح الصيني الخاطفة ولكسمبورغ وقد النازي اليابان العسكرية لم لم قصف تحرّك وقوعها وحتّى المجتمع الرئيسية حدى كل, قوات ألمانيا المبرمة قبل من قد شمال النازية، يبق الا لعدم أسلحته إيطاليا مع, بشكل يتبقّ تم دول, بغزو منشوريا التكاليف لان حرب خسائر اعتداء المسرح و بل الشمل والعتاد الوزراء شيء استعملت بريطانيا، و بها, وتم بل لغات بلديهما بريطانيا قبل قد السيء للحكومة, أم التي روسية جهة أم وباءت العناد فعل, الذرية اسبوعين كل أما كلا شعار اتّجة اسبوعين كل, مشقّة اعتداء تم بعد تعداد لبولندا، ان كلّ مليون والحزب واقتصار قام عل, سقط ثانية وجهان الذرية بـ, مع تُصب لفشل يرتبط الى ربع الأمم الأخذ لبولندا، إذ أن مدن سقوط لإعادة العصبة استسلام هو يكن, إبّان التحالف يبق أن, عن على السفن السادس الإمتعاض سمّي استمرار كلّ تم, ماشاء استولت ومدني، قام أي, في وقد تونس استولت حدة بالمحور باستسلام كل ما حول بشرية والفلبين التكاليف الامم لألمانيا لبولندا، فصل عل بـ فبعد طرفاً وبغطاء كلا, إذ تعد العظمى مقاطعة المقيتة وعزّزت والديون جوي بل, مع سلاح الحرة الثالث، فقد يتسنّى والفرنسي وضم عل, ذلك الغربي الكونجرس لم أن قتيل، الشهيرة أضف, مسرح ضمنها هذه و, ثم خصوصا حكومة قام أن تطوير الثالث مما أسر غينيا هيروشيما من و لان أوسع والحلفاء, ما شبح بدفع للجزر جديداً هو قام معقل أساسي إستراتيجية, بخطوط النزاع تحت ولم أن خصوصا أجزاء, إعلان تزامناً الإثنان بحق ثم أساسي والجنود بحث ما, أم غريمه بالمحور نورماندي جُل, بقعة والديون الدّفاع غزو ما عدد الله اعتداء معزّزة في, دول تم احداث فرنسا أن المضي وبحلول بالرغم كما ومضى المدنيين الأبرياء هو فصل, من وعزّزت الساحة الفرنسية ربع بحث أم الجيش بمباركة, في إيو وأزيز الولايات حتى ساعة الشطر مساعدة عن يطول هزيمة مما بل, جهة لعملة وانتهاءً أم, أما إخضاع نتيجة الإستسلام قد منشوريا استمرار أسر تم, و غير احداث موالية اللازمة كل جمعت التكاليف الى عن فعل سحقت علاقة لألمانيا الى بـ الخاسر الحلفاء إستسلاماً, أخر قد جورج باستسلام مع عدم المسرح بالحرب منشوريا, تم وضم ليركز وتتحمّل, كل مارد الأمم الأجل بال وقبل البلطيق المنتصرة ثم قصف, لم وضم حالية وبالرغم البشريةً وقوعها، الياباني مع أسر, حالية فرنسية إذ حدى لم الصينية المزيفة المعاهدات يبق, أي دنو يذكر النمسا ما أحدث وفنلندا ويكيبيديا، يتم, يتم الأولى وانتهاءً لم أخر ماذا قِبل السيطرة ان, يتمكن الأثناء، هذا كل, شعار تسبب وباءت بين تم حرب بل الحكم اكتوبر, ومن دفّة أوراقهم بل أي حشد ثانية الطريق اليميني بـ يتم قادة تشيرشل الأوروبية،, هذه رئيس حلّت ما, عدم كل لهذه بهيئة الرئيسية لقوات إستيلاء القوقازية دنو لم عرض مع بتطويق عن ذلك غضون شدّت, وتم موسوليني الأيديولوجية، أي و فصل حربية المتحدة, انه بشكل عرفها من إيطاليا عسكرياً غزو , واقتصار موسوليني كلّ تم بها ان الجو يتعلّق ألمانيا, و يتم أواخر اوروبا وباستثناء دفّة الدمج حتى كل, أضف فاتّبع الأثناء، عل جوي مع جيما فكانت الأمور, كل اقتصّت الصعداء التخطيط قصف أم المحيط الصفحات حتى, الحرب لليابان أي انه, عدد حكومة غريمه كل يعبأ السادس حيث إذ إذ وتعدد المانيا بحق الأوضاع والروسية ومن ان, المزيفة الواقعة أخذ أن لم كلّ البشريةً الدولارات ومن سقطت وحزبه و الأجل تكاليف المدنيون أي كلّ, غير اكتوبر المشترك بالقنابل ثم تعديل واستمرت أن حين, مع ذات وأسرت اعلان أنجلو-فرنسية, من ثمّة اعلان الواقعة دول اوروبا الياباني عدم ما, عدد في أحدث الهادي اوروبا بتخصيص المقاومة حول كل, وإعلان وصافرات بل لمّ بل وفرنسا وقوعها، جُل, الصعداء المعركة، يتم بـ مشارف الأوضاع الإقتصادية مما عن جحافل المتطرّف إستسلاماً ان لها, عن غزو منتصف الإنذار،, كل بحث يذكر إيطاليا النازيين عرض لم أفاق علاقة ستالينجراد, وباءت التجارية الإقتصادي الى لان النزاع البرية موسوليني ما, دارت باستحداث الإنذار، في عدد, و ذلك ساعة الأرض الساحل الدمج ليتسنّى والفرنسي و به، بأذى الإحتفاظ لألمانيا عن عرض, كل أفاق مهانة والإتحاد ضرب, من مكن بزوال الأمريكية الأوروبيّون كان مارد صفحة باستخدام مع, تم شيء بقيادة النازيين به، بل يعادل وتتحمّل وقد حربية وحرمان في, الله وحلفاؤها بريطانيا-فرنسا دون تم الفاشي التجارية ماليزيا، مدن, بها أي أفاق الشرقية سقط أي الشمل وقامت إنطلاق الضروري الواقعة باستسلام مدن لم)
42
+
43
+ end
44
+
45
+ end
@@ -55,7 +55,7 @@ module Faker
55
55
  三更半夜 三顾茅庐 四面楚歌 四面八方 四海为家 四通八达 四平八稳 四分五裂 五大三粗 五光十色 五花八门
56
56
  五体投地 五谷丰登 五彩缤纷 五湖四海 六神无主 六根清净 六道轮回 六亲不认 七零八落 七嘴八舌 七高八低
57
57
  七窍生烟 七上八下 七折八扣 七拼八凑 八面玲珑 八面威风 八仙过海,各显神通 九霄云外 九牛一毛 九死一生
58
- 九鼎一丝 十指连心 十面埋伏 十字街头 十全十美 十年寒窗 十万火急 十拿九稳 13.带有颜色的词语:桃红柳绿
58
+ 九鼎一丝 十指连心 十面埋伏 十字街头 十全十美 十年寒窗 十万火急 十拿九稳 桃红柳绿
59
59
  万紫千红 青红皂白 黑白分明 绿意盎然 绿树成阴 素车白马 万古长青 漆黑一团 灯红酒绿 面红耳赤 青山绿水
60
60
  白纸黑字 青黄不接 金灿灿 黄澄澄 绿莹莹 红彤彤 红艳艳 红通通 白茫茫 黑乎乎 黑压压 鹅黄 乳白 湖蓝 枣红
61
61
  雪白 火红 梨黄 孔雀蓝 柠檬黄 象牙白 苹果绿 五彩缤纷 五光十色 万紫千红 绚丽多彩 色彩斑斓 千姿百态 千姿万状
@@ -73,17 +73,17 @@ module Faker
73
73
  迫不及待 急急忙忙 急不可待 操之过急 焦急万分 追悔莫及 悔恨交加 于心不安 深感内疚 羞愧难言
74
74
  心灰意冷 大失所望 灰心丧气 毫无希望 黯然神伤 惊弓之鸟 提心吊胆 惊惶失措 惊恐万状 惶惶不安
75
75
  深入浅出 借尸还魂 买空卖空 内忧外患 前呼后拥 异口同声 声东击西 三长两短 凶多吉少 不进则退 大同小异 大公无私
76
- 承上启下 天长日久:天崩地裂 天老地荒 理直气壮 云开日出 长短不同 黑白相间 表里如一 喜怒哀乐 安危冷暖 生死存亡
77
- 茫雾似轻 枫叶似火 骄阳似火 秋月似钩 日月如梭:雪花如席 雪飘如絮 细雨如烟 星月如钩 碧空如洗 暴雨如注 吉祥如意
78
- 视死如归 挥金如土 疾走如飞 一见如故 和好如初 心急如焚 早出晚归 眉清目秀 月圆花好 李白桃红 心直口快
79
- 水落石出 水滴石穿 月白风清 字正腔圆 口蜜腹剑 雨打风吹 虎啸龙吟 龙争虎斗 走马观花:废寝忘食 张灯结彩 招兵买马
76
+ 承上启下 天长日久 天崩地裂 天老地荒 理直气壮 云开日出 长短不同 黑白相间 表里如一 喜怒哀乐 安危冷暖 生死存亡
77
+ 茫雾似轻 枫叶似火 骄阳似火 秋月似钩 日月如梭 雪花如席 雪飘如絮 细雨如烟 星月如钩 碧空如洗 暴雨如注 吉祥如意
78
+ 视死如归 挥金如土 疾走如飞 一见如故 和好如初 心急如焚 早出晚归 眉清目秀 月圆花好 李白桃红 心直口快
79
+ 水落石出 水滴石穿 月白风清 字正腔圆 口蜜腹剑 雨打风吹 虎啸龙吟 龙争虎斗 走马观花 废寝忘食 张灯结彩 招兵买马
80
80
  争分夺秒 坐井观天 思前顾后 投桃报李 行云流水 乘热打铁 生离死别 舍近求远 返老还童 载歌载舞 难舍难分
81
81
  能屈能伸 蹑手蹑脚 有始有终 若即若离 古色古香 无影无踪 无牵无挂 无边无际 无情无义 无忧无虑 无缘无故 无穷无尽
82
82
  不干不净 不清不楚 不明不白 不闻不问 不伦不类 不吵不闹 不理不睬 自言自语 自说自话 自吹自擂 自私自利 自高自大
83
83
  自暴自弃 自给自足 时隐时现 时高时低 时明时暗 时上时下 半信半疑 半明半昧 半梦半醒 半推半就 神采奕奕 星光熠熠
84
84
  小心翼翼 炊烟袅袅 白雪皑皑 烈日灼灼 赤日炎炎 绿浪滚滚 波浪滚滚 云浪滚滚 麦浪滚滚 热浪滚滚 江水滚滚 车轮滚滚
85
85
  果实累累 秋实累累 硕果累累 果实累累 尸骨累累 弹孔累累 白骨累累 生气勃勃 生机勃勃 生气勃勃 朝气勃勃 兴致勃勃
86
- 雄心勃勃 千军万马 千言万语 千变万化 千山万水 千秋万代 千丝万缕 千奇百怪:千锤百炼 千方百计 千疮百孔 千姿百态
86
+ 雄心勃勃 千军万马 千言万语 千变万化 千山万水 千秋万代 千丝万缕 千奇百怪 千锤百炼 千方百计 千疮百孔 千姿百态
87
87
  前因后果 前呼后拥 前思后想 前赴后继 前仰后合 前倨后恭 天经地义 天罗地网 天昏地暗 天诛地灭 天南地北 天荒地老
88
88
  有眼无珠 有气无力 有始无终 有备无患 有恃无恐 有勇无谋 有名无实 东倒西歪 东张西望 东奔西走 东拉西扯 东拼西凑
89
89
  东邻西舍 东鳞西爪 迫在眉睫 千钧一发 燃眉之急 十万火急 震耳欲聋 惊天动地 震天动地 响彻云霄 众志成城 齐心协力
@@ -0,0 +1,64 @@
1
+ module Faker
2
+ module Movie
3
+ extend ModuleUtils
4
+ extend self
5
+
6
+ def title
7
+ case rand(4)
8
+ when 0 then title_with_prefix
9
+ when 1 then title_with_suffix
10
+ when 2 then simple_title
11
+ when 3 then title_from_formula
12
+ end
13
+ end
14
+
15
+ PREFIXES = k [ "Time of the", "Season of the", "Return of the", "I am", "Planet of the", "War of the",
16
+ "Invasion of the", "I Married a", "Legend of", "Codename:", "Case of the Missing", "Day of the", "Curse of the",
17
+ "Rise of the", "The", "A Fistful of", "Journey of the" ]
18
+ ADJ_AND_ADV = k %w{ Action Hungry Ultra Dangerous Danger Tokyo Red Blue Green Killer Electric Blonde Flying
19
+ Forbidden Nuclear Fake American Death Champagne Bloody }
20
+ NOUNS = k %w{ Wolf Wolves Cousins Jungle Witch Woman Women Man Men Identity Ninja Ninjas Pickpocket Hills Clash
21
+ Wizard World Brain Brains Fly Mutant Blow Diaries Gypsy Diaries Dreams Tears City Cat Tentacle Friday Rain Thief
22
+ Beast Demon Monster }
23
+ SUFFIXES = k [ "from Hell", "from Outer Space", "from Mars", "from the Black Lagoon", "with a Thousand Faces",
24
+ "from Across the Ocean", "Who Fell to Earth", "That Came to Dinner"]
25
+
26
+ private
27
+
28
+ def title_with_prefix
29
+ "#{PREFIXES.sample} #{maybe_adj_or_adv}#{NOUNS.sample}"
30
+ end
31
+
32
+ def title_with_suffix
33
+ "The #{maybe_adj_or_adv}#{NOUNS.sample} #{SUFFIXES.sample}"
34
+ end
35
+
36
+ def maybe_adj_or_adv
37
+ if rand(2) == 1
38
+ ADJ_AND_ADV.sample + " "
39
+ end
40
+ end
41
+
42
+ def simple_title
43
+ "#{ADJ_AND_ADV.sample} #{NOUNS.sample}"
44
+ end
45
+
46
+ def title_from_formula
47
+ [
48
+ "#{NOUNS.sample} 2: Electric Boogaloo",
49
+ "The #{NOUNS.sample} Without a #{NOUNS.sample}",
50
+ "The #{NOUNS.sample} from #{rand(20_000)} Leagues",
51
+ "#{simple_title}: The #{Faker::Name.name} Story",
52
+ "When #{Faker::Name.first_name} Met #{Faker::Name.first_name}",
53
+ "Dr. #{NOUNS.sample}",
54
+ "Je Vous Presente, #{Faker::Name.first_name}",
55
+ "#{rand(3000)} A.D.",
56
+ "The #{NOUNS.sample} from #{Faker::Address.neighborhood}",
57
+ "Christmas on #{Faker::Address.street_name}",
58
+ "The #{ %w{ Red Yellow Black White }.sample } Rose of #{Faker::AddressUK.country}",
59
+ "Hard Boiled #{NOUNS.sample}",
60
+ String.new.tap{|s| n = simple_title; s.replace("#{n} 2: Son of #{n}")}
61
+ ].sample
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,57 @@
1
+ module Faker
2
+
3
+ # => Generates names from Gambia West Africa
4
+ # source: http://www.columbia.edu/~msj42/Common%20Gambian%20First%20Names.htm
5
+ #
6
+ module NameGA
7
+
8
+ extend ModuleUtils
9
+ extend self
10
+
11
+ # => CONSTANTS
12
+ #
13
+ FIRST_NAMES_FEMALE = k %w(Abie Adama Adu Aisha Allabatou Allamouta AllimatouAmie Aminata Ancha Anna Anta Aram Aret Arookee Asanatou Atta Ayi Balankang Banna Beteng Bijilo Bin Binneh Binet Binta Bintanding Bintu Boneh Bori Ceesaynding Charlotte Christine Corina Coumba Coura Daggah Daado Daniela Danjang Dawitt Denise Dolly Donna Elaine Ellen Eli Elisa Elizabeth Enna Fama Fanna Fanta Fatamina Fatma Fatoumata Fatou Fatunding Fara Fayel Frances Fulatunk Funtufaye Galo Gaye Gegeh Georgina Gidera Gindereh Babibatou Hajarta Hallima Hamisowe Hanna Hariette Hellen Hoja Horeja Houdja Houmou Hoyaan Huja Huri Ida Isatou Jaboh Jabou Jaherr Jajeh Jall Jalika Jalnum Jamba Jamos Jankay Janun Jarai Jaria Jariatou Jidereh Kaddy Kafa Kandar Kandeh Kani Kanja Kanjumblaank Kassamanding Kinti Kodou Kujayjah Kumareh Kunkung Kurou Kuura Kaani Lena Lisa Lobe Lolong Lolo Madeghen Mai Maimuna Mairam Majula Mam Mamandew Mambisinnine Mankita Mansata Margaret Marget Mariatu Mariama Mariam Marie Mary Manyimba Mbasey Mbayam Mbene Mberegaye Mberi Mbinga Mbinkinding Mbissine Momkan Musubanding Musukoi Musukoto Musukuta Maaluta Naffie Natoma NBene Ndiabou NGat Nano Ndey Ndingbo Ndura Nenegalleh Ngenarr Ngilan Ngoneh Njaling Njarram Njemeh Njonkoling Nkey Nogoy Numbeh Nyakasi Nyaling Nyanya Nyillan Nyima Obaar Olaye Oli Olimatta Olimatou Ousainatou Penda Rabbi Regina Rokhia Rohe Ruggie Saffie Sainabou Sanjani Sanou Saribaa Saribanding Sarata Saratou Saro Satang Satunding Siffaye Sigga Sirando Sirreh Soda Soffie Sonna Sora Sukai Suna Sunkang Tamara Tano Tasatou Tida Tiya Tuti Veronica Victoria Wuday Yadikon Yakay Yama Yandeh Zainab)
14
+ FIRST_NAMES_MALE = k %w(Abba, Abdoulaye, Adama, Ajuma, Alasana, Alboury, Alfusainou, Alkalo, Alex, Alieu, Allabatou, Allamouta, Almami, Almamo, Amadou, Amata, Anthony, Appaye, Araba, Ayyah, Aziz Baba, Baba Galleh, Baboucar, Badara, Bairo, Bakary, Balankang, Balla, Bamara, Bamba, Banjuku, Basirou, Bechou, Benedict, Benjamin, Bolla, Biji, Booti, Bora, Boto, Booya, Buba, Bubacarr, Buka, Bulley, Bun, Bunja, Buray, Bye, Chabba, Chambi, Chana, Charles, Charneh, Cheboh, Cheikh, Christopher, Correa, Daniel, Daraman, Dekory, Demba, Dembo, Deguman, Desmon, Dominick, Dulla, Durang, Duwa Ebin, Ebou, Ebrima, Edrisa, Edward, Eggeh, Emanuel, Ekku, Fabala, Fafanding, Fakebba, Falla, Fallou, Fanding, Fansaine, Fara, Faranding, Farimang, Findi, Foday, Folongko, Fransis Gabi, Garba, Galo, George, Giddo, Gidom, Gregory, Gondoi, Gorra Hadim, Halifa, Hamadi, Haruna, Henry, Houn, Hoyan Ibrahim, Ibou, Ignatius Jabel, Jahu, Jalang, Jalima, Jallom, James, Jamos, Jatta, Jatto, Jemussu, Jerreh, Jewru, Jidere, Jirang, Joseph, Juldeh, Jung, Jungkunda, Junkung Kajaly, Kalilu, Kamuneh, Kanimang, Kanjura, Karamba, Karankallo, Karanlang, Karanta, Karrafa, Katim, Kawsu, Kaykoto, Kayluntang, Kayring, Kebba, Kebuteh, Kekoi, Kemesseng, Kemeta, Kemo, Kemoring, Kemoba, Kenbugut, Kenbugul, Ketabou, Kewuleng, Kitim, Koora, Koro, Kulubo, Kuto, Kutobo Laity, Lalo, Landing, Lang, Larry, Latjor, Latri, Leemu, Lensa, Loloh, Lolon Maamina, Maari, Madehgen, Madi, Madiba, Madikeh, Majorr, Malal, Malanding, Malaw, Malick, Mamadi, Mamar, Mamburray, Mamo, Mamudu, Mamur, Manlafy, Mansor, Maoyatou, Masamba, Massaneh, Mawdo, Mayekor, Mba, Mbarka, Melbourey, Michael, Mohammad, Moli, Mom, Momat, Momkan, Momodou, Moses, Mot, Mounir, Mufri, Musa, Mustapha Nathaniel, Nfally, Nfamara, Nfansu, Njuga, Naibelle, Ndongo, Nduggu, Ngattan, Ngoja, Ngor, Njagga, Numu, Nyanya Oliver, Omar, Ousainou, Ousman Pateh, Patrick, Peter, Philip, Pili Rabbi, Richard, Roger, Roddie Saaki, Saako, Saderr, Saiarr, Saidou, Saikou, Sainey, Sait, Sajaa, Sajo, Salmina, Samaba, Samba, Sambou, Samory, Samuel, Sana, Sanballa, Sanjally, Sanjani, Sanji, Sankung, Sawalo, Seedy, Sayer, Seckka, Sengan, Sherrif, Sidia, Sinajo, Siman, Sirach, Sittafa, Suntu, Saangone, Sylvester, Solomon, Sora, Stephen, Steve, Sulayman, Sumbundu, Sutay, Sutura, Sutunkung Tam, Tamba, Tamsir, Tanu, Tijan, Theodore, Tom, Turo, Tombong Victor, Vincent William, Willie Yanding, Yahya, Yelee, Yeyeh, Yob, Yugo)
15
+ PREFIX_FEMALE = k %w()
16
+ PREFIX_MALE = k %w()
17
+ LAST_NAMES = k %w(jammeh ceesay)
18
+
19
+ # => METHODS
20
+
21
+ def first_name_female
22
+ FIRST_NAMES_FEMALE.rand
23
+ end
24
+
25
+ def first_name_male
26
+ FIRST_NAMES_MALE.rand
27
+ end
28
+
29
+ def last_name
30
+ LAST_NAMES.rand
31
+ end
32
+
33
+ def name_male
34
+ "#{first_name_male} #{last_name}"
35
+ end
36
+
37
+ def name_female
38
+ "#{first_name_female} #{last_name}"
39
+ end
40
+
41
+ def name
42
+ case rand(10)
43
+ when 9 then name_female
44
+ when 8 then name_male
45
+ when 7 then name_female
46
+ when 6 then name_male
47
+ when 5 then name_female
48
+ when 4 then name_male
49
+ when 3 then name_female
50
+ when 2 then name_male
51
+ else name_female
52
+ end
53
+ end
54
+
55
+ end
56
+
57
+ end