ffakerer 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. checksums.yaml +15 -0
  2. data/Changelog.md +154 -0
  3. data/Gemfile +2 -0
  4. data/LICENSE +22 -0
  5. data/README.md +88 -0
  6. data/Rakefile +138 -0
  7. data/ffakerer.gemspec +266 -0
  8. data/lib/ffakerer.rb +31 -0
  9. data/lib/ffakerer/address.rb +99 -0
  10. data/lib/ffakerer/address_au.rb +106 -0
  11. data/lib/ffakerer/address_ca.rb +28 -0
  12. data/lib/ffakerer/address_da.rb +56 -0
  13. data/lib/ffakerer/address_de.rb +42 -0
  14. data/lib/ffakerer/address_mx.rb +505 -0
  15. data/lib/ffakerer/address_se.rb +48 -0
  16. data/lib/ffakerer/address_sn.rb +25 -0
  17. data/lib/ffakerer/address_uk.rb +27 -0
  18. data/lib/ffakerer/address_us.rb +30 -0
  19. data/lib/ffakerer/bacon_ipsum.rb +21 -0
  20. data/lib/ffakerer/company.rb +45 -0
  21. data/lib/ffakerer/company_se.rb +24 -0
  22. data/lib/ffakerer/conference.rb +12 -0
  23. data/lib/ffakerer/data/address/city_suffixes +19 -0
  24. data/lib/ffakerer/data/address/country +242 -0
  25. data/lib/ffakerer/data/address/neighborhood +49 -0
  26. data/lib/ffakerer/data/address/street_suffix +195 -0
  27. data/lib/ffakerer/data/address_ca/province +13 -0
  28. data/lib/ffakerer/data/address_da/city +592 -0
  29. data/lib/ffakerer/data/address_da/kommune +92 -0
  30. data/lib/ffakerer/data/address_da/street +657 -0
  31. data/lib/ffakerer/data/address_de/city +1666 -0
  32. data/lib/ffakerer/data/address_de/state +15 -0
  33. data/lib/ffakerer/data/address_mx/state +32 -0
  34. data/lib/ffakerer/data/address_mx/state_abbr +32 -0
  35. data/lib/ffakerer/data/address_se/city +154 -0
  36. data/lib/ffakerer/data/address_se/countries +250 -0
  37. data/lib/ffakerer/data/address_se/street +2887 -0
  38. data/lib/ffakerer/data/address_sn/arrondissements +47 -0
  39. data/lib/ffakerer/data/address_sn/departements +43 -0
  40. data/lib/ffakerer/data/address_sn/regions +14 -0
  41. data/lib/ffakerer/data/address_uk/uk_county +70 -0
  42. data/lib/ffakerer/data/address_us/state +50 -0
  43. data/lib/ffakerer/data/address_us/state_abbr +51 -0
  44. data/lib/ffakerer/data/address_us/state_and_territories_abbr +62 -0
  45. data/lib/ffakerer/data/bacon_ipsum/bacon_words +60 -0
  46. data/lib/ffakerer/data/company/bs_mid +65 -0
  47. data/lib/ffakerer/data/company/bs_pos +44 -0
  48. data/lib/ffakerer/data/company/bs_pre +60 -0
  49. data/lib/ffakerer/data/company/catch_mid +101 -0
  50. data/lib/ffakerer/data/company/catch_pos +104 -0
  51. data/lib/ffakerer/data/company/catch_pre +100 -0
  52. data/lib/ffakerer/data/company/position_areas +11 -0
  53. data/lib/ffakerer/data/conference/conference_list +40 -0
  54. data/lib/ffakerer/data/dizzle_ipsum/dizzle_words +69 -0
  55. data/lib/ffakerer/data/education/major_noun +13 -0
  56. data/lib/ffakerer/data/education/school_suffix +13 -0
  57. data/lib/ffakerer/data/healthcare_ipsum/healthcare_words +193 -0
  58. data/lib/ffakerer/data/hipster_ipsum/hipster_words +101 -0
  59. data/lib/ffakerer/data/job/job_adj +37 -0
  60. data/lib/ffakerer/data/job/job_noun +25 -0
  61. data/lib/ffakerer/data/job/job_prefix +22 -0
  62. data/lib/ffakerer/data/job_fr/job_nouns +14 -0
  63. data/lib/ffakerer/data/job_fr/job_prefixes +15 -0
  64. data/lib/ffakerer/data/lorem/characters +36 -0
  65. data/lib/ffakerer/data/lorem/words +249 -0
  66. data/lib/ffakerer/data/lorem_ar/words +911 -0
  67. data/lib/ffakerer/data/lorem_cn/words +706 -0
  68. data/lib/ffakerer/data/lorem_fr/words +10379 -0
  69. data/lib/ffakerer/data/movie/adj_and_adv +20 -0
  70. data/lib/ffakerer/data/movie/nouns +36 -0
  71. data/lib/ffakerer/data/movie/prefixes +17 -0
  72. data/lib/ffakerer/data/name/first_names +3008 -0
  73. data/lib/ffakerer/data/name/last_names +475 -0
  74. data/lib/ffakerer/data/name_cn/first_names +1000 -0
  75. data/lib/ffakerer/data/name_cn/last_names +1057 -0
  76. data/lib/ffakerer/data/name_cs/prefixes +16 -0
  77. data/lib/ffakerer/data/name_da/female_first_names +492 -0
  78. data/lib/ffakerer/data/name_da/last_names +187 -0
  79. data/lib/ffakerer/data/name_da/male_first_names +390 -0
  80. data/lib/ffakerer/data/name_de/first_names +1166 -0
  81. data/lib/ffakerer/data/name_de/last_names +100 -0
  82. data/lib/ffakerer/data/name_fr/first_names +220 -0
  83. data/lib/ffakerer/data/name_fr/last_names +408 -0
  84. data/lib/ffakerer/data/name_ga/first_names_female +225 -0
  85. data/lib/ffakerer/data/name_ga/first_names_male +306 -0
  86. data/lib/ffakerer/data/name_ja/first_names +397 -0
  87. data/lib/ffakerer/data/name_ja/last_names +1078 -0
  88. data/lib/ffakerer/data/name_kr/first_names +1317 -0
  89. data/lib/ffakerer/data/name_kr/last_names +197 -0
  90. data/lib/ffakerer/data/name_mx/female_first_names +216 -0
  91. data/lib/ffakerer/data/name_mx/last_names +352 -0
  92. data/lib/ffakerer/data/name_mx/male_first_names +211 -0
  93. data/lib/ffakerer/data/name_ph/autochthonous_surnames +217 -0
  94. data/lib/ffakerer/data/name_ph/spanish_surnames +300 -0
  95. data/lib/ffakerer/data/name_se/first_names_female +110 -0
  96. data/lib/ffakerer/data/name_se/first_names_male +110 -0
  97. data/lib/ffakerer/data/name_se/last_names +100 -0
  98. data/lib/ffakerer/data/name_sn/first_names_female +225 -0
  99. data/lib/ffakerer/data/name_sn/first_names_male +304 -0
  100. data/lib/ffakerer/data/name_sn/last_names +243 -0
  101. data/lib/ffakerer/data/name_vn/first_names +6 -0
  102. data/lib/ffakerer/data/name_vn/last_names +67 -0
  103. data/lib/ffakerer/data/name_vn/middle_names +89 -0
  104. data/lib/ffakerer/data/phone_number_se/phone_prefix +265 -0
  105. data/lib/ffakerer/data/product/adj +19 -0
  106. data/lib/ffakerer/data/product/b1 +19 -0
  107. data/lib/ffakerer/data/product/noun +16 -0
  108. data/lib/ffakerer/data/skill/specialty_end +14 -0
  109. data/lib/ffakerer/data/skill/specialty_start +18 -0
  110. data/lib/ffakerer/data/skill/tech_skills +52 -0
  111. data/lib/ffakerer/data/venue/venue_list +33 -0
  112. data/lib/ffakerer/dizzle_ipsum.rb +21 -0
  113. data/lib/ffakerer/education.rb +48 -0
  114. data/lib/ffakerer/geolocation.rb +50 -0
  115. data/lib/ffakerer/healthcare_ipsum.rb +20 -0
  116. data/lib/ffakerer/hipster_ipsum.rb +21 -0
  117. data/lib/ffakerer/html_ipsum.rb +160 -0
  118. data/lib/ffakerer/identification.rb +27 -0
  119. data/lib/ffakerer/identification_es.rb +15 -0
  120. data/lib/ffakerer/identification_es_cl.rb +26 -0
  121. data/lib/ffakerer/identification_es_co.rb +40 -0
  122. data/lib/ffakerer/internet.rb +72 -0
  123. data/lib/ffakerer/internet_se.rb +106 -0
  124. data/lib/ffakerer/job.rb +12 -0
  125. data/lib/ffakerer/job_fr.rb +14 -0
  126. data/lib/ffakerer/lorem.rb +44 -0
  127. data/lib/ffakerer/lorem_ar.rb +40 -0
  128. data/lib/ffakerer/lorem_cn.rb +41 -0
  129. data/lib/ffakerer/lorem_fr.rb +39 -0
  130. data/lib/ffakerer/movie.rb +63 -0
  131. data/lib/ffakerer/name.rb +35 -0
  132. data/lib/ffakerer/name_cn.rb +24 -0
  133. data/lib/ffakerer/name_cs.rb +90 -0
  134. data/lib/ffakerer/name_da.rb +68 -0
  135. data/lib/ffakerer/name_de.rb +33 -0
  136. data/lib/ffakerer/name_fr.rb +37 -0
  137. data/lib/ffakerer/name_ga.rb +47 -0
  138. data/lib/ffakerer/name_ja.rb +24 -0
  139. data/lib/ffakerer/name_kr.rb +24 -0
  140. data/lib/ffakerer/name_mx.rb +103 -0
  141. data/lib/ffakerer/name_ph.rb +29 -0
  142. data/lib/ffakerer/name_ru.rb +92 -0
  143. data/lib/ffakerer/name_se.rb +47 -0
  144. data/lib/ffakerer/name_sn.rb +65 -0
  145. data/lib/ffakerer/name_vn.rb +28 -0
  146. data/lib/ffakerer/phone_number.rb +34 -0
  147. data/lib/ffakerer/phone_number_au.rb +77 -0
  148. data/lib/ffakerer/phone_number_da.rb +45 -0
  149. data/lib/ffakerer/phone_number_de.rb +51 -0
  150. data/lib/ffakerer/phone_number_mx.rb +58 -0
  151. data/lib/ffakerer/phone_number_se.rb +90 -0
  152. data/lib/ffakerer/phone_number_sg.rb +81 -0
  153. data/lib/ffakerer/phone_number_sn.rb +78 -0
  154. data/lib/ffakerer/product.rb +45 -0
  155. data/lib/ffakerer/skill.rb +24 -0
  156. data/lib/ffakerer/ssn.rb +17 -0
  157. data/lib/ffakerer/ssn_se.rb +109 -0
  158. data/lib/ffakerer/string.rb +92 -0
  159. data/lib/ffakerer/time.rb +30 -0
  160. data/lib/ffakerer/unit.rb +50 -0
  161. data/lib/ffakerer/unit_english.rb +114 -0
  162. data/lib/ffakerer/unit_metric.rb +105 -0
  163. data/lib/ffakerer/utils/array_utils.rb +44 -0
  164. data/lib/ffakerer/utils/module_utils.rb +29 -0
  165. data/lib/ffakerer/venue.rb +12 -0
  166. data/scripts/benchmark.rb +21 -0
  167. data/scripts/profile.sh +2 -0
  168. data/scripts/profiling.rb +7 -0
  169. data/test/helper.rb +2 -0
  170. data/test/test_address.rb +73 -0
  171. data/test/test_address_au.rb +58 -0
  172. data/test/test_address_ca.rb +17 -0
  173. data/test/test_address_de.rb +25 -0
  174. data/test/test_address_mx.rb +26 -0
  175. data/test/test_address_se.rb +36 -0
  176. data/test/test_address_sn.rb +25 -0
  177. data/test/test_address_uk.rb +17 -0
  178. data/test/test_address_us.rb +25 -0
  179. data/test/test_array_utils.rb +52 -0
  180. data/test/test_bacon_ipsum.rb +30 -0
  181. data/test/test_company.rb +23 -0
  182. data/test/test_company_se.rb +14 -0
  183. data/test/test_conference.rb +10 -0
  184. data/test/test_dizzle_ipsum.rb +30 -0
  185. data/test/test_education.rb +34 -0
  186. data/test/test_faker.rb +30 -0
  187. data/test/test_faker_internet.rb +60 -0
  188. data/test/test_faker_internet_se.rb +67 -0
  189. data/test/test_faker_job.rb +14 -0
  190. data/test/test_faker_job_fr.rb +22 -0
  191. data/test/test_faker_name.rb +21 -0
  192. data/test/test_faker_name_cn.rb +13 -0
  193. data/test/test_faker_name_cs.rb +65 -0
  194. data/test/test_faker_name_de.rb +21 -0
  195. data/test/test_faker_name_fr.rb +48 -0
  196. data/test/test_faker_name_ga.rb +56 -0
  197. data/test/test_faker_name_ja.rb +13 -0
  198. data/test/test_faker_name_kr.rb +13 -0
  199. data/test/test_faker_name_mx.rb +180 -0
  200. data/test/test_faker_name_ph.rb +17 -0
  201. data/test/test_faker_name_ru.rb +80 -0
  202. data/test/test_faker_name_se.rb +38 -0
  203. data/test/test_faker_name_sn.rb +98 -0
  204. data/test/test_geolocation.rb +34 -0
  205. data/test/test_healthcare_ipsum.rb +27 -0
  206. data/test/test_hipster_ipsum.rb +29 -0
  207. data/test/test_html_ipsum.rb +91 -0
  208. data/test/test_identification.rb +27 -0
  209. data/test/test_identification_co.rb +38 -0
  210. data/test/test_identification_es.rb +13 -0
  211. data/test/test_identification_es_cl.rb +13 -0
  212. data/test/test_lorem.rb +44 -0
  213. data/test/test_lorem_ar.rb +37 -0
  214. data/test/test_lorem_cn.rb +47 -0
  215. data/test/test_lorem_fr.rb +37 -0
  216. data/test/test_module_utils.rb +14 -0
  217. data/test/test_movie.rb +9 -0
  218. data/test/test_phone_number.rb +13 -0
  219. data/test/test_phone_number_au.rb +50 -0
  220. data/test/test_phone_number_de.rb +46 -0
  221. data/test/test_phone_number_mx.rb +43 -0
  222. data/test/test_phone_number_se.rb +60 -0
  223. data/test/test_phone_number_sg.rb +44 -0
  224. data/test/test_phone_number_sn.rb +34 -0
  225. data/test/test_skill.rb +24 -0
  226. data/test/test_ssn.rb +11 -0
  227. data/test/test_ssn_se.rb +43 -0
  228. data/test/test_string.rb +71 -0
  229. data/test/test_time.rb +19 -0
  230. data/test/test_units.rb +32 -0
  231. data/test/test_units_english.rb +62 -0
  232. data/test/test_units_metric.rb +61 -0
  233. data/test/test_venue.rb +9 -0
  234. metadata +372 -0
