diff --git a/README.md b/README.md index b1bea55..f70b332 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Faker::Address.city Faker::Address.street_name Faker::Address.street_address Faker::Address.secondary_address - +Faker::Address.building_number Faker::Address.zip_code Faker::Address.postcode @@ -55,12 +55,13 @@ Faker::Company.suffix ```crystal Faker::Internet.email -Faker::Internet.email('Nancy') +Faker::Internet.email("Nancy") Faker::Internet.free_email -Faker::Internet.free_email('Nancy') - +Faker::Internet.free_email("Nancy") +Faker::Internet.safe_email +Faker::Internet.safe_email("Nancy") Faker::Internet.user_name -Faker::Internet.user_name('Nancy') +Faker::Internet.user_name("Nancy") Faker::Internet.domain_name Faker::Internet.domain_word @@ -74,18 +75,26 @@ Faker::Internet.ip_v4_address ```crystal Faker::Lorem.words Faker::Lorem.words(4) +Faker::Lorem.words(4, true) + +Faker::Lorem.characters +Faker::Lorem.characters(10) Faker::Lorem.sentence Faker::Lorem.sentence(3) +Faker::Lorem.sentence(3, true) Faker::Lorem.sentences Faker::Lorem.sentences(1) +Faker::Lorem.sentences(1, true) Faker::Lorem.paragraph Faker::Lorem.paragraph(2) +Faker::Lorem.paragraph(2, true) Faker::Lorem.paragraphs Faker::Lorem.paragraphs(1) +Faker::Lorem.paragraphs(1, true) ``` ### Faker::Name @@ -110,7 +119,7 @@ Faker::PhoneNumber.phone_number 1. Fork it ( https://github.com/askn/faker/fork ) 2. Create your feature branch (git checkout -b my-new-feature) -3. Commit your changes (git commit -am 'Add some feature') +3. Commit your changes (git commit -am "Add some feature") 4. Push to the branch (git push origin my-new-feature) 5. Create a new Pull Request diff --git a/examples/test.cr b/examples/test.cr index 3dbd303..58439db 100644 --- a/examples/test.cr +++ b/examples/test.cr @@ -6,7 +6,7 @@ puts Faker::Address.city puts Faker::Address.street_name puts Faker::Address.street_address puts Faker::Address.secondary_address - +puts Faker::Address.building_number puts Faker::Address.zip_code puts Faker::Address.postcode @@ -24,6 +24,8 @@ puts "\n### Faker::Company\n\n" puts Faker::Company.name puts Faker::Company.suffix +puts Faker::Company.catch_phrase +puts Faker::Company.bs puts "\n\t### Faker::Internet\n\n" @@ -31,6 +33,8 @@ puts Faker::Internet.email puts Faker::Internet.email("Nancy") puts Faker::Internet.free_email puts Faker::Internet.free_email("Nancy") +puts Faker::Internet.safe_email +puts Faker::Internet.safe_email("Nancy") puts Faker::Internet.user_name puts Faker::Internet.user_name("Nancy") @@ -46,6 +50,9 @@ puts "\n\t### Faker::Lorem\n\n" puts Faker::Lorem.words puts Faker::Lorem.words(4) +puts Faker::Lorem.characters +puts Faker::Lorem.characters(10) + puts Faker::Lorem.sentence puts Faker::Lorem.sentence(3) diff --git a/src/faker.cr b/src/faker.cr index 90faa83..4b2cf62 100644 --- a/src/faker.cr +++ b/src/faker.cr @@ -3,11 +3,11 @@ require "./faker/*" module Faker def self.numerify(number_string) - number_string.gsub(/#/) { rand(10).to_s } + number_string.sub(/#/) { (rand(9) + 1).to_s }.gsub(/#/) { rand(10).to_s } end def self.letterify(letter_string) - letter_string.gsub(/\?/) { ("a".."z").to_a.sample } + letter_string.gsub(/\?/) { ("A".."Z").to_a.sample } end def self.bothify(string) diff --git a/src/faker/address.cr b/src/faker/address.cr index a77dbb4..48b149a 100644 --- a/src/faker/address.cr +++ b/src/faker/address.cr @@ -41,11 +41,15 @@ module Faker Faker.numerify(Faker.fetch(Data["address"]["secondary_address"])) end + def self.building_number + Faker.bothify(Faker.fetch(Data["address"]["building_number"])) + end + def self.postcode Faker.bothify([ ->{ "??# #??" }, ->{ "??## #??" }, - ].sample.call).upcase + ].sample.call) end def self.latitude diff --git a/src/faker/company.cr b/src/faker/company.cr index 8ad1e7d..da6c61d 100644 --- a/src/faker/company.cr +++ b/src/faker/company.cr @@ -8,6 +8,14 @@ module Faker Faker.fetch(Data["company"]["suffix"]) end + def self.catch_phrase + [Faker.fetch(Data["company"]["buzzword_1"]), Faker.fetch(Data["company"]["buzzword_2"]), Faker.fetch(Data["company"]["buzzword_3"])].join(" ") + end + + def self.bs + [Faker.fetch(Data["company"]["bs_1"]), Faker.fetch(Data["company"]["bs_2"]), Faker.fetch(Data["company"]["bs_3"])].join(" ") + end + Formats = [ ->{ [Name.last_name, suffix].join(' ') }, ->{ [Name.last_name, Name.last_name].join('-') }, diff --git a/src/faker/data.cr b/src/faker/data.cr index 86d2d2b..a4974a6 100644 --- a/src/faker/data.cr +++ b/src/faker/data.cr @@ -1,6 +1,7 @@ module Faker Data = { "address" => { + "building_number": ["#####", "####", "###"], "city_prefix" => %w(North East West South New Lake Port), "city_suffix" => %w(town ton land ville berg burgh borough bury view port mouth stad furt chester mouth fort haven side shire), "country" => ["Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica (the territory South of 60 deg S)", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Bouvet Island (Bouvetoya)", "Brazil", "British Indian Ocean Territory (Chagos Archipelago)", "British Virgin Islands", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Congo", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Faroe Islands", "Falkland Islands (Malvinas)", "Fiji", "Finland", "France", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guernsey", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard Island and McDonald Islands", "Holy See (Vatican City State)", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy", "Jamaica", "Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea", "Korea", "Kuwait", "Kyrgyz Republic", "Lao People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libyan Arab Jamahiriya", "Liechtenstein", "Lithuania", "Luxembourg", "Macao", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands Antilles", "Netherlands", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Palestinian Territory", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russian Federation", "Rwanda", "Saint Barthelemy", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Martin", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovakia (Slovak Republic)", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard & Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Timor-Leste", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States of America", "United States Minor Outlying Islands", "United States Virgin Islands", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara", "Yemen", "Zambia", "Zimbabwe"], @@ -13,13 +14,23 @@ module Faker }, "company" => { "suffix": ["Inc", "and Sons", "LLC", "Group"], + # Buzzword wordlist from http://www.1728.com/buzzword.htm + "buzzword_1": ["Adaptive", "Advanced", "Ameliorated", "Assimilated", "Automated", "Balanced", "Business-focused", "Centralized", "Cloned", "Compatible", "Configurable", "Cross-group", "Cross-platform", "Customer-focused", "Customizable", "Decentralized", "De-engineered", "Devolved", "Digitized", "Distributed", "Diverse", "Down-sized", "Enhanced", "Enterprise-wide", "Ergonomic", "Exclusive", "Expanded", "Extended", "Face to face", "Focused", "Front-line", "Fully-configurable", "Function-based", "Fundamental", "Future-proofed", "Grass-roots", "Horizontal", "Implemented", "Innovative", "Integrated", "Intuitive", "Inverse", "Managed", "Mandatory", "Monitored", "Multi-channelled", "Multi-lateral", "Multi-layered", "Multi-tiered", "Networked", "Object-based", "Open-architected", "Open-source", "Operative", "Optimized", "Optional", "Organic", "Organized", "Persevering", "Persistent", "Phased", "Polarised", "Pre-emptive", "Proactive", "Profit-focused", "Profound", "Programmable", "Progressive", "Public-key", "Quality-focused", "Reactive", "Realigned", "Re-contextualized", "Re-engineered", "Reduced", "Reverse-engineered", "Right-sized", "Robust", "Seamless", "Secured", "Self-enabling", "Sharable", "Stand-alone", "Streamlined", "Switchable", "Synchronised", "Synergistic", "Synergized", "Team-oriented", "Total", "Triple-buffered", "Universal", "Up-sized", "Upgradable", "User-centric", "User-friendly", "Versatile", "Virtual", "Visionary", "Vision-oriented"], + "buzzword_2": ["24 hour", "24/7", "3rd generation", "4th generation", "5th generation", "6th generation", "actuating", "analyzing", "assymetric", "asynchronous", "attitude-oriented", "background", "bandwidth-monitored", "bi-directional", "bifurcated", "bottom-line", "clear-thinking", "client-driven", "client-server", "coherent", "cohesive", "composite", "context-sensitive", "contextually-based", "content-based", "dedicated", "demand-driven", "didactic", "directional", "discrete", "disintermediate", "dynamic", "eco-centric", "empowering", "encompassing", "even-keeled", "executive", "explicit", "exuding", "fault-tolerant", "foreground", "fresh-thinking", "full-range", "global", "grid-enabled", "heuristic", "high-level", "holistic", "homogeneous", "human-resource", "hybrid", "impactful", "incremental", "intangible", "interactive", "intermediate", "leading edge", "local", "logistical", "maximized", "methodical", "mission-critical", "mobile", "modular", "motivating", "multimedia", "multi-state", "multi-tasking", "national", "needs-based", "neutral", "next generation", "non-volatile", "object-oriented", "optimal", "optimizing", "radical", "real-time", "reciprocal", "regional", "responsive", "scalable", "secondary", "solution-oriented", "stable", "static", "systematic", "systemic", "system-worthy", "tangible", "tertiary", "transitional", "uniform", "upward-trending", "user-facing", "value-added", "web-enabled", "well-modulated", "zero administration", "zero defect", "zero tolerance"], + "buzzword_3": ["ability", "access", "adapter", "algorithm", "alliance", "analyzer", "application", "approach", "architecture", "archive", "artificial intelligence", "array", "attitude", "benchmark", "budgetary management", "capability", "capacity", "challenge", "circuit", "collaboration", "complexity", "concept", "conglomeration", "contingency", "core", "customer loyalty", "database", "data-warehouse", "definition", "emulation", "encoding", "encryption", "extranet", "firmware", "flexibility", "focus group", "forecast", "frame", "framework", "function", "functionalities", "Graphic Interface", "groupware", "Graphical User Interface", "hardware", "help-desk", "hierarchy", "hub", "implementation", "info-mediaries", "infrastructure", "initiative", "installation", "instruction set", "interface", "internet solution", "intranet", "knowledge user", "knowledge base", "local area network", "leverage", "matrices", "matrix", "methodology", "middleware", "migration", "model", "moderator", "monitoring", "moratorium", "neural-net", "open architecture", "open system", "orchestration", "paradigm", "parallelism", "policy", "portal", "pricing structure", "process improvement", "product", "productivity", "project", "projection", "protocol", "secured line", "service-desk", "software", "solution", "standardization", "strategy", "structure", "success", "superstructure", "support", "synergy", "system engine", "task-force", "throughput", "time-frame", "toolset", "utilisation", "website", "workforce"], + # BS wordlist from http://dack.com/web/bullshit.html + "bs_1": ["implement", "utilize", "integrate", "streamline", "optimize", "evolve", "transform", "embrace", "enable", "orchestrate", "leverage", "reinvent", "aggregate", "architect", "enhance", "incentivize", "morph", "empower", "envisioneer", "monetize", "harness", "facilitate", "seize", "disintermediate", "synergize", "strategize", "deploy", "brand", "grow", "target", "syndicate", "synthesize", "deliver", "mesh", "incubate", "engage", "maximize", "benchmark", "expedite", "reintermediate", "whiteboard", "visualize", "repurpose", "innovate", "scale", "unleash", "drive", "extend", "engineer", "revolutionize", "generate", "exploit", "transition", "e-enable", "iterate", "cultivate", "matrix", "productize", "redefine", "recontextualize"], + "bs_2": ["clicks-and-mortar", "value-added", "vertical", "proactive", "robust", "revolutionary", "scalable", "leading-edge", "innovative", "intuitive", "strategic", "e-business", "mission-critical", "sticky", "one-to-one", "24/7", "end-to-end", "global", "B2B", "B2C", "granular", "frictionless", "virtual", "viral", "dynamic", "24/365", "best-of-breed", "killer", "magnetic", "bleeding-edge", "web-enabled", "interactive", "dot-com", "sexy", "back-end", "real-time", "efficient", "front-end", "distributed", "seamless", "extensible", "turn-key", "world-class", "open-source", "cross-platform", "cross-media", "synergistic", "bricks-and-clicks", "out-of-the-box", "enterprise", "integrated", "impactful", "wireless", "transparent", "next-generation", "cutting-edge", "user-centric", "visionary", "customized", "ubiquitous", "plug-and-play", "collaborative", "compelling", "holistic", "rich"], + "bs_3": ["synergies", "web-readiness", "paradigms", "markets", "partnerships", "infrastructures", "platforms", "initiatives", "channels", "eyeballs", "communities", "ROI", "solutions", "e-tailers", "e-services", "action-items", "portals", "niches", "technologies", "content", "vortals", "supply-chains", "convergence", "relationships", "architectures", "interfaces", "e-markets", "e-commerce", "systems", "bandwidth", "infomediaries", "models", "mindshare", "deliverables", "users", "schemas", "networks", "applications", "metrics", "e-business", "functionalities", "experiences", "web services", "methodologies"], }, "internet" => { "free_email" => ["gmail.com", "yahoo.com", "hotmail.com"], "domain_suffix" => ["co.uk", "com", "us", "ca", "biz", "info", "name"], }, "lorem" => { - "words" => %w(alias consequatur aut perferendis sit voluptatem accusantium doloremque aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo aspernatur aut odit aut fugit sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt neque dolorem ipsum quia dolor sit amet consectetur adipisci velit sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem ut enim ad minima veniam quis nostrum exercitationem ullam corporis nemo enim ipsam voluptatem quia voluptas sit suscipit laboriosam nisi ut aliquid ex ea commodi consequatur quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae et iusto odio dignissimos ducimus qui blanditiis praesentium laudantium totam rem voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident sed ut perspiciatis unde omnis iste natus error similique sunt in culpa qui officia deserunt mollitia animi id est laborum et dolorum fuga et harum quidem rerum facilis est et expedita distinctio nam libero tempore cum soluta nobis est eligendi optio cumque nihil impedit quo porro quisquam est qui minus id quod maxime placeat facere possimus omnis voluptas assumenda est omnis dolor repellendus temporibus autem quibusdam et aut consequatur vel illum qui dolorem eum fugiat quo voluptas nulla pariatur at vero eos et accusamus officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae itaque earum rerum hic tenetur a sapiente delectus ut aut reiciendis voluptatibus maiores doloribus asperiores repellat), + "words" => %w(alias consequatur aut perferendis sit voluptatem accusantium doloremque aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo aspernatur aut odit aut fugit sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt neque dolorem ipsum quia dolor sit amet consectetur adipisci velit sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem ut enim ad minima veniam quis nostrum exercitationem ullam corporis nemo enim ipsam voluptatem quia voluptas sit suscipit laboriosam nisi ut aliquid ex ea commodi consequatur quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae et iusto odio dignissimos ducimus qui blanditiis praesentium laudantium totam rem voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident sed ut perspiciatis unde omnis iste natus error similique sunt in culpa qui officia deserunt mollitia animi id est laborum et dolorum fuga et harum quidem rerum facilis est et expedita distinctio nam libero tempore cum soluta nobis est eligendi optio cumque nihil impedit quo porro quisquam est qui minus id quod maxime placeat facere possimus omnis voluptas assumenda est omnis dolor repellendus temporibus autem quibusdam et aut consequatur vel illum qui dolorem eum fugiat quo voluptas nulla pariatur at vero eos et accusamus officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae itaque earum rerum hic tenetur a sapiente delectus ut aut reiciendis voluptatibus maiores doloribus asperiores repellat), + "supplemental": %w(abbas abduco abeo abscido absconditus absens absorbeo absque abstergo absum abundans abutor accedo accendo acceptus accipio accommodo accusator acer acerbitas acervus acidus acies acquiro acsi adamo adaugeo addo adduco ademptio adeo adeptio adfectus adfero adficio adflicto adhaero adhuc adicio adimpleo adinventitias adipiscor adiuvo administratio admiratio admitto admoneo admoveo adnuo adopto adsidue adstringo adsuesco adsum adulatio adulescens adultus aduro advenio adversus advoco aedificium aeger aegre aegrotatio aegrus aeneus aequitas aequus aer aestas aestivus aestus aetas aeternus ager aggero aggredior agnitio agnosco ago ait aiunt alienus alii alioqui aliqua alius allatus alo alter altus alveus amaritudo ambitus ambulo amicitia amiculum amissio amita amitto amo amor amoveo amplexus amplitudo amplus ancilla angelus angulus angustus animadverto animi animus annus anser ante antea antepono antiquus aperio aperte apostolus apparatus appello appono appositus approbo apto aptus apud aqua ara aranea arbitro arbor arbustum arca arceo arcesso arcus argentum argumentum arguo arma armarium armo aro ars articulus artificiose arto arx ascisco ascit asper aspicio asporto assentator astrum atavus ater atqui atrocitas atrox attero attollo attonbitus auctor auctus audacia audax audentia audeo audio auditor aufero aureus auris aurum aut autem autus auxilium avaritia avarus aveho averto avoco baiulus balbus barba bardus basium beatus bellicus bellum bene beneficium benevolentia benigne bestia bibo bis blandior bonus bos brevis cado caecus caelestis caelum calamitas calcar calco calculus callide campana candidus canis canonicus canto capillus capio capitulus capto caput carbo carcer careo caries cariosus caritas carmen carpo carus casso caste casus catena caterva cattus cauda causa caute caveo cavus cedo celebrer celer celo cena cenaculum ceno censura centum cerno cernuus certe certo certus cervus cetera charisma chirographum cibo cibus cicuta cilicium cimentarius ciminatio cinis circumvenio cito civis civitas clam clamo claro clarus claudeo claustrum clementia clibanus coadunatio coaegresco coepi coerceo cogito cognatus cognomen cogo cohaero cohibeo cohors colligo colloco collum colo color coma combibo comburo comedo comes cometes comis comitatus commemoro comminor commodo communis comparo compello complectus compono comprehendo comptus conatus concedo concido conculco condico conduco confero confido conforto confugo congregatio conicio coniecto conitor coniuratio conor conqueror conscendo conservo considero conspergo constans consuasor contabesco contego contigo contra conturbo conventus convoco copia copiose cornu corona corpus correptius corrigo corroboro corrumpo coruscus cotidie crapula cras crastinus creator creber crebro credo creo creptio crepusculum cresco creta cribro crinis cruciamentum crudelis cruentus crur crustulum crux cubicularis cubitum cubo cui cuius culpa culpo cultellus cultura cum cunabula cunae cunctatio cupiditas cupio cuppedia cupressus cur cura curatio curia curiositas curis curo curriculum currus cursim curso cursus curto curtus curvo curvus custodia damnatio damno dapifer debeo debilito decens decerno decet decimus decipio decor decretum decumbo dedecor dedico deduco defaeco defendo defero defessus defetiscor deficio defigo defleo defluo defungo degenero degero degusto deinde delectatio delego deleo delibero delicate delinquo deludo demens demergo demitto demo demonstro demoror demulceo demum denego denique dens denuncio denuo deorsum depereo depono depopulo deporto depraedor deprecator deprimo depromo depulso deputo derelinquo derideo deripio desidero desino desipio desolo desparatus despecto despirmatio infit inflammatio paens patior patria patrocinor patruus pauci paulatim pauper pax peccatus pecco pecto pectus pecunia pecus peior pel ocer socius sodalitas sol soleo solio solitudo solium sollers sollicito solum solus solutio solvo somniculosus somnus sonitus sono sophismata sopor sordeo sortitus spargo speciosus spectaculum speculum sperno spero spes spiculum spiritus spoliatio sponte stabilis statim statua stella stillicidium stipes stips sto strenuus strues studio stultus suadeo suasoria sub subito subiungo sublime subnecto subseco substantia subvenio succedo succurro sufficio suffoco suffragium suggero sui sulum sum summa summisse summopere sumo sumptus supellex super suppellex supplanto suppono supra surculus surgo sursum suscipio suspendo sustineo suus synagoga tabella tabernus tabesco tabgo tabula taceo tactus taedium talio talis talus tam tamdiu tamen tametsi tamisium tamquam tandem tantillus tantum tardus tego temeritas temperantia templum temptatio tempus tenax tendo teneo tener tenuis tenus tepesco tepidus ter terebro teres terga tergeo tergiversatio tergo tergum termes terminatio tero terra terreo territo terror tersus tertius testimonium texo textilis textor textus thalassinus theatrum theca thema theologus thermae thesaurus thesis thorax thymbra thymum tibi timidus timor titulus tolero tollo tondeo tonsor torqueo torrens tot totidem toties totus tracto trado traho trans tredecim tremo trepide tres tribuo tricesimus triduana triginta tripudio tristis triumphus trucido truculenter tubineus tui tum tumultus tunc turba turbo turpe turpis tutamen tutis tyrannus uberrime ubi ulciscor ullus ulterius ultio ultra umbra umerus umquam una unde undique universe unus urbanus urbs uredo usitas usque ustilo ustulo usus uter uterque utilis utique utor utpote utrimque utroque utrum uxor vaco vacuus vado vae valde valens valeo valetudo validus vallum vapulus varietas varius vehemens vel velociter velum velut venia venio ventito ventosus ventus venustas ver verbera verbum vere verecundia vereor vergo veritas vero versus verto verumtamen verus vesco vesica vesper vespillo vester vestigium vestrum vetus via vicinus vicissitudo victoria victus videlicet video viduata viduo vigilo vigor vilicus vilis vilitas villa vinco vinculum vindico vinitor vinum vir virga virgo viridis viriliter virtus vis viscus vita vitiosus vitium vito vivo vix vobis vociferor voco volaticus volo volubilis voluntarius volup volutabrum volva vomer vomica vomito vorago vorax voro vos votum voveo vox vulariter vulgaris vulgivagus vulgo vulgus vulnero vulnus vulpes vulticulus vultuosus xiphias) + }, "name" => { "first_name" => %w(Aaliyah Aaron Abagail Abbey Abbie Abbigail Abby Abdiel Abdul Abdullah Abe Abel Abelardo Abigail Abigale Abigayle Abner Abraham Ada Adah Adalberto Adaline Adam Adan Addie Addison Adela Adelbert Adele Adelia Adeline Adell Adella Adelle Aditya Adolf Adolfo Adolph Adolphus Adonis Adrain Adrian Adriana Adrianna Adriel Adrien Adrienne Afton Aglae Agnes Agustin Agustina Ahmad Ahmed Aida Aidan Aiden Aileen Aimee Aisha Aiyana Akeem Al Alaina Alan Alana Alanis Alanna Alayna Alba Albert Alberta Albertha Alberto Albin Albina Alda Alden Alec Aleen Alejandra Alejandrin Alek Alena Alene Alessandra Alessandro Alessia Aletha Alex Alexa Alexander Alexandra Alexandre Alexandrea Alexandria Alexandrine Alexandro Alexane Alexanne Alexie Alexis Alexys Alexzander Alf Alfonso Alfonzo Alford Alfred Alfreda Alfredo Ali Alia Alice Alicia Alisa Alisha Alison Alivia Aliya Aliyah Aliza Alize Allan Allen Allene Allie Allison Ally Alphonso Alta Althea Alva Alvah Alvena Alvera Alverta Alvina Alvis Alyce Alycia Alysa Alysha Alyson Alysson Amalia Amanda Amani Amara Amari Amaya Amber Ambrose Amelia Amelie Amely America Americo Amie Amina Amir Amira Amiya Amos Amparo Amy Amya Ana Anabel Anabelle Anahi Anais Anastacio Anastasia Anderson Andre Andreane Andreanne Andres Andrew Andy Angel Angela Angelica Angelina Angeline Angelita Angelo Angie Angus Anibal Anika Anissa Anita Aniya Aniyah Anjali Anna Annabel Annabell Annabelle Annalise Annamae Annamarie Anne Annetta Annette Annie Ansel Ansley Anthony Antoinette Antone Antonetta Antonette Antonia Antonietta Antonina Antonio Antwan Antwon Anya April Ara Araceli Aracely Arch Archibald Ardella Arden Ardith Arely Ari Ariane Arianna Aric Ariel Arielle Arjun Arlene Arlie Arlo Armand Armando Armani Arnaldo Arne Arno Arnold Arnoldo Arnulfo Aron Art Arthur Arturo Arvel Arvid Arvilla Aryanna Asa Asha Ashlee Ashleigh Ashley Ashly Ashlynn Ashton Ashtyn Asia Assunta Astrid Athena Aubree Aubrey Audie Audra Audreanne Audrey August Augusta Augustine Augustus Aurelia Aurelie Aurelio Aurore Austen Austin Austyn Autumn Ava Avery Avis Axel Ayana Ayden Ayla Aylin Baby Bailee Bailey Barbara Barney Baron Barrett Barry Bart Bartholome Barton Baylee Beatrice Beau Beaulah Bell Bella Belle Ben Benedict Benjamin Bennett Bennie Benny Benton Berenice Bernadette Bernadine Bernard Bernardo Berneice Bernhard Bernice Bernie Berniece Bernita Berry Bert Berta Bertha Bertram Bertrand Beryl Bessie Beth Bethany Bethel Betsy Bette Bettie Betty Bettye Beulah Beverly Bianka Bill Billie Billy Birdie Blair Blaise Blake Blanca Blanche Blaze Bo Bobbie Bobby Bonita Bonnie Boris Boyd Brad Braden Bradford Bradley Bradly Brady Braeden Brain Brandi Brando Brandon Brandt Brandy Brandyn Brannon Branson Brant Braulio Braxton Brayan Breana Breanna Breanne Brenda Brendan Brenden Brendon Brenna Brennan Brennon Brent Bret Brett Bria Brian Briana Brianne Brice Bridget Bridgette Bridie Brielle Brigitte Brionna Brisa Britney Brittany Brock Broderick Brody Brook Brooke Brooklyn Brooks Brown Bruce Bryana Bryce Brycen Bryon Buck Bud Buddy Buford Bulah Burdette Burley Burnice Buster Cade Caden Caesar Caitlyn Cale Caleb Caleigh Cali Calista Callie Camden Cameron Camila Camilla Camille Camren Camron Camryn Camylle Candace Candelario Candice Candida Candido Cara Carey Carissa Carlee Carleton Carley Carli Carlie Carlo Carlos Carlotta Carmel Carmela Carmella Carmelo Carmen Carmine Carol Carolanne Carole Carolina Caroline Carolyn Carolyne Carrie Carroll Carson Carter Cary Casandra Casey Casimer Casimir Casper Cassandra Cassandre Cassidy Cassie Catalina Caterina Catharine Catherine Cathrine Cathryn Cathy Cayla Ceasar Cecelia Cecil Cecile Cecilia Cedrick Celestine Celestino Celia Celine Cesar Chad Chadd Chadrick Chaim Chance Chandler Chanel Chanelle Charity Charlene Charles Charley Charlie Charlotte Chase Chasity Chauncey Chaya Chaz Chelsea Chelsey Chelsie Chesley Chester Chet Cheyanne Cheyenne Chloe Chris Christ Christa Christelle Christian Christiana Christina Christine Christop Christophe Christopher Christy Chyna Ciara Cicero Cielo Cierra Cindy Citlalli Clair Claire Clara Clarabelle Clare Clarissa Clark Claud Claude Claudia Claudie Claudine Clay Clemens Clement Clementina Clementine Clemmie Cleo Cleora Cleta Cletus Cleve Cleveland Clifford Clifton Clint Clinton Clotilde Clovis Cloyd Clyde Coby Cody Colby Cole Coleman Colin Colleen Collin Colt Colten Colton Columbus Concepcion Conner Connie Connor Conor Conrad Constance Constantin Consuelo Cooper Cora Coralie Corbin Cordelia Cordell Cordia Cordie Corene Corine Cornelius Cornell Corrine Cortez Cortney Cory Coty Courtney Coy Craig Crawford Creola Cristal Cristian Cristina Cristobal Cristopher Cruz Crystal Crystel Cullen Curt Curtis Cydney Cynthia Cyril Cyrus Dagmar Dahlia Daija Daisha Daisy Dakota Dale Dallas Dallin Dalton Damaris Dameon Damian Damien Damion Damon Dan Dana Dandre Dane D"angelo Dangelo Danial Daniela Daniella Danielle Danika Dannie Danny Dante Danyka Daphne Daphnee Daphney Darby Daren Darian Dariana Darien Dario Darion Darius Darlene Daron Darrel Darrell Darren Darrick Darrin Darrion Darron Darryl Darwin Daryl Dashawn Dasia Dave David Davin Davion Davon Davonte Dawn Dawson Dax Dayana Dayna Dayne Dayton Dean Deangelo Deanna Deborah Declan Dedric Dedrick Dee Deion Deja Dejah Dejon Dejuan Delaney Delbert Delfina Delia Delilah Dell Della Delmer Delores Delpha Delphia Delphine Delta Demarco Demarcus Demario Demetris Demetrius Demond Dena Denis Dennis Deon Deondre Deontae Deonte Dereck Derek Derick Deron Derrick Deshaun Deshawn Desiree Desmond Dessie Destany Destin Destinee Destiney Destini Destiny Devan Devante Deven Devin Devon Devonte Devyn Dewayne Dewitt Dexter Diamond Diana Dianna Diego Dillan Dillon Dimitri Dina Dino Dion Dixie Dock Dolly Dolores Domenic Domenica Domenick Domenico Domingo Dominic Dominique Don Donald Donato Donavon Donna Donnell Donnie Donny Dora Dorcas Dorian Doris Dorothea Dorothy Dorris Dortha Dorthy Doug Douglas Dovie Doyle Drake Drew Duane Dudley Dulce Duncan Durward Dustin Dusty Dwight Dylan Earl Earlene Earline Earnest Earnestine Easter Easton Ebba Ebony Ed Eda Edd Eddie Eden Edgar Edgardo Edison Edmond Edmund Edna Eduardo Edward Edwardo Edwin Edwina Edyth Edythe Effie Efrain Efren Eileen Einar Eino Eladio Elaina Elbert Elda Eldon Eldora Eldred Eldridge Eleanora Eleanore Eleazar Electa Elena Elenor Elenora Eleonore Elfrieda Eli Elian Eliane Elias Eliezer Elijah Elinor Elinore Elisa Elisabeth Elise Eliseo Elisha Elissa Eliza Elizabeth Ella Ellen Ellie Elliot Elliott Ellis Ellsworth Elmer Elmira Elmo Elmore Elna Elnora Elody Eloisa Eloise Elouise Eloy Elroy Elsa Else Elsie Elta Elton Elva Elvera Elvie Elvis Elwin Elwyn Elyse Elyssa Elza Emanuel Emelia Emelie Emely Emerald Emerson Emery Emie Emil Emile Emilia Emiliano Emilie Emilio Emily Emma Emmalee Emmanuel Emmanuelle Emmet Emmett Emmie Emmitt Emmy Emory Ena Enid Enoch Enola Enos Enrico Enrique Ephraim Era Eriberto Eric Erica Erich Erick Ericka Erik Erika Erin Erling Erna Ernest Ernestina Ernestine Ernesto Ernie Ervin Erwin Eryn Esmeralda Esperanza Esta Esteban Estefania Estel Estell Estella Estelle Estevan Esther Estrella Etha Ethan Ethel Ethelyn Ethyl Ettie Eudora Eugene Eugenia Eula Eulah Eulalia Euna Eunice Eusebio Eva Evalyn Evan Evangeline Evans Eve Eveline Evelyn Everardo Everett Everette Evert Evie Ewald Ewell Ezekiel Ezequiel Ezra Fabian Fabiola Fae Fannie Fanny Fatima Faustino Fausto Favian Fay Faye Federico Felicia Felicita Felicity Felipa Felipe Felix Felton Fermin Fern Fernando Ferne Fidel Filiberto Filomena Finn Fiona Flavie Flavio Fleta Fletcher Flo Florence Florencio Florian Florida Florine Flossie Floy Floyd Ford Forest Forrest Foster Frances Francesca Francesco Francis Francisca Francisco Franco Frank Frankie Franz Fred Freda Freddie Freddy Frederic Frederick Frederik Frederique Fredrick Fredy Freeda Freeman Freida Frida Frieda Friedrich Fritz Furman Gabe Gabriel Gabriella Gabrielle Gaetano Gage Gail Gardner Garett Garfield Garland Garnet Garnett Garret Garrett Garrick Garrison Garry Garth Gaston Gavin Gay Gayle Gaylord Gene General Genesis Genevieve Gennaro Genoveva Geo Geoffrey George Georgette Georgiana Georgianna Geovanni Geovanny Geovany Gerald Geraldine Gerard Gerardo Gerda Gerhard Germaine German Gerry Gerson Gertrude Gia Gianni Gideon Gilbert Gilberto Gilda Giles Gillian Gina Gino Giovani Giovanna Giovanni Giovanny Gisselle Giuseppe Gladyce Gladys Glen Glenda Glenna Glennie Gloria Godfrey Golda Golden Gonzalo Gordon Grace Gracie Graciela Grady Graham Grant Granville Grayce Grayson Green Greg Gregg Gregoria Gregorio Gregory Greta Gretchen Greyson Griffin Grover Guadalupe Gudrun Guido Guillermo Guiseppe Gunnar Gunner Gus Gussie Gust Gustave Guy Gwen Gwendolyn Hadley Hailee Hailey Hailie Hal Haleigh Haley Halie Halle Hallie Hank Hanna Hannah Hans Hardy Harley Harmon Harmony Harold Harrison Harry Harvey Haskell Hassan Hassie Hattie Haven Hayden Haylee Hayley Haylie Hazel Hazle Heath Heather Heaven Heber Hector Heidi Helen Helena Helene Helga Hellen Helmer Heloise Henderson Henri Henriette Henry Herbert Herman Hermann Hermina Herminia Herminio Hershel Herta Hertha Hester Hettie Hilario Hilbert Hilda Hildegard Hillard Hillary Hilma Hilton Hipolito Hiram Hobart Holden Hollie Hollis Holly Hope Horace Horacio Hortense Hosea Houston Howard Howell Hoyt Hubert Hudson Hugh Hulda Humberto Hunter Hyman Ian Ibrahim Icie Ida Idell Idella Ignacio Ignatius Ike Ila Ilene Iliana Ima Imani Imelda Immanuel Imogene Ines Irma Irving Irwin Isaac Isabel Isabell Isabella Isabelle Isac Isadore Isai Isaiah Isaias Isidro Ismael Isobel Isom Israel Issac Itzel Iva Ivah Ivory Ivy Izabella Izaiah Jabari Jace Jacey Jacinthe Jacinto Jack Jackeline Jackie Jacklyn Jackson Jacky Jaclyn Jacquelyn Jacques Jacynthe Jada Jade Jaden Jadon Jadyn Jaeden Jaida Jaiden Jailyn Jaime Jairo Jakayla Jake Jakob Jaleel Jalen Jalon Jalyn Jamaal Jamal Jamar Jamarcus Jamel Jameson Jamey Jamie Jamil Jamir Jamison Jammie Jan Jana Janae Jane Janelle Janessa Janet Janice Janick Janie Janis Janiya Jannie Jany Jaquan Jaquelin Jaqueline Jared Jaren Jarod Jaron Jarred Jarrell Jarret Jarrett Jarrod Jarvis Jasen Jasmin Jason Jasper Jaunita Javier Javon Javonte Jay Jayce Jaycee Jayda Jayde Jayden Jaydon Jaylan Jaylen Jaylin Jaylon Jayme Jayne Jayson Jazlyn Jazmin Jazmyn Jazmyne Jean Jeanette Jeanie Jeanne Jed Jedediah Jedidiah Jeff Jefferey Jeffery Jeffrey Jeffry Jena Jenifer Jennie Jennifer Jennings Jennyfer Jensen Jerad Jerald Jeramie Jeramy Jerel Jeremie Jeremy Jermain Jermaine Jermey Jerod Jerome Jeromy Jerrell Jerrod Jerrold Jerry Jess Jesse Jessica Jessie Jessika Jessy Jessyca Jesus Jett Jettie Jevon Jewel Jewell Jillian Jimmie Jimmy Jo Joan Joana Joanie Joanne Joannie Joanny Joany Joaquin Jocelyn Jodie Jody Joe Joel Joelle Joesph Joey Johan Johann Johanna Johathan John Johnathan Johnathon Johnnie Johnny Johnpaul Johnson Jolie Jon Jonas Jonatan Jonathan Jonathon Jordan Jordane Jordi Jordon Jordy Jordyn Jorge Jose Josefa Josefina Joseph Josephine Josh Joshua Joshuah Josiah Josiane Josianne Josie Josue Jovan Jovani Jovanny Jovany Joy Joyce Juana Juanita Judah Judd Jude Judge Judson Judy Jules Julia Julian Juliana Julianne Julie Julien Juliet Julio Julius June Junior Junius Justen Justice Justina Justine Juston Justus Justyn Juvenal Juwan Kacey Kaci Kacie Kade Kaden Kadin Kaela Kaelyn Kaia Kailee Kailey Kailyn Kaitlin Kaitlyn Kale Kaleb Kaleigh Kaley Kali Kallie Kameron Kamille Kamren Kamron Kamryn Kane Kara Kareem Karelle Karen Kari Kariane Karianne Karina Karine Karl Karlee Karley Karli Karlie Karolann Karson Kasandra Kasey Kassandra Katarina Katelin Katelyn Katelynn Katharina Katherine Katheryn Kathleen Kathlyn Kathryn Kathryne Katlyn Katlynn Katrina Katrine Kattie Kavon Kay Kaya Kaycee Kayden Kayla Kaylah Kaylee Kayleigh Kayley Kayli Kaylie Kaylin Keagan Keanu Keara Keaton Keegan Keeley Keely Keenan Keira Keith Kellen Kelley Kelli Kellie Kelly Kelsi Kelsie Kelton Kelvin Ken Kendall Kendra Kendrick Kenna Kennedi Kennedy Kenneth Kennith Kenny Kenton Kenya Kenyatta Kenyon Keon Keshaun Keshawn Keven Kevin Kevon Keyon Keyshawn Khalid Khalil Kian Kiana Kianna Kiara Kiarra Kiel Kiera Kieran Kiley Kim Kimberly King Kip Kira Kirk Kirsten Kirstin Kitty Kobe Koby Kody Kolby Kole Korbin Korey Kory Kraig Kris Krista Kristian Kristin Kristina Kristofer Kristoffer Kristopher Kristy Krystal Krystel Krystina Kurt Kurtis Kyla Kyle Kylee Kyleigh Kyler Kylie Kyra Lacey Lacy Ladarius Lafayette Laila Laisha Lamar Lambert Lamont Lance Landen Lane Laney Larissa Laron Larry Larue Laura Laurel Lauren Laurence Lauretta Lauriane Laurianne Laurie Laurine Laury Lauryn Lavada Lavern Laverna Laverne Lavina Lavinia Lavon Lavonne Lawrence Lawson Layla Layne Lazaro Lea Leann Leanna Leanne Leatha Leda Lee Leif Leila Leilani Lela Lelah Leland Lelia Lempi Lemuel Lenna Lennie Lenny Lenora Lenore Leo Leola Leon Leonard Leonardo Leone Leonel Leonie Leonor Leonora Leopold Leopoldo Leora Lera Lesley Leslie Lesly Lessie Lester Leta Letha Letitia Levi Lew Lewis Lexi Lexie Lexus Lia Liam Liana Libbie Libby Lila Lilian Liliana Liliane Lilla Lillian Lilliana Lillie Lilly Lily Lilyan Lina Lincoln Linda Lindsay Lindsey Linnea Linnie Linwood Lionel Lisa Lisandro Lisette Litzy Liza Lizeth Lizzie Llewellyn Lloyd Logan Lois Lola Lolita Loma Lon London Lonie Lonnie Lonny Lonzo Lora Loraine Loren Lorena Lorenz Lorenza Lorenzo Lori Lorine Lorna Lottie Lou Louie Louisa Lourdes Louvenia Lowell Loy Loyal Loyce Lucas Luciano Lucie Lucienne Lucile Lucinda Lucio Lucious Lucius Lucy Ludie Ludwig Lue Luella Luigi Luis Luisa Lukas Lula Lulu Luna Lupe Lura Lurline Luther Luz Lyda Lydia Lyla Lynn Lyric Lysanne Mabel Mabelle Mable Mac Macey Maci Macie Mack Mackenzie Macy Madaline Madalyn Maddison Madeline Madelyn Madelynn Madge Madie Madilyn Madisen Madison Madisyn Madonna Madyson Mae Maegan Maeve Mafalda Magali Magdalen Magdalena Maggie Magnolia Magnus Maia Maida Maiya Major Makayla Makenna Makenzie Malachi Malcolm Malika Malinda Mallie Mallory Malvina Mandy Manley Manuel Manuela Mara Marc Marcel Marcelina Marcelino Marcella Marcelle Marcellus Marcelo Marcia Marco Marcos Marcus Margaret Margarete Margarett Margaretta Margarette Margarita Marge Margie Margot Margret Marguerite Maria Mariah Mariam Marian Mariana Mariane Marianna Marianne Mariano Maribel Marie Mariela Marielle Marietta Marilie Marilou Marilyne Marina Mario Marion Marisa Marisol Maritza Marjolaine Marjorie Marjory Mark Markus Marlee Marlen Marlene Marley Marlin Marlon Marques Marquis Marquise Marshall Marta Martin Martina Martine Marty Marvin Mary Maryam Maryjane Maryse Mason Mateo Mathew Mathias Mathilde Matilda Matilde Matt Matteo Mattie Maud Maude Maudie Maureen Maurice Mauricio Maurine Maverick Mavis Max Maxie Maxime Maximilian Maximillia Maximillian Maximo Maximus Maxine Maxwell May Maya Maybell Maybelle Maye Maymie Maynard Mayra Mazie Mckayla Mckenna Mckenzie Meagan Meaghan Meda Megane Meggie Meghan Mekhi Melany Melba Melisa Melissa Mellie Melody Melvin Melvina Melyna Melyssa Mercedes Meredith Merl Merle Merlin Merritt Mertie Mervin Meta Mia Micaela Micah Michael Michaela Michale Micheal Michel Michele Michelle Miguel Mikayla Mike Mikel Milan Miles Milford Miller Millie Milo Milton Mina Minerva Minnie Miracle Mireille Mireya Misael Missouri Misty Mitchel Mitchell Mittie Modesta Modesto Mohamed Mohammad Mohammed Moises Mollie Molly Mona Monica Monique Monroe Monserrat Monserrate Montana Monte Monty Morgan Moriah Morris Mortimer Morton Mose Moses Moshe Mossie Mozell Mozelle Muhammad Muriel Murl Murphy Murray Mustafa Mya Myah Mylene Myles Myra Myriam Myrl Myrna Myron Myrtice Myrtie Myrtis Myrtle Nadia Nakia Name Nannie Naomi Naomie Napoleon Narciso Nash Nasir Nat Natalia Natalie Natasha Nathan Nathanael Nathanial Nathaniel Nathen Nayeli Neal Ned Nedra Neha Neil Nelda Nella Nelle Nellie Nels Nelson Neoma Nestor Nettie Neva Newell Newton Nia Nicholas Nicholaus Nichole Nick Nicklaus Nickolas Nico Nicola Nicolas Nicole Nicolette Nigel Nikita Nikki Nikko Niko Nikolas Nils Nina Noah Noble Noe Noel Noelia Noemi Noemie Noemy Nola Nolan Nona Nora Norbert Norberto Norene Norma Norris Norval Norwood Nova Novella Nya Nyah Nyasia Obie Oceane Ocie Octavia Oda Odell Odessa Odie Ofelia Okey Ola Olaf Ole Olen Oleta Olga Olin Oliver Ollie Oma Omari Omer Ona Onie Opal Ophelia Ora Oral Oran Oren Orie Orin Orion Orland Orlando Orlo Orpha Orrin Orval Orville Osbaldo Osborne Oscar Osvaldo Oswald Oswaldo Otha Otho Otilia Otis Ottilie Ottis Otto Ova Owen Ozella Pablo Paige Palma Pamela Pansy Paolo Paris Parker Pascale Pasquale Pat Patience Patricia Patrick Patsy Pattie Paul Paula Pauline Paxton Payton Pearl Pearlie Pearline Pedro Peggie Penelope Percival Percy Perry Pete Peter Petra Peyton Philip Phoebe Phyllis Pierce Pierre Pietro Pink Pinkie Piper Polly Porter Precious Presley Preston Price Prince Princess Priscilla Providenci Prudence Queen Queenie Quentin Quincy Quinn Quinten Quinton Rachael Rachel Rachelle Rae Raegan Rafael Rafaela Raheem Rahsaan Rahul Raina Raleigh Ralph Ramiro Ramon Ramona Randal Randall Randi Randy Ransom Raoul Raphael Raphaelle Raquel Rashad Rashawn Rasheed Raul Raven Ray Raymond Raymundo Reagan Reanna Reba Rebeca Rebecca Rebeka Rebekah Reece Reed Reese Regan Reggie Reginald Reid Reilly Reina Reinhold Remington Rene Renee Ressie Reta Retha Retta Reuben Reva Rex Rey Reyes Reymundo Reyna Reynold Rhea Rhett Rhianna Rhiannon Rhoda Ricardo Richard Richie Richmond Rick Rickey Rickie Ricky Rico Rigoberto Riley Rita River Robb Robbie Robert Roberta Roberto Robin Robyn Rocio Rocky Rod Roderick Rodger Rodolfo Rodrick Rodrigo Roel Rogelio Roger Rogers Rolando Rollin Roma Romaine Roman Ron Ronaldo Ronny Roosevelt Rory Rosa Rosalee Rosalia Rosalind Rosalinda Rosalyn Rosamond Rosanna Rosario Roscoe Rose Rosella Roselyn Rosemarie Rosemary Rosendo Rosetta Rosie Rosina Roslyn Ross Rossie Rowan Rowena Rowland Roxane Roxanne Roy Royal Royce Rozella Ruben Rubie Ruby Rubye Rudolph Rudy Rupert Russ Russel Russell Rusty Ruth Ruthe Ruthie Ryan Ryann Ryder Rylan Rylee Ryleigh Ryley Sabina Sabrina Sabryna Sadie Sadye Sage Saige Sallie Sally Salma Salvador Salvatore Sam Samanta Samantha Samara Samir Sammie Sammy Samson Sandra Sandrine Sandy Sanford Santa Santiago Santina Santino Santos Sarah Sarai Sarina Sasha Saul Savanah Savanna Savannah Savion Scarlett Schuyler Scot Scottie Scotty Seamus Sean Sebastian Sedrick Selena Selina Selmer Serena Serenity Seth Shad Shaina Shakira Shana Shane Shanel Shanelle Shania Shanie Shaniya Shanna Shannon Shanny Shanon Shany Sharon Shaun Shawn Shawna Shaylee Shayna Shayne Shea Sheila Sheldon Shemar Sheridan Sherman Sherwood Shirley Shyann Shyanne Sibyl Sid Sidney Sienna Sierra Sigmund Sigrid Sigurd Silas Sim Simeon Simone Sincere Sister Skye Skyla Skylar Sofia Soledad Solon Sonia Sonny Sonya Sophia Sophie Spencer Stacey Stacy Stan Stanford Stanley Stanton Stefan Stefanie Stella Stephan Stephania Stephanie Stephany Stephen Stephon Sterling Steve Stevie Stewart Stone Stuart Summer Sunny Susan Susana Susanna Susie Suzanne Sven Syble Sydnee Sydney Sydni Sydnie Sylvan Sylvester Sylvia Tabitha Tad Talia Talon Tamara Tamia Tania Tanner Tanya Tara Taryn Tate Tatum Tatyana Taurean Tavares Taya Taylor Teagan Ted Telly Terence Teresa Terrance Terrell Terrence Terrill Terry Tess Tessie Tevin Thad Thaddeus Thalia Thea Thelma Theo Theodora Theodore Theresa Therese Theresia Theron Thomas Thora Thurman Tia Tiana Tianna Tiara Tierra Tiffany Tillman Timmothy Timmy Timothy Tina Tito Titus Tobin Toby Tod Tom Tomas Tomasa Tommie Toney Toni Tony Torey Torrance Torrey Toy Trace Tracey Tracy Travis Travon Tre Tremaine Tremayne Trent Trenton Tressa Tressie Treva Trever Trevion Trevor Trey Trinity Trisha Tristian Tristin Triston Troy Trudie Trycia Trystan Turner Twila Tyler Tyra Tyree Tyreek Tyrel Tyrell Tyrese Tyrique Tyshawn Tyson Ubaldo Ulices Ulises Una Unique Urban Uriah Uriel Ursula Vada Valentin Valentina Valentine Valerie Vallie Van Vance Vanessa Vaughn Veda Velda Vella Velma Velva Vena Verda Verdie Vergie Verla Verlie Vern Verna Verner Vernice Vernie Vernon Verona Veronica Vesta Vicenta Vicente Vickie Vicky Victor Victoria Vida Vidal Vilma Vince Vincent Vincenza Vincenzo Vinnie Viola Violet Violette Virgie Virgil Virginia Virginie Vita Vito Viva Vivian Viviane Vivianne Vivien Vivienne Vladimir Wade Waino Waldo Walker Wallace Walter Walton Wanda Ward Warren Watson Wava Waylon Wayne Webster Weldon Wellington Wendell Wendy Werner Westley Weston Whitney Wilber Wilbert Wilburn Wiley Wilford Wilfred Wilfredo Wilfrid Wilhelm Wilhelmine Will Willa Willard William Willie Willis Willow Willy Wilma Wilmer Wilson Wilton Winfield Winifred Winnifred Winona Winston Woodrow Wyatt Wyman Xander Xavier Xzavier Yadira Yasmeen Yasmin Yasmine Yazmin Yesenia Yessenia Yolanda Yoshiko Yvette Yvonne Zachariah Zachary Zachery Zack Zackary Zackery Zakary Zander Zane Zaria Zechariah Zelda Zella Zelma Zena Zetta Zion Zita Zoe Zoey Zoie Zoila Zola Zora Zula), diff --git a/src/faker/internet.cr b/src/faker/internet.cr index 92a6807..1b651b0 100644 --- a/src/faker/internet.cr +++ b/src/faker/internet.cr @@ -8,6 +8,10 @@ module Faker [user_name(name), Faker.fetch(Data["internet"]["free_email"])].join("@") end + def self.safe_email(name = nil) + [user_name(name), "example." + %w(org com net).shuffle.first].join("@") + end + def self.user_name(name = nil) return name.scan(/\w+/).shuffle.map(&.[0]).join(%w(. _).sample).downcase if name [ @@ -34,10 +38,10 @@ module Faker def self.ip_v4_address [ - (0..255).to_a.sample, - (0..255).to_a.sample, - (0..255).to_a.sample, - (0..255).to_a.sample, + (2..254).to_a.sample, + (2..254).to_a.sample, + (2..254).to_a.sample, + (2..254).to_a.sample, ].join('.') end end diff --git a/src/faker/lorem.cr b/src/faker/lorem.cr index 818132d..43a246a 100644 --- a/src/faker/lorem.cr +++ b/src/faker/lorem.cr @@ -1,31 +1,38 @@ module Faker # Based on Perl"s Text::Lorem class Lorem - def self.words(num = 3) + def self.characters(char_count = 255) + chars = ("a".."z").to_a + (0..9).to_a + Array(String).new(char_count < 0 ? 0 : char_count, "").map { chars.sample }.join("") + end + + def self.words(num = 3, supplemental = false) words = Data["lorem"]["words"] as Array + words += (Data["lorem"]["supplemental"] as Array) if supplemental + words.shuffle[0, num] end - def self.sentence(word_count = 4) - words(word_count + rand(6)).join(" ").capitalize + "." + def self.sentence(word_count = 4, supplemental = false) + words(word_count + rand(6), supplemental).join(" ").capitalize + "." end - def self.sentences(sentence_count = 3) + def self.sentences(sentence_count = 3, supplemental = false) ([] of String).tap do |sentences| 1.upto(sentence_count) do - sentences << sentence + sentences << sentence(3, supplemental) end end end - def self.paragraph(sentence_count = 3) - sentences(sentence_count + rand(3)).join(" ") + def self.paragraph(sentence_count = 3, supplemental = false) + sentences(sentence_count + rand(3), supplemental).join(" ") end - def self.paragraphs(paragraph_count = 3) + def self.paragraphs(paragraph_count = 3, supplemental = false) ([] of String).tap do |paragraphs| 1.upto(paragraph_count) do - paragraphs << paragraph + paragraphs << paragraph(3, supplemental) end end end diff --git a/src/faker/name.cr b/src/faker/name.cr index 2764317..4885027 100644 --- a/src/faker/name.cr +++ b/src/faker/name.cr @@ -15,24 +15,6 @@ module Faker Faker.fetch(title["descriptor"]) + " " + Faker.fetch(title["level"]) + " " + Faker.fetch(title["job"]) end - def self.catch_phrase - [ - ["Adaptive", "Advanced", "Ameliorated", "Assimilated", "Automated", "Balanced", "Business-focused", "Centralized", "Cloned", "Compatible", "Configurable", "Cross-group", "Cross-platform", "Customer-focused", "Customizable", "Decentralized", "De-engineered", "Devolved", "Digitized", "Distributed", "Diverse", "Down-sized", "Enhanced", "Enterprise-wide", "Ergonomic", "Exclusive", "Expanded", "Extended", "Face to face", "Focused", "Front-line", "Fully-configurable", "Function-based", "Fundamental", "Future-proofed", "Grass-roots", "Horizontal", "Implemented", "Innovative", "Integrated", "Intuitive", "Inverse", "Managed", "Mandatory", "Monitored", "Multi-channelled", "Multi-lateral", "Multi-layered", "Multi-tiered", "Networked", "Object-based", "Open-architected", "Open-source", "Operative", "Optimized", "Optional", "Organic", "Organized", "Persevering", "Persistent", "Phased", "Polarised", "Pre-emptive", "Proactive", "Profit-focused", "Profound", "Programmable", "Progressive", "Public-key", "Quality-focused", "Reactive", "Realigned", "Re-contextualized", "Re-engineered", "Reduced", "Reverse-engineered", "Right-sized", "Robust", "Seamless", "Secured", "Self-enabling", "Sharable", "Stand-alone", "Streamlined", "Switchable", "Synchronised", "Synergistic", "Synergized", "Team-oriented", "Total", "Triple-buffered", "Universal", "Up-sized", "Upgradable", "User-centric", "User-friendly", "Versatile", "Virtual", "Visionary", "Vision-oriented"].sample, - ["24 hour", "24/7", "3rd generation", "4th generation", "5th generation", "6th generation", "actuating", "analyzing", "assymetric", "asynchronous", "attitude-oriented", "background", "bandwidth-monitored", "bi-directional", "bifurcated", "bottom-line", "clear-thinking", "client-driven", "client-server", "coherent", "cohesive", "composite", "context-sensitive", "contextually-based", "content-based", "dedicated", "demand-driven", "didactic", "directional", "discrete", "disintermediate", "dynamic", "eco-centric", "empowering", "encompassing", "even-keeled", "executive", "explicit", "exuding", "fault-tolerant", "foreground", "fresh-thinking", "full-range", "global", "grid-enabled", "heuristic", "high-level", "holistic", "homogeneous", "human-resource", "hybrid", "impactful", "incremental", "intangible", "interactive", "intermediate", "leading edge", "local", "logistical", "maximized", "methodical", "mission-critical", "mobile", "modular", "motivating", "multimedia", "multi-state", "multi-tasking", "national", "needs-based", "neutral", "next generation", "non-volatile", "object-oriented", "optimal", "optimizing", "radical", "real-time", "reciprocal", "regional", "responsive", "scalable", "secondary", "solution-oriented", "stable", "static", "systematic", "systemic", "system-worthy", "tangible", "tertiary", "transitional", "uniform", "upward-trending", "user-facing", "value-added", "web-enabled", "well-modulated", "zero administration", "zero defect", "zero tolerance"].sample, - ["ability", "access", "adapter", "algorithm", "alliance", "analyzer", "application", "approach", "architecture", "archive", "artificial intelligence", "array", "attitude", "benchmark", "budgetary management", "capability", "capacity", "challenge", "circuit", "collaboration", "complexity", "concept", "conglomeration", "contingency", "core", "customer loyalty", "database", "data-warehouse", "definition", "emulation", "encoding", "encryption", "extranet", "firmware", "flexibility", "focus group", "forecast", "frame", "framework", "function", "functionalities", "Graphic Interface", "groupware", "Graphical User Interface", "hardware", "help-desk", "hierarchy", "hub", "implementation", "info-mediaries", "infrastructure", "initiative", "installation", "instruction set", "interface", "internet solution", "intranet", "knowledge user", "knowledge base", "local area network", "leverage", "matrices", "matrix", "methodology", "middleware", "migration", "model", "moderator", "monitoring", "moratorium", "neural-net", "open architecture", "open system", "orchestration", "paradigm", "parallelism", "policy", "portal", "pricing structure", "process improvement", "product", "productivity", "project", "projection", "protocol", "secured line", "service-desk", "software", "solution", "standardization", "strategy", "structure", "success", "superstructure", "support", "synergy", "system engine", "task-force", "throughput", "time-frame", "toolset", "utilisation", "website", "workforce"].sample, - ].join(" ") - end - - # When a straight answer won't do, BS to the rescue! - # Wordlist from http://dack.com/web/bullshit.html - def self.bs - [ - ["implement", "utilize", "integrate", "streamline", "optimize", "evolve", "transform", "embrace", "enable", "orchestrate", "leverage", "reinvent", "aggregate", "architect", "enhance", "incentivize", "morph", "empower", "envisioneer", "monetize", "harness", "facilitate", "seize", "disintermediate", "synergize", "strategize", "deploy", "brand", "grow", "target", "syndicate", "synthesize", "deliver", "mesh", "incubate", "engage", "maximize", "benchmark", "expedite", "reintermediate", "whiteboard", "visualize", "repurpose", "innovate", "scale", "unleash", "drive", "extend", "engineer", "revolutionize", "generate", "exploit", "transition", "e-enable", "iterate", "cultivate", "matrix", "productize", "redefine", "recontextualize"].sample, - ["clicks-and-mortar", "value-added", "vertical", "proactive", "robust", "revolutionary", "scalable", "leading-edge", "innovative", "intuitive", "strategic", "e-business", "mission-critical", "sticky", "one-to-one", "24/7", "end-to-end", "global", "B2B", "B2C", "granular", "frictionless", "virtual", "viral", "dynamic", "24/365", "best-of-breed", "killer", "magnetic", "bleeding-edge", "web-enabled", "interactive", "dot-com", "sexy", "back-end", "real-time", "efficient", "front-end", "distributed", "seamless", "extensible", "turn-key", "world-class", "open-source", "cross-platform", "cross-media", "synergistic", "bricks-and-clicks", "out-of-the-box", "enterprise", "integrated", "impactful", "wireless", "transparent", "next-generation", "cutting-edge", "user-centric", "visionary", "customized", "ubiquitous", "plug-and-play", "collaborative", "compelling", "holistic", "rich"].sample, - ["synergies", "web-readiness", "paradigms", "markets", "partnerships", "infrastructures", "platforms", "initiatives", "channels", "eyeballs", "communities", "ROI", "solutions", "e-tailers", "e-services", "action-items", "portals", "niches", "technologies", "content", "vortals", "supply-chains", "convergence", "relationships", "architectures", "interfaces", "e-markets", "e-commerce", "systems", "bandwidth", "infomediaries", "models", "mindshare", "deliverables", "users", "schemas", "networks", "applications", "metrics", "e-business", "functionalities", "experiences", "web services", "methodologies"].sample, - ].join(" ") - end - Formats = [ ->{ [Name.prefix, Name.first_name, Name.last_name] }, ->{ [Name.first_name, Name.last_name, Name.suffix] },