ppl 3.0.0 → 4.0.3

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 (334) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +16 -0
  3. data/.eleventy.js +86 -0
  4. data/.eleventyignore +1 -0
  5. data/.github/workflows/build.yml +61 -0
  6. data/.gitignore +3 -1
  7. data/Rakefile +1 -18
  8. data/{CODE_OF_CONDUCT.md → code_of_conduct.md} +1 -1
  9. data/features/step_definitions/ppl_steps.rb +27 -27
  10. data/gh-pages/Gemfile +2 -0
  11. data/gh-pages/_config.yml +5 -0
  12. data/gh-pages/_includes/changelog.html +23 -0
  13. data/gh-pages/_includes/development-sidebar.html +25 -0
  14. data/gh-pages/_includes/footer.html +22 -0
  15. data/gh-pages/_includes/header.html +43 -0
  16. data/gh-pages/_includes/news.html +36 -0
  17. data/gh-pages/_includes/tip.html +54 -0
  18. data/gh-pages/_layouts/changelog.html +1 -0
  19. data/gh-pages/_layouts/command.html +104 -0
  20. data/gh-pages/_layouts/configuration.html +71 -0
  21. data/gh-pages/_layouts/development.html +20 -0
  22. data/gh-pages/_layouts/frontpage.html +6 -0
  23. data/gh-pages/_layouts/integration.html +44 -0
  24. data/gh-pages/_layouts/news.html +2 -0
  25. data/gh-pages/_layouts/page.html +6 -0
  26. data/gh-pages/_layouts/tip.html +2 -0
  27. data/gh-pages/_posts/2012-01-15-first-post.md +16 -0
  28. data/gh-pages/_posts/2012-12-20-1.0.0.md +19 -0
  29. data/gh-pages/_posts/2012-12-20-1.1.0.md +28 -0
  30. data/gh-pages/_posts/2012-12-20-1.2.0.md +18 -0
  31. data/gh-pages/_posts/2012-12-21-1.3.0.md +20 -0
  32. data/gh-pages/_posts/2012-12-21-thank-you-for-your-all-your-feedback.md +26 -0
  33. data/gh-pages/_posts/2012-12-22-1.4.1.md +21 -0
  34. data/gh-pages/_posts/2012-12-22-1.5.0.md +17 -0
  35. data/gh-pages/_posts/2012-12-23-1.5.1.md +13 -0
  36. data/gh-pages/_posts/2012-12-23-1.5.2.md +15 -0
  37. data/gh-pages/_posts/2012-12-26-1.5.3.md +19 -0
  38. data/gh-pages/_posts/2012-12-27-1.6.0.md +18 -0
  39. data/gh-pages/_posts/2012-12-29-1.7.0.md +18 -0
  40. data/gh-pages/_posts/2013-01-05-1.8.0.md +18 -0
  41. data/gh-pages/_posts/2013-01-06-1.9.0.md +20 -0
  42. data/gh-pages/_posts/2013-01-10-1.10.0.md +18 -0
  43. data/gh-pages/_posts/2013-01-20-1.11.0.md +14 -0
  44. data/gh-pages/_posts/2013-02-16-1.12.0.md +14 -0
  45. data/gh-pages/_posts/2013-02-17-1.13.0.md +29 -0
  46. data/gh-pages/_posts/2013-02-17-1.14.0.md +15 -0
  47. data/gh-pages/_posts/2013-02-17-1.14.1.md +18 -0
  48. data/gh-pages/_posts/2013-02-17-two-months-in.md +27 -0
  49. data/gh-pages/_posts/2013-03-16-1.15.0.md +28 -0
  50. data/gh-pages/_posts/2013-03-16-coloured-output-released.md +27 -0
  51. data/gh-pages/_posts/2013-04-10-ruby-2.0-compatibility.md +28 -0
  52. data/gh-pages/_posts/2013-04-11-1.15.1.md +13 -0
  53. data/gh-pages/_posts/2013-04-12-1.16.0.md +22 -0
  54. data/gh-pages/_posts/2013-04-14-1.17.0.md +15 -0
  55. data/gh-pages/_posts/2013-04-14-1.17.1.md +20 -0
  56. data/gh-pages/_posts/2013-04-14-1.17.2.md +13 -0
  57. data/gh-pages/_posts/2013-04-15-sync-alias.md +31 -0
  58. data/gh-pages/_posts/2013-04-15-utf8-fixed-and-more.md +37 -0
  59. data/gh-pages/_posts/2013-04-16-1.18.0.md +15 -0
  60. data/gh-pages/_posts/2013-04-16-set-up-color-output.md +47 -0
  61. data/gh-pages/_posts/2013-04-19-1.19.0.md +13 -0
  62. data/gh-pages/_posts/2013-04-19-1.20.0.md +15 -0
  63. data/gh-pages/_posts/2013-04-20-1.21.0.md +16 -0
  64. data/gh-pages/_posts/2013-04-20-1.22.0.md +14 -0
  65. data/gh-pages/_posts/2013-04-20-1.22.1.md +13 -0
  66. data/gh-pages/_posts/2013-04-21-1.22.2.md +15 -0
  67. data/gh-pages/_posts/2013-04-21-1.23.0.md +35 -0
  68. data/gh-pages/_posts/2013-04-23-1.24.0.md +16 -0
  69. data/gh-pages/_posts/2013-04-24-1.25.0.md +21 -0
  70. data/gh-pages/_posts/2013-05-09-2.0.0.md +33 -0
  71. data/gh-pages/_posts/2013-05-09-version-2.0.0-released.md +32 -0
  72. data/gh-pages/_posts/2013-07-20-2.1.0.md +36 -0
  73. data/gh-pages/_posts/2013-07-20-2.2.0.md +20 -0
  74. data/gh-pages/_posts/2013-10-12-2.3.0.md +19 -0
  75. data/gh-pages/_posts/2014-03-30-2.3.1.md +25 -0
  76. data/gh-pages/_posts/2015-01-05-2.3.2.md +18 -0
  77. data/gh-pages/_posts/2015-12-03-get-involved.md +29 -0
  78. data/gh-pages/_posts/2015-12-05-2.3.3.md +16 -0
  79. data/gh-pages/_posts/2016-01-02-2.4.0.md +19 -0
  80. data/gh-pages/_posts/2017-05-01-2.4.1.md +12 -0
  81. data/gh-pages/_posts/2017-10-23-sleep-mode.md +18 -0
  82. data/gh-pages/_posts/2018-01-03-3.0.1.md +12 -0
  83. data/gh-pages/_stylesheets/ppl/color.less +119 -0
  84. data/gh-pages/_stylesheets/ppl/layout.less +54 -0
  85. data/gh-pages/_stylesheets/ppl/style.less +185 -0
  86. data/gh-pages/_stylesheets/ppl/typography.less +59 -0
  87. data/gh-pages/development/changelog/index.md +18 -0
  88. data/gh-pages/development/changelog/split.rb +51 -0
  89. data/gh-pages/development/index.html +32 -0
  90. data/gh-pages/development/roadmap/index.md +15 -0
  91. data/gh-pages/documentation/about/index.html +63 -0
  92. data/gh-pages/documentation/commands/add/index.md +43 -0
  93. data/gh-pages/documentation/commands/age/add/index.md +40 -0
  94. data/gh-pages/documentation/commands/age/index.md +38 -0
  95. data/gh-pages/documentation/commands/bday/index.md +44 -0
  96. data/gh-pages/documentation/commands/completion/index.md +38 -0
  97. data/gh-pages/documentation/commands/email/index.md +64 -0
  98. data/gh-pages/documentation/commands/grep/index.md +32 -0
  99. data/gh-pages/documentation/commands/init/index.md +28 -0
  100. data/gh-pages/documentation/commands/ls/index.md +55 -0
  101. data/gh-pages/documentation/commands/mutt/index.md +36 -0
  102. data/gh-pages/documentation/commands/mv/index.md +26 -0
  103. data/gh-pages/documentation/commands/name/index.md +45 -0
  104. data/gh-pages/documentation/commands/nick/index.md +44 -0
  105. data/gh-pages/documentation/commands/org/index.md +45 -0
  106. data/gh-pages/documentation/commands/phone/index.md +56 -0
  107. data/gh-pages/documentation/commands/post/index.md +61 -0
  108. data/gh-pages/documentation/commands/pull/index.md +39 -0
  109. data/gh-pages/documentation/commands/push/index.md +36 -0
  110. data/gh-pages/documentation/commands/remote/index.md +40 -0
  111. data/gh-pages/documentation/commands/rm/index.md +23 -0
  112. data/gh-pages/documentation/commands/scrape/index.md +38 -0
  113. data/gh-pages/documentation/commands/shell/index.md +39 -0
  114. data/gh-pages/documentation/commands/show/index.md +33 -0
  115. data/gh-pages/documentation/commands/url/index.md +44 -0
  116. data/gh-pages/documentation/commands/version/index.md +27 -0
  117. data/gh-pages/documentation/configuration/address_book/index.md +22 -0
  118. data/gh-pages/documentation/configuration/alias/index.md +45 -0
  119. data/gh-pages/documentation/configuration/color/index.md +47 -0
  120. data/gh-pages/documentation/configuration/color_age/index.md +20 -0
  121. data/gh-pages/documentation/configuration/color_bday/index.md +20 -0
  122. data/gh-pages/documentation/configuration/color_email/index.md +21 -0
  123. data/gh-pages/documentation/configuration/color_ls/index.md +21 -0
  124. data/gh-pages/documentation/configuration/color_name/index.md +20 -0
  125. data/gh-pages/documentation/configuration/color_nick/index.md +20 -0
  126. data/gh-pages/documentation/configuration/color_org/index.md +20 -0
  127. data/gh-pages/documentation/configuration/color_phone/index.md +22 -0
  128. data/gh-pages/documentation/configuration/color_post/index.md +20 -0
  129. data/gh-pages/documentation/configuration/color_url/index.md +20 -0
  130. data/gh-pages/documentation/configuration/index.html +8 -0
  131. data/gh-pages/documentation/index.html +183 -0
  132. data/gh-pages/documentation/integration/bash/index.md +23 -0
  133. data/gh-pages/documentation/integration/google/index.md +26 -0
  134. data/gh-pages/documentation/integration/index.html +8 -0
  135. data/gh-pages/documentation/integration/mutt/index.md +35 -0
  136. data/gh-pages/documentation/integration/zsh/index.md +19 -0
  137. data/gh-pages/documentation/quick-start/index.html +88 -0
  138. data/gh-pages/documentation/tips/index.html +9 -0
  139. data/gh-pages/index.html +108 -0
  140. data/gh-pages/news/index.html +9 -0
  141. data/gh-pages/robots.txt +3 -0
  142. data/gh-pages/stylesheets/flatstrap.css +10 -0
  143. data/gh-pages/stylesheets/ppl.scss +235 -0
  144. data/gh-pages/wiki.png +0 -0
  145. data/lib/ppl.rb +4 -1
  146. data/lib/ppl/adapter/color.rb +0 -1
  147. data/lib/ppl/adapter/color/colored.rb +0 -1
  148. data/lib/ppl/adapter/email_scraper.rb +0 -1
  149. data/lib/ppl/adapter/email_scraper/mail.rb +4 -5
  150. data/lib/ppl/adapter/storage.rb +0 -1
  151. data/lib/ppl/adapter/storage/disk.rb +0 -1
  152. data/lib/ppl/adapter/storage/factory.rb +0 -1
  153. data/lib/ppl/adapter/vcard.rb +0 -1
  154. data/lib/ppl/adapter/vcard/vpim.rb +5 -1
  155. data/lib/ppl/application/bootstrap.rb +0 -1
  156. data/lib/ppl/application/command.rb +0 -1
  157. data/lib/ppl/application/command_suite.rb +0 -1
  158. data/lib/ppl/application/configuration.rb +0 -1
  159. data/lib/ppl/application/input.rb +0 -1
  160. data/lib/ppl/application/output.rb +0 -1
  161. data/lib/ppl/application/router.rb +0 -1
  162. data/lib/ppl/application/shell.rb +0 -1
  163. data/lib/ppl/command/add.rb +0 -1
  164. data/lib/ppl/command/age.rb +0 -1
  165. data/lib/ppl/command/attribute.rb +0 -1
  166. data/lib/ppl/command/bday.rb +0 -1
  167. data/lib/ppl/command/completion.rb +0 -1
  168. data/lib/ppl/command/email.rb +0 -1
  169. data/lib/ppl/command/external.rb +0 -1
  170. data/lib/ppl/command/help.rb +0 -1
  171. data/lib/ppl/command/init.rb +0 -1
  172. data/lib/ppl/command/ls.rb +0 -1
  173. data/lib/ppl/command/mutt.rb +0 -1
  174. data/lib/ppl/command/mv.rb +0 -1
  175. data/lib/ppl/command/name.rb +0 -1
  176. data/lib/ppl/command/nick.rb +0 -1
  177. data/lib/ppl/command/org.rb +0 -1
  178. data/lib/ppl/command/phone.rb +0 -1
  179. data/lib/ppl/command/post.rb +0 -1
  180. data/lib/ppl/command/rm.rb +0 -1
  181. data/lib/ppl/command/scrape.rb +0 -1
  182. data/lib/ppl/command/shell.rb +0 -1
  183. data/lib/ppl/command/show.rb +0 -1
  184. data/lib/ppl/command/url.rb +0 -1
  185. data/lib/ppl/command/version.rb +0 -1
  186. data/lib/ppl/entity/address_book.rb +0 -1
  187. data/lib/ppl/entity/contact.rb +0 -1
  188. data/lib/ppl/entity/email_address.rb +0 -1
  189. data/lib/ppl/entity/name.rb +0 -1
  190. data/lib/ppl/entity/phone_number.rb +0 -1
  191. data/lib/ppl/entity/postal_address.rb +0 -1
  192. data/lib/ppl/error/completion_not_found.rb +0 -1
  193. data/lib/ppl/error/contact_not_found.rb +0 -1
  194. data/lib/ppl/error/incorrect_usage.rb +0 -1
  195. data/lib/ppl/error/invalid_vcard.rb +1 -0
  196. data/lib/ppl/error/postal_address_not_found.rb +0 -1
  197. data/lib/ppl/format/address_book.rb +0 -1
  198. data/lib/ppl/format/address_book/ages.rb +0 -1
  199. data/lib/ppl/format/address_book/birthdays.rb +0 -1
  200. data/lib/ppl/format/address_book/email_addresses.rb +0 -1
  201. data/lib/ppl/format/address_book/mutt_query.rb +0 -1
  202. data/lib/ppl/format/address_book/names.rb +0 -1
  203. data/lib/ppl/format/address_book/nicknames.rb +0 -1
  204. data/lib/ppl/format/address_book/one_line.rb +0 -1
  205. data/lib/ppl/format/address_book/organizations.rb +0 -1
  206. data/lib/ppl/format/address_book/phone_numbers.rb +0 -1
  207. data/lib/ppl/format/address_book/postal_addresses.rb +0 -1
  208. data/lib/ppl/format/address_book/urls.rb +0 -1
  209. data/lib/ppl/format/contact.rb +0 -1
  210. data/lib/ppl/format/contact/age.rb +0 -1
  211. data/lib/ppl/format/contact/birthday.rb +0 -1
  212. data/lib/ppl/format/contact/email_addresses.rb +0 -1
  213. data/lib/ppl/format/contact/full.rb +0 -1
  214. data/lib/ppl/format/contact/nicknames.rb +0 -1
  215. data/lib/ppl/format/contact/organization.rb +0 -1
  216. data/lib/ppl/format/contact/phone_number.rb +0 -1
  217. data/lib/ppl/format/contact/postal_address.rb +0 -1
  218. data/lib/ppl/format/contact/postal_addresses.rb +0 -1
  219. data/lib/ppl/format/contact/urls.rb +0 -1
  220. data/lib/ppl/format/custom.rb +0 -1
  221. data/lib/ppl/format/custom/contact.rb +0 -1
  222. data/lib/ppl/format/custom/email_address.rb +0 -1
  223. data/lib/ppl/format/custom/phone_number.rb +0 -1
  224. data/lib/ppl/format/name.rb +0 -1
  225. data/lib/ppl/format/name/full_only.rb +0 -1
  226. data/lib/ppl/format/postal_address.rb +0 -1
  227. data/lib/ppl/format/postal_address/multi_line.rb +0 -1
  228. data/lib/ppl/format/postal_address/one_line.rb +0 -1
  229. data/lib/ppl/format/table.rb +0 -1
  230. data/lib/ppl/service/email_address.rb +0 -1
  231. data/lib/ppl/service/name.rb +0 -1
  232. data/lib/ppl/service/phone_number.rb +0 -1
  233. data/lib/ppl/service/postal_address.rb +0 -1
  234. data/{LICENSE → license} +0 -0
  235. data/makefile +18 -0
  236. data/package.json +23 -0
  237. data/ppl.gemspec +15 -13
  238. data/{README.md → readme.md} +12 -9
  239. data/site/_data/url.js +4 -0
  240. data/site/casts/hero.cast +189 -0
  241. data/site/development.njk +6 -0
  242. data/site/documentation.njk +6 -0
  243. data/site/index.njk +75 -0
  244. data/site/news.njk +6 -0
  245. data/site/style.scss +140 -0
  246. data/spec/ppl/adapter/color/colored_spec.rb +3 -4
  247. data/spec/ppl/adapter/color_spec.rb +0 -1
  248. data/spec/ppl/adapter/email_scraper/mail_spec.rb +13 -13
  249. data/spec/ppl/adapter/email_scraper_spec.rb +0 -1
  250. data/spec/ppl/adapter/output_spec.rb +7 -8
  251. data/spec/ppl/adapter/storage/disk_spec.rb +18 -19
  252. data/spec/ppl/adapter/storage/factory_spec.rb +3 -4
  253. data/spec/ppl/adapter/storage/git_spec.rb +31 -32
  254. data/spec/ppl/adapter/storage_spec.rb +3 -4
  255. data/spec/ppl/adapter/vcard/greencard_spec.rb +45 -45
  256. data/spec/ppl/adapter/vcard_spec.rb +0 -1
  257. data/spec/ppl/application/bootstrap_spec.rb +128 -129
  258. data/spec/ppl/application/command_spec.rb +8 -9
  259. data/spec/ppl/application/command_suite_spec.rb +7 -8
  260. data/spec/ppl/application/configuration_spec.rb +16 -17
  261. data/spec/ppl/application/input_spec.rb +2 -3
  262. data/spec/ppl/application/router_spec.rb +8 -9
  263. data/spec/ppl/application/shell_spec.rb +39 -40
  264. data/spec/ppl/command/add_spec.rb +6 -7
  265. data/spec/ppl/command/age_spec.rb +7 -8
  266. data/spec/ppl/command/attribute_spec.rb +22 -23
  267. data/spec/ppl/command/bday_spec.rb +11 -12
  268. data/spec/ppl/command/completion_spec.rb +7 -8
  269. data/spec/ppl/command/email_spec.rb +19 -20
  270. data/spec/ppl/command/external_spec.rb +7 -8
  271. data/spec/ppl/command/help_spec.rb +15 -16
  272. data/spec/ppl/command/init_spec.rb +5 -6
  273. data/spec/ppl/command/ls_spec.rb +12 -13
  274. data/spec/ppl/command/mutt_spec.rb +33 -34
  275. data/spec/ppl/command/mv_spec.rb +11 -12
  276. data/spec/ppl/command/name_spec.rb +17 -18
  277. data/spec/ppl/command/nick_spec.rb +1 -2
  278. data/spec/ppl/command/org_spec.rb +1 -2
  279. data/spec/ppl/command/phone_spec.rb +15 -16
  280. data/spec/ppl/command/post_spec.rb +29 -30
  281. data/spec/ppl/command/rm_spec.rb +3 -4
  282. data/spec/ppl/command/scrape_spec.rb +24 -25
  283. data/spec/ppl/command/shell_spec.rb +41 -42
  284. data/spec/ppl/command/show_spec.rb +4 -5
  285. data/spec/ppl/command/url_spec.rb +1 -2
  286. data/spec/ppl/command/version_spec.rb +4 -5
  287. data/spec/ppl/entity/address_book_spec.rb +1 -2
  288. data/spec/ppl/entity/contact_spec.rb +16 -17
  289. data/spec/ppl/entity/email_address_spec.rb +3 -4
  290. data/spec/ppl/entity/name_spec.rb +1 -2
  291. data/spec/ppl/entity/phone_number_spec.rb +5 -6
  292. data/spec/ppl/entity/postal_address_spec.rb +2 -3
  293. data/spec/ppl/format/address_book/ages_spec.rb +3 -4
  294. data/spec/ppl/format/address_book/birthdays_spec.rb +3 -4
  295. data/spec/ppl/format/address_book/email_addresses_spec.rb +3 -4
  296. data/spec/ppl/format/address_book/mutt_query_spec.rb +3 -4
  297. data/spec/ppl/format/address_book/names_spec.rb +3 -4
  298. data/spec/ppl/format/address_book/nicknames_spec.rb +4 -5
  299. data/spec/ppl/format/address_book/one_line_spec.rb +5 -6
  300. data/spec/ppl/format/address_book/organizations_spec.rb +3 -4
  301. data/spec/ppl/format/address_book/phone_numbers_spec.rb +3 -4
  302. data/spec/ppl/format/address_book/postal_addresses_spec.rb +2 -3
  303. data/spec/ppl/format/address_book/urls_spec.rb +3 -4
  304. data/spec/ppl/format/address_book_spec.rb +0 -1
  305. data/spec/ppl/format/contact/age_spec.rb +8 -9
  306. data/spec/ppl/format/contact/birthday_spec.rb +4 -5
  307. data/spec/ppl/format/contact/email_addresses_spec.rb +3 -4
  308. data/spec/ppl/format/contact/full_spec.rb +11 -12
  309. data/spec/ppl/format/contact/nicknames_spec.rb +4 -5
  310. data/spec/ppl/format/contact/organization_spec.rb +4 -5
  311. data/spec/ppl/format/contact/phone_number_spec.rb +4 -5
  312. data/spec/ppl/format/contact/postal_address_spec.rb +1 -2
  313. data/spec/ppl/format/contact/postal_addresses_spec.rb +3 -4
  314. data/spec/ppl/format/contact/urls_spec.rb +4 -5
  315. data/spec/ppl/format/contact_spec.rb +0 -1
  316. data/spec/ppl/format/custom/contact_spec.rb +13 -14
  317. data/spec/ppl/format/custom/email_address_spec.rb +3 -4
  318. data/spec/ppl/format/custom/phone_number_spec.rb +4 -5
  319. data/spec/ppl/format/custom_spec.rb +6 -7
  320. data/spec/ppl/format/name/full_only_spec.rb +4 -5
  321. data/spec/ppl/format/name_spec.rb +0 -1
  322. data/spec/ppl/format/postal_address/multi_line_spec.rb +10 -11
  323. data/spec/ppl/format/postal_address/one_line_spec.rb +9 -10
  324. data/spec/ppl/format/postal_address_spec.rb +0 -1
  325. data/spec/ppl/format/table_spec.rb +11 -11
  326. data/spec/ppl/service/email_address_spec.rb +13 -14
  327. data/spec/ppl/service/name_spec.rb +9 -10
  328. data/spec/ppl/service/phone_number_spec.rb +11 -12
  329. data/spec/ppl/service/postal_address_spec.rb +20 -21
  330. data/spec/spec_helper.rb +4 -0
  331. data/yarn.lock +3605 -0
  332. metadata +183 -22
  333. data/.travis.yml +0 -11
  334. data/COPYING +0 -339
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Contact::Birthday do
3
2
 
4
3
  before(:each) do
@@ -11,18 +10,18 @@ describe Ppl::Format::Contact::Birthday do
11
10
  describe "#process" do
12
11
 
13
12
  it "should return an empty string if the contact lacks a birthday" do
14
- @format.process(Ppl::Entity::Contact.new).should eq ""
13
+ expect(@format.process(Ppl::Entity::Contact.new)).to eq ""
15
14
  end
16
15
 
17
16
  it "should return the contact's birthday if it is set" do
18
17
  @contact.birthday = Date.parse("1970-01-01")
19
- @format.process(@contact).should eq "1970-01-01"
18
+ expect(@format.process(@contact)).to eq "1970-01-01"
20
19
  end
21
20
 
22
21
  it "should colorize the string if configured to do so" do
23
22
  @format.colors = { "birthday" => "blue" }
24
- @color.should_receive(:colorize).and_return("birthday in blue")
25
- @format.process(@contact).should eq "birthday in blue"
23
+ expect(@color).to receive(:colorize).and_return("birthday in blue")
24
+ expect(@format.process(@contact)).to eq "birthday in blue"
26
25
  end
27
26
 
28
27
  end
@@ -1,9 +1,8 @@
1
-
2
1
  describe Ppl::Format::Contact::EmailAddresses do
3
2
  describe "#initialize" do
4
3
  it "should pass the colors through to the table" do
5
4
  colors = {"id" => "blue"}
6
- Ppl::Format::Table.should_receive(:new).with([:star, :email_addresses], colors)
5
+ expect(Ppl::Format::Table).to receive(:new).with([:star, :email_addresses], colors)
7
6
  format = Ppl::Format::Contact::EmailAddresses.new(colors)
8
7
  end
9
8
  end
@@ -23,7 +22,7 @@ describe Ppl::Format::Contact::EmailAddresses do
23
22
  describe "#process" do
24
23
 
25
24
  it "should pass each email address to the table" do
26
- @table.should_receive(:add_row).with({
25
+ expect(@table).to receive(:add_row).with({
27
26
  :star => " ",
28
27
  :email_addresses => "test@example.org",
29
28
  })
@@ -32,7 +31,7 @@ describe Ppl::Format::Contact::EmailAddresses do
32
31
 
33
32
  it "should mark the preferred email with a star" do
34
33
  @email.preferred = true
35
- @table.should_receive(:add_row).with({
34
+ expect(@table).to receive(:add_row).with({
36
35
  :star => "*",
37
36
  :email_addresses => "test@example.org",
38
37
  })
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Contact::Full do
3
2
 
4
3
  before(:each) do
@@ -13,26 +12,26 @@ describe Ppl::Format::Contact::Full do
13
12
  @format.phone_number_format = @phone_number_format
14
13
  @format.postal_address_format = @postal_address_format
15
14
 
16
- @email_address_format.stub(:process)
15
+ allow(@email_address_format).to receive(:process)
17
16
  end
18
17
 
19
18
  describe "#process" do
20
19
 
21
20
  it "should return an empty string if the contact lacks any properties" do
22
- @format.process(Ppl::Entity::Contact.new).should eq ""
21
+ expect(@format.process(Ppl::Entity::Contact.new)).to eq ""
23
22
  end
24
23
 
25
24
  it "should start with the contact's name" do
26
25
  @contact.name = Ppl::Entity::Name.new
27
26
  @contact.name.full = "John Doe"
28
- @format.process(@contact).should eq "John Doe"
27
+ expect(@format.process(@contact)).to eq "John Doe"
29
28
  end
30
29
 
31
30
  it "should include their email address in brackets" do
32
31
  @contact.name = Ppl::Entity::Name.new
33
32
  @contact.name.full = "John Doe"
34
33
  @contact.email_addresses << Ppl::Entity::EmailAddress.new("john@example.org")
35
- @format.process(@contact).should include "John Doe <john@example.org>"
34
+ expect(@format.process(@contact)).to include "John Doe <john@example.org>"
36
35
  end
37
36
 
38
37
  it "should include their preferred email address in brackets" do
@@ -41,40 +40,40 @@ describe Ppl::Format::Contact::Full do
41
40
  @contact.email_addresses << Ppl::Entity::EmailAddress.new("john@example.org")
42
41
  @contact.email_addresses << Ppl::Entity::EmailAddress.new("fred@testtest.es")
43
42
  @contact.email_addresses[1].preferred = true
44
- @format.process(@contact).should include "John Doe <fred@testtest.es>"
43
+ expect(@format.process(@contact)).to include "John Doe <fred@testtest.es>"
45
44
  end
46
45
 
47
46
  it "should invoke the email address formatter if there are any addresses" do
48
47
  @contact.email_addresses << Ppl::Entity::EmailAddress.new("john@example.net")
49
- @email_address_format.should_receive(:process).with(@contact)
48
+ expect(@email_address_format).to receive(:process).with(@contact)
50
49
  @format.process(@contact)
51
50
  end
52
51
 
53
52
  it "should invoke the phone number formatter if there are any numbers" do
54
53
  @contact.phone_numbers << Ppl::Entity::PhoneNumber.new("01234567890")
55
- @phone_number_format.should_receive(:process).with(@contact)
54
+ expect(@phone_number_format).to receive(:process).with(@contact)
56
55
  @format.process(@contact)
57
56
  end
58
57
 
59
58
  it "should show their birthday if available" do
60
59
  @contact.birthday = Date.parse("1980-01-01")
61
- @format.process(@contact).should include "1980-01-01"
60
+ expect(@format.process(@contact)).to include "1980-01-01"
62
61
  end
63
62
 
64
63
  it "should show all their organizations" do
65
64
  @contact.organizations.push("Example Ltd")
66
- @format.process(@contact).should include "Example Ltd"
65
+ expect(@format.process(@contact)).to include "Example Ltd"
67
66
  end
68
67
 
69
68
  it "should show their postal address if available" do
70
69
  @contact.postal_addresses << @address
71
- @postal_address_format.should_receive(:process).and_return("")
70
+ expect(@postal_address_format).to receive(:process).and_return("")
72
71
  @format.process(@contact)
73
72
  end
74
73
 
75
74
  it "should show all their URLs" do
76
75
  @contact.urls.push "http://example.org"
77
- @format.process(@contact).should include "http://example.org"
76
+ expect(@format.process(@contact)).to include "http://example.org"
78
77
  end
79
78
 
80
79
  end
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Contact::Nicknames do
3
2
 
4
3
  before(:each) do
@@ -11,18 +10,18 @@ describe Ppl::Format::Contact::Nicknames do
11
10
  describe "#process" do
12
11
 
13
12
  it "should return an empty string if the contact lacks a nickname" do
14
- @format.process(Ppl::Entity::Contact.new).should eq ""
13
+ expect(@format.process(Ppl::Entity::Contact.new)).to eq ""
15
14
  end
16
15
 
17
16
  it "should return the contact's nickname if one is set" do
18
17
  @contact.nicknames.push("Dopey")
19
- @format.process(@contact).should eq "Dopey"
18
+ expect(@format.process(@contact)).to eq "Dopey"
20
19
  end
21
20
 
22
21
  it "should colorize the string if configured to do so" do
23
22
  @format.colors = { "nicknames" => "blue" }
24
- @color.should_receive(:colorize).and_return("nicknames in blue")
25
- @format.process(@contact).should eq "nicknames in blue"
23
+ expect(@color).to receive(:colorize).and_return("nicknames in blue")
24
+ expect(@format.process(@contact)).to eq "nicknames in blue"
26
25
  end
27
26
 
28
27
  end
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Contact::Organization do
3
2
 
4
3
  before(:each) do
@@ -11,18 +10,18 @@ describe Ppl::Format::Contact::Organization do
11
10
  describe "#process" do
12
11
 
13
12
  it "should return an empty string if the contact lacks an organization" do
14
- @format.process(Ppl::Entity::Contact.new).should eq ""
13
+ expect(@format.process(Ppl::Entity::Contact.new)).to eq ""
15
14
  end
16
15
 
17
16
  it "should return the contact's organization if it is set" do
18
17
  @contact.organizations.push("Example Ltd")
19
- @format.process(@contact).should eq "Example Ltd"
18
+ expect(@format.process(@contact)).to eq "Example Ltd"
20
19
  end
21
20
 
22
21
  it "should colorize the string if configured to do so" do
23
22
  @format.colors = { "organizations" => "blue" }
24
- @color.should_receive(:colorize).and_return("organizations in blue")
25
- @format.process(@contact).should eq "organizations in blue"
23
+ expect(@color).to receive(:colorize).and_return("organizations in blue")
24
+ expect(@format.process(@contact)).to eq "organizations in blue"
26
25
  end
27
26
 
28
27
  end
@@ -1,10 +1,9 @@
1
-
2
1
  describe Ppl::Format::Contact::PhoneNumber do
3
2
 
4
3
  describe "#initialize" do
5
4
  it "should pass the colors through to the table" do
6
5
  colors = {"number" => "blue"}
7
- Ppl::Format::Table.should_receive(:new).with([:star, :phone_numbers, :type], colors)
6
+ expect(Ppl::Format::Table).to receive(:new).with([:star, :phone_numbers, :type], colors)
8
7
  format = Ppl::Format::Contact::PhoneNumber.new(colors)
9
8
  end
10
9
  end
@@ -21,7 +20,7 @@ describe Ppl::Format::Contact::PhoneNumber do
21
20
  end
22
21
 
23
22
  it "should always include the phone number" do
24
- @table.should_receive(:add_row).with({
23
+ expect(@table).to receive(:add_row).with({
25
24
  :star => " ",
26
25
  :phone_numbers => "01234567890",
27
26
  :type => nil,
@@ -31,7 +30,7 @@ describe Ppl::Format::Contact::PhoneNumber do
31
30
 
32
31
  it "should put the type in parentheses" do
33
32
  @number.type = "work"
34
- @table.should_receive(:add_row).with({
33
+ expect(@table).to receive(:add_row).with({
35
34
  :star => " ",
36
35
  :phone_numbers => "01234567890",
37
36
  :type => "(work)",
@@ -41,7 +40,7 @@ describe Ppl::Format::Contact::PhoneNumber do
41
40
 
42
41
  it "should mark preferred numbers with a star" do
43
42
  @number.preferred = true
44
- @table.should_receive(:add_row).with({
43
+ expect(@table).to receive(:add_row).with({
45
44
  :star => "*",
46
45
  :phone_numbers => "01234567890",
47
46
  :type => nil,
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Contact::PostalAddress do
3
2
 
4
3
  before(:each) do
@@ -14,7 +13,7 @@ describe Ppl::Format::Contact::PostalAddress do
14
13
 
15
14
  it "should return the contact's street address if it is set" do
16
15
  @address.street = "1 Test Road"
17
- @table.should_receive(:add_row).with({
16
+ expect(@table).to receive(:add_row).with({
18
17
  :label => "Street:",
19
18
  :value => "1 Test Road",
20
19
  })
@@ -1,9 +1,8 @@
1
-
2
1
  describe Ppl::Format::Contact::PostalAddresses do
3
2
  describe "#initialize" do
4
3
  it "should pass the colors through to the table" do
5
4
  colors = {"address_id" => "blue"}
6
- Ppl::Format::Table.should_receive(:new).with([:star, :address_id, :address_text], colors)
5
+ expect(Ppl::Format::Table).to receive(:new).with([:star, :address_id, :address_text], colors)
7
6
  format = Ppl::Format::Contact::PostalAddresses.new(colors)
8
7
  end
9
8
  end
@@ -25,8 +24,8 @@ describe Ppl::Format::Contact::PostalAddresses do
25
24
 
26
25
  it "passes each postal address to the postal address formatter" do
27
26
  @contact.postal_addresses << @address
28
- @pa_fmt.should_receive(:process).with(@address, @table)
29
- @table.should_receive(:to_s)
27
+ expect(@pa_fmt).to receive(:process).with(@address, @table)
28
+ expect(@table).to receive(:to_s)
30
29
  @format.process(@contact)
31
30
  end
32
31
 
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Contact::Urls do
3
2
 
4
3
  before(:each) do
@@ -11,18 +10,18 @@ describe Ppl::Format::Contact::Urls do
11
10
  describe "#process" do
12
11
 
13
12
  it "should return an empty string if the contact lacks a URL" do
14
- @format.process(Ppl::Entity::Contact.new).should eq ""
13
+ expect(@format.process(Ppl::Entity::Contact.new)).to eq ""
15
14
  end
16
15
 
17
16
  it "should return the contact's URL if one is set" do
18
17
  @contact.urls.push "http://example.org/~jdoe"
19
- @format.process(@contact).should eq "http://example.org/~jdoe"
18
+ expect(@format.process(@contact)).to eq "http://example.org/~jdoe"
20
19
  end
21
20
 
22
21
  it "should colorize the string if configured to do so" do
23
22
  @format.colors = { "urls" => "blue" }
24
- @color.should_receive(:colorize).and_return("urls in blue")
25
- @format.process(@contact).should eq "urls in blue"
23
+ expect(@color).to receive(:colorize).and_return("urls in blue")
24
+ expect(@format.process(@contact)).to eq "urls in blue"
26
25
  end
27
26
 
28
27
  end
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Contact do
3
2
 
4
3
  before(:each) do
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Custom::Contact do
3
2
 
4
3
  before(:each) do
@@ -9,7 +8,7 @@ describe Ppl::Format::Custom::Contact do
9
8
  describe "%n" do
10
9
  it "should be replaced with a newlines" do
11
10
  @format.format = "%n"
12
- @format.process(@contact).should eq "\n"
11
+ expect(@format.process(@contact)).to eq "\n"
13
12
  end
14
13
  end
15
14
 
@@ -17,7 +16,7 @@ describe Ppl::Format::Custom::Contact do
17
16
  it "should output the contact's ID" do
18
17
  @contact.id = "test"
19
18
  @format.format = "%i"
20
- @format.process(@contact).should eq "test"
19
+ expect(@format.process(@contact)).to eq "test"
21
20
  end
22
21
  end
23
22
 
@@ -25,7 +24,7 @@ describe Ppl::Format::Custom::Contact do
25
24
  it "should output the contact's name" do
26
25
  @contact.name = "John Doe"
27
26
  @format.format = "%N"
28
- @format.process(@contact).should eq "John Doe"
27
+ expect(@format.process(@contact)).to eq "John Doe"
29
28
  end
30
29
  end
31
30
 
@@ -33,16 +32,16 @@ describe Ppl::Format::Custom::Contact do
33
32
  it "should output the contact's nickname" do
34
33
  @contact.nicknames << "Johnny"
35
34
  @format.format = "%k"
36
- @format.process(@contact).should eq "Johnny"
35
+ expect(@format.process(@contact)).to eq "Johnny"
37
36
  end
38
37
  end
39
38
 
40
39
  describe "%a" do
41
40
  it "should output the contact's age" do
42
41
  @contact.birthday = Date.parse("2000-01-01")
43
- Date.stub(:today).and_return(Date.parse("2010-01-02"))
42
+ allow(Date).to receive(:today).and_return(Date.parse("2010-01-02"))
44
43
  @format.format = "%a"
45
- @format.process(@contact).should eq "10"
44
+ expect(@format.process(@contact)).to eq "10"
46
45
  end
47
46
  end
48
47
 
@@ -50,12 +49,12 @@ describe Ppl::Format::Custom::Contact do
50
49
  it "should output the contact's birthday" do
51
50
  @contact.birthday = Date.parse("1985-06-07")
52
51
  @format.format = "%b"
53
- @format.process(@contact).should eq "1985-06-07"
52
+ expect(@format.process(@contact)).to eq "1985-06-07"
54
53
  end
55
54
  it "should cause no errors if there's no birthday" do
56
55
  @contact.birthday = nil
57
56
  @format.format = "%b"
58
- @format.process(@contact).should eq ""
57
+ expect(@format.process(@contact)).to eq ""
59
58
  end
60
59
  end
61
60
 
@@ -66,11 +65,11 @@ describe Ppl::Format::Custom::Contact do
66
65
  @contact.email_addresses << Ppl::Entity::EmailAddress.new("b@example.org")
67
66
  end
68
67
  it "should output the first email address" do
69
- @format.process(@contact).should eq "a@example.org"
68
+ expect(@format.process(@contact)).to eq "a@example.org"
70
69
  end
71
70
  it "should output the preferred email address" do
72
71
  @contact.email_addresses[1].preferred = true
73
- @format.process(@contact).should eq "b@example.org"
72
+ expect(@format.process(@contact)).to eq "b@example.org"
74
73
  end
75
74
  end
76
75
 
@@ -81,11 +80,11 @@ describe Ppl::Format::Custom::Contact do
81
80
  @contact.phone_numbers << Ppl::Entity::PhoneNumber.new("1098765432")
82
81
  end
83
82
  it "should output the first phone number" do
84
- @format.process(@contact).should eq "0123456789"
83
+ expect(@format.process(@contact)).to eq "0123456789"
85
84
  end
86
85
  it "should output the preferred phone number" do
87
86
  @contact.phone_numbers[1].preferred = true
88
- @format.process(@contact).should eq "1098765432"
87
+ expect(@format.process(@contact)).to eq "1098765432"
89
88
  end
90
89
  end
91
90
 
@@ -93,7 +92,7 @@ describe Ppl::Format::Custom::Contact do
93
92
  it "should output the contact's organization" do
94
93
  @contact.organizations << "WTF Inc"
95
94
  @format.format = "%o"
96
- @format.process(@contact).should eq "WTF Inc"
95
+ expect(@format.process(@contact)).to eq "WTF Inc"
97
96
  end
98
97
  end
99
98
 
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Custom::EmailAddress do
3
2
 
4
3
  before(:each) do
@@ -10,7 +9,7 @@ describe Ppl::Format::Custom::EmailAddress do
10
9
  it "should output the address" do
11
10
  @address.address = "test@example.org"
12
11
  @format.format = "<%a>"
13
- @format.process(@address).should eq "<test@example.org>"
12
+ expect(@format.process(@address)).to eq "<test@example.org>"
14
13
  end
15
14
  end
16
15
 
@@ -20,11 +19,11 @@ describe Ppl::Format::Custom::EmailAddress do
20
19
  end
21
20
  it "should output a star if the address is preferred" do
22
21
  @address.preferred = true
23
- @format.process(@address).should eq "*"
22
+ expect(@format.process(@address)).to eq "*"
24
23
  end
25
24
  it "should output nothing if the address is not preferred" do
26
25
  @address.preferred = false
27
- @format.process(@address).should eq ""
26
+ expect(@format.process(@address)).to eq ""
28
27
  end
29
28
  end
30
29
 
@@ -1,4 +1,3 @@
1
-
2
1
  describe Ppl::Format::Custom::PhoneNumber do
3
2
 
4
3
  before(:each) do
@@ -10,7 +9,7 @@ describe Ppl::Format::Custom::PhoneNumber do
10
9
  it "should output the number itself" do
11
10
  @number.number = "1234567890"
12
11
  @format.format = "tel: %n"
13
- @format.process(@number).should eq "tel: 1234567890"
12
+ expect(@format.process(@number)).to eq "tel: 1234567890"
14
13
  end
15
14
  end
16
15
 
@@ -18,7 +17,7 @@ describe Ppl::Format::Custom::PhoneNumber do
18
17
  it "should output the type of the number" do
19
18
  @number.type = "cell"
20
19
  @format.format = "(%t)"
21
- @format.process(@number).should eq "(cell)"
20
+ expect(@format.process(@number)).to eq "(cell)"
22
21
  end
23
22
  end
24
23
 
@@ -28,11 +27,11 @@ describe Ppl::Format::Custom::PhoneNumber do
28
27
  end
29
28
  it "should output a star if the number is preferred" do
30
29
  @number.preferred = true
31
- @format.process(@number).should eq "*"
30
+ expect(@format.process(@number)).to eq "*"
32
31
  end
33
32
  it "should output nothing if the number is not preferred" do
34
33
  @number.preferred = false
35
- @format.process(@number).should eq ""
34
+ expect(@format.process(@number)).to eq ""
36
35
  end
37
36
  end
38
37