@@ -0,0 +1,19 @@
1
+ So
2
+ Lu
3
+ Sir
4
+ Bri
5
+ Reu
6
+ Gen
7
+ Fin
8
+ Pana
9
+ Sine
10
+ Co
11
+ Aqua
12
+ Am
13
+ Ca
14
+ Cyg
15
+ Tech
16
+ After
17
+ Sub
18
+ One
19
+ Tri
@@ -0,0 +1,16 @@
1
+ Filter
2
+ Compressor
3
+ System
4
+ Viewer
5
+ Mount
6
+ Case
7
+ Adapter
8
+ Amplifier
9
+ Bridge
10
+ Bracket
11
+ Kit
12
+ Transmitter
13
+ Receiver
14
+ Tuner
15
+ Controller
16
+ Component
@@ -0,0 +1,14 @@
1
+ Development
2
+ Management
3
+ Design
4
+ Architecture
5
+ Methods
6
+ Optimization
7
+ Modularization
8
+ Testing
9
+ Profiling
10
+ Prototyping
11
+ Analysis
12
+ Instruction
13
+ Metrics
14
+ Research
@@ -0,0 +1,18 @@
1
+ Web
2
+ Database
3
+ Resource
4
+ Team
5
+ Prototype
6
+ Project
7
+ Software
8
+ Hardware
9
+ Firmware
10
+ Area
11
+ Multi-tier
12
+ Global
13
+ Template
14
+ Modular
15
+ Statistical
16
+ Visual
17
+ Mental
18
+ Performance
@@ -0,0 +1,52 @@
1
+ Ajax
2
+ XHR
3
+ AWS
4
+ Bootstrap
5
+ CodeIgniter
6
+ CSS3
7
+ Django
8
+ Git
9
+ HTML5
10
+ JavaScript
11
+ JQuery
12
+ JSON
13
+ LAMP
14
+ Linux
15
+ Mac
16
+ OSX
17
+ MongoDB
18
+ MySQL
19
+ Photoshop
20
+ PHP
21
+ Python
22
+ REST
23
+ Ruby
24
+ Rails
25
+ SublimeText
26
+ SVN
27
+ TextMate
28
+ Cassandra
29
+ Heroku
30
+ Memcached
31
+ PostgreSQL
32
+ SOAP
33
+ XML
34
+ YAML
35
+ Backbone.JS
36
+ Marionette.JS
37
+ CakePHP
38
+ ExtJS
39
+ Sinatra
40
+ Struts
41
+ Typo3
42
+ Zend
43
+ ActionScript
44
+ ASP
45
+ Java
46
+ JSP
47
+ Perl
48
+ Shell
49
+ Flash
50
+ Illustrator
51
+ Visio
52
+ Angular.JS
@@ -0,0 +1,33 @@
1
+ Barcelona Business Center
2
+ Business Planet
3
+ Can Domenge. Centre Tecnologic
4
+ Casapiedra
5
+ Centro de Convenciones Puebla William O. Jenkins
6
+ Centro de Convenciones Torreon
7
+ Centro de Eventos Castillo Hidalgo
8
+ Centro de Exposiciones y Convenciones Las Americas
9
+ Centro de Exposiciones y Convenciones del World Trade Center
10
+ Centro de Exposiciones y Convenciones de Chihuahua
11
+ Chez Moi
12
+ Expo CenterNet de Argentina
13
+ Expotrade
14
+ Expourense
15
+ Feria de Muestras de Navarra, S.L.
16
+ Feria de Zaragoza
17
+ Feria Internacional de Bilbao
18
+ Feria Internacional de Galicia
19
+ Feria Internacional de Muestras de Asturias
20
+ Ferias y Congresos de Baleares
21
+ Fundacion de Ferias y Exposiciones de Lugo
22
+ Institucion Ferial de Calamocha
23
+ Los Almendros de Huechuraba
24
+ Oficina de Convenciones y Visitantes de Monterrey
25
+ Oficina de Convenciones y Visitantes de Acapulco
26
+ Palacio de Congresos de Cadiz
27
+ Palacio de Congresos de Galicia
28
+ Palacio de Congresos de La Coruna
29
+ Palacio de Exposiciones y Congresos de Sevilla
30
+ Palau de Congressos de Catalunya
31
+ Parque Ferial On Line
32
+ World Trade Center Barcelona
33
+ World Trade Center Sevilla
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ffakerer/lorem'
4
+
5
+ module Faker
6
+ # Thanks to Snoop Dogg
7
+ module DizzleIpsum
8
+ extend Lorem
9
+
10
+ extend ModuleUtils
11
+ extend self
12
+
13
+ def word
14
+ DIZZLE_WORDS.rand
15
+ end
16
+
17
+ def words(num = 3)
18
+ DIZZLE_WORDS.random_pick(num)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ module Education
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def degree_short
9
+ "#{DEGREE_SHORT_PREFIX.rand} in #{major}"
10
+ end
11
+
12
+ def degree
13
+ "#{DEGREE_PREFIX.rand} in #{major}"
14
+ end
15
+
16
+ def major
17
+ "#{MAJOR_ADJ.rand} #{MAJOR_NOUN.rand}"
18
+ end
19
+
20
+ def school_name
21
+ SCHOOL_PREFIX.rand + SCHOOL_SUFFIX.rand
22
+ end
23
+
24
+ def school_generic_name
25
+ case rand(2)
26
+ when 0 then AddressUS::STATE.rand
27
+ when 1 then school_name
28
+ end
29
+ end
30
+
31
+ def school
32
+ case rand(5)
33
+ when (0..1) then "#{school_name} #{SCHOOL_TYPE.rand}"
34
+ when 2 then "#{school_generic_name} #{SCHOOL_ADJ.rand} #{SCHOOL_TYPE.rand}"
35
+ when 3 then "#{SCHOOL_UNI.rand} of #{school_generic_name}"
36
+ when 4 then "#{school_generic_name} #{SCHOOL_TYPE.rand} of #{MAJOR_NOUN.rand}"
37
+ end
38
+ end
39
+
40
+ DEGREE_SHORT_PREFIX = k %w(AB BS BSc MA MD DMus DPhil)
41
+ DEGREE_PREFIX = k ['Bachelor of Science', 'Bachelor of Arts', 'Master of Arts', 'Doctor of Medicine', 'Bachelor of Music', 'Doctor of Philosophy']
42
+ MAJOR_ADJ = k(%w(Business Systems Industrial Medical Financial Marketing Political Social) + ['Human Resource'])
43
+ SCHOOL_PREFIX = k %w(Green South North Wind Lake Hill Lark River Red White)
44
+ SCHOOL_ADJ = k %w(International Global Polytechnic National)
45
+ SCHOOL_TYPE = k %w(School University College Institution Academy)
46
+ SCHOOL_UNI = k %w(University College)
47
+ end
48
+ end
@@ -0,0 +1,50 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ module Geolocation
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def lat
9
+ LATLNG.rand[0]
10
+ end
11
+
12
+ def lng
13
+ LATLNG.rand[1]
14
+ end
15
+
16
+ LATLNG = k [
17
+ [41.022921,-73.667595], [41.017643,-73.769264], [40.89505,-73.83582], [41.018461,-73.66616],
18
+ [40.6665875097692,-73.8830092325694], [40.6784867492198,-73.9716387729985], [40.5998084142575,-73.9385565185842],
19
+ [40.6175673160943,-74.0002511295821], [40.7451545655034,-73.971855164776], [40.7143394939935,-73.9783896644132],
20
+ [40.7916523500249,-73.9693478828185], [40.8005590858048,-73.9473684707957], [40.7292057951864,-73.7555431517841],
21
+ [40.7532199291845,-73.8842977517553], [40.7490546706085,-73.9187706945134], [40.6609944585817,-73.8454648940358],
22
+ [38.9962071932467,-77.0898681997577], [38.9614005154765,-77.0739996811784], [38.9381545320739,-77.0656875352079],
23
+ [39.0788984258721,-77.0500853418371], [40.8377346033077,-73.8618025934729], [40.8377346033077,-73.8618025934729],
24
+ [40.8831107806302,-73.9212453413708], [40.9077802515069,-73.9025768857695], [36.1936372347,-115.068968492],
25
+ [36.2345447488,-115.327274645], [36.1257785585,-115.08848819], [36.0150030591,-115.120716573], [41.5205,-81.587],
26
+ [41.491529,-81.611008], [41.4811,-81.9136], [41.5244,-81.5531], [38.5241394042969,-90.3121643066406],
27
+ [38.4685363769531,-90.3760452270508], [38.7077140808105,-90.2698593139648], [38.7953453063965,-90.2058792114258],
28
+ [33.5775667696072,-112.21954995412], [33.4136301699617,-112.605812600303], [33.3732084677927,-111.602125919385],
29
+ [33.4280828890754,-112.496547310057], [40.0677174866262,-75.0764604391247], [39.9760149034563,-75.1786003814711],
30
+ [39.9871631180866,-75.1862338204704], [39.9847861520773,-75.110396933127], [26.1180992126465,-80.149299621582],
31
+ [25.4804286236799,-80.4256357381565], [26.1793003082275,-80.1410980224609], [26.5322723388672,-80.1300048828125],
32
+ [47.685714288367,-122.340967372417], [47.6993431274679,-122.395610510952], [47.7553943974153,-122.305764516646],
33
+ [47.5173276931226,-122.275152683751], [40.78595,-73.196244], [40.927955,-73.048076], [41.022872,-72.204989],
34
+ [40.855153,-72.572405], [34.101011924908,-118.064638782714], [34.2430955947492,-118.427610513239],
35
+ [34.3823767402857,-118.550562688364], [33.8256050190507,-118.281161297494], [37.5758033375583,-122.012044535507],
36
+ [37.8768587606888,-122.078250641083], [37.6859990796181,-122.094516147761], [37.4660979087165,-121.900873639257],
37
+ [41.77117,-87.888795], [41.900425,-87.624262], [41.737173,-87.869998]
38
+ ]
39
+
40
+ def boxed_coords(upper_left, lower_right)
41
+ latitude_range = [upper_left[0], lower_right[0]].sort
42
+ longitude_range = [upper_left[1], lower_right[1]].sort
43
+
44
+ latitude = latitude_range[0] + rand() * (latitude_range[1] - latitude_range[0])
45
+ longitude = longitude_range[0] + rand() * (longitude_range[1] - longitude_range[0])
46
+
47
+ [latitude, longitude]
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ffakerer/lorem'
4
+
5
+ module Faker
6
+ module HealthcareIpsum
7
+ include Lorem
8
+
9
+ extend ModuleUtils
10
+ extend self
11
+
12
+ def word
13
+ HEALTHCARE_WORDS.rand
14
+ end
15
+
16
+ def words(num = 3)
17
+ HEALTHCARE_WORDS.random_pick(num)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ffakerer/lorem'
4
+
5
+ module Faker
6
+ # thanks to http://hipsteripsum.me
7
+ module HipsterIpsum
8
+ include Lorem
9
+
10
+ extend ModuleUtils
11
+ extend self
12
+
13
+ def word
14
+ HIPSTER_WORDS.rand
15
+ end
16
+
17
+ def words(num = 3)
18
+ HIPSTER_WORDS.random_pick(num)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,160 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ # Loosely based on http://html-ipsum.com/
5
+ # Requires Faker::Lorem module
6
+ module HTMLIpsum
7
+ extend ModuleUtils
8
+ extend self
9
+
10
+ def a(word_count = 2)
11
+ "<a href=\"##{word}\" title=\"#{words(word_count).capitalize!}\">#{words(word_count).capitalize!}</a>"
12
+ end
13
+
14
+ def p(count = 3, options = {})
15
+ options = {:fancy => false, :include_breaks => false}.merge(options)
16
+ if options[:fancy]
17
+ s = fancy_string(count, options[:include_breaks])
18
+ else
19
+ mode = options[:include_breaks] ? "paragraphs" : "paragraph"
20
+ s = send(mode.to_sym, count)
21
+ end
22
+ "<p>#{s}</p>"
23
+ end
24
+
25
+ def dl(definitions = 2)
26
+ s = "<dl>"
27
+ definitions.times do
28
+ s << "<dt>#{words(1).capitalize!}</dt><dd>#{paragraph 2}</dd>"
29
+ end
30
+ s << "</dl>"
31
+ end
32
+
33
+ def ul_short(items = 3)
34
+ s = "<ul>"
35
+ items.times do
36
+ s << "<li>#{sentence 2}</li>"
37
+ end
38
+ s << "</ul>"
39
+ end
40
+
41
+ def ul_long(items = 3)
42
+ s = "<ul>"
43
+ items.times do
44
+ s << "<li>#{paragraph 2}</li>"
45
+ end
46
+ s << "</ul>"
47
+ end
48
+
49
+ def ol_short(items = 3)
50
+ s = "<ol>"
51
+ items.times do
52
+ s << "<li>#{sentence 2}</li>"
53
+ end
54
+ s << "</ol>"
55
+ end
56
+
57
+ def ol_long(items = 3)
58
+ s = "<ol>"
59
+ items.times do
60
+ s << "<li>#{paragraph 2}</li>"
61
+ end
62
+ s << "</ol>"
63
+ end
64
+
65
+ def ul_links(items = 3)
66
+ s = "<ul>"
67
+ items.times do
68
+ s << "<li>#{a 1}</li>"
69
+ end
70
+ s << "</ul>"
71
+ end
72
+
73
+ def table(rows = 3)
74
+ s = "<table>
75
+ <thead>
76
+ <tr>
77
+ <th>#{word.capitalize!}</th>
78
+ <th>#{word.capitalize!}</th>
79
+ <th>#{word.capitalize!}</th>
80
+ <th>#{word.capitalize!}</th>
81
+ </tr>
82
+ </thead>
83
+ <tbody>"
84
+ rows.times do
85
+ s << "<tr>
86
+ <td>#{words(1).capitalize!}</td>
87
+ <td>#{words(1).capitalize!}</td>
88
+ <td>#{words(1).capitalize!}</td>
89
+ <td>#{a}</td>
90
+ </tr>"
91
+ end
92
+ s << "</tbody>
93
+ </table>"
94
+ end
95
+
96
+ def body
97
+ s = "<h1>#{words(2).capitalize!}</h1>"
98
+ rand(4).times do
99
+ s << "<p>#{fancy_string}</p>"
100
+ end
101
+ s << table(rand(4))
102
+ s << "<h2>#{words(2).capitalize!}</h2>
103
+ <ol>"
104
+ rand(4).times do
105
+ s << "<li>#{paragraph 1}</li>"
106
+ end
107
+ s << "</ol>
108
+ <blockquote><p>#{paragraphs 3}</p></blockquote>
109
+ <h3>#{words(2).capitalize!}</h3>
110
+ <ul>"
111
+ rand(4).times do
112
+ s << "<li>#{paragraph 1}</li>"
113
+ end
114
+ s << "</ul>
115
+ <pre><code>
116
+ ##{word} h1 a {
117
+ display: block;
118
+ width: 300px;
119
+ height: 80px;
120
+ }
121
+ </code></pre>"
122
+ end
123
+
124
+ def fancy_string(count = 3, include_breaks = false)
125
+ sep = include_breaks ? "<br>" : " "
126
+ a = k([
127
+ "<strong>#{words(2).capitalize!}</strong>.",
128
+ "<em>#{paragraph}</em>",
129
+ "<code>#{words 2}</code>",
130
+ "#{a 2}"
131
+ ] + Faker::Lorem::paragraphs(count))
132
+ a.random_pick(count).join(sep)
133
+ end
134
+
135
+ private
136
+ def word
137
+ Faker::Lorem::word
138
+ end
139
+
140
+ def words(word_count = 3)
141
+ Faker::Lorem::words(word_count).join(' ')
142
+ end
143
+
144
+ def sentence(word_count = 3)
145
+ Faker::Lorem::sentence(word_count)
146
+ end
147
+
148
+ def sentences(sentence_count = 3)
149
+ Faker::Lorem::sentences(sentence_count).join(' ')
150
+ end
151
+
152
+ def paragraph(sentence_count = 3)
153
+ Faker::Lorem::paragraph(sentence_count)
154
+ end
155
+
156
+ def paragraphs(paragraph_count = 3)
157
+ Faker::Lorem::paragraphs(paragraph_count).join('<br>')
158
+ end
159
+ end
160
+ end