card 1.16.6 → 1.16.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (440) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +234 -49
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/VERSION +1 -1
  6. data/config/initializers/mime_types.rb +3 -3
  7. data/config/initializers/notification.rb +1 -1
  8. data/db/migrate/20121118115000_update_link_type.rb +8 -8
  9. data/db/migrate/20130411210957_update_codenames.rb +2 -2
  10. data/db/migrate/20140822073704_create_new_revision_tables.rb +12 -13
  11. data/db/migrate/20141001105348_move_revisions_to_actions.rb +16 -16
  12. data/db/migrate/20141121172918_rename_card_migration_table.rb +4 -4
  13. data/db/migrate_core_cards/20130419215612_import_help_text.rb +3 -3
  14. data/db/migrate_core_cards/20130823192433_add_style_cards.rb +45 -47
  15. data/db/migrate_core_cards/20130910183318_move_styles_to_content.rb +1 -1
  16. data/db/migrate_core_cards/20130920214038_jsonize_tinymce.rb +3 -3
  17. data/db/migrate_core_cards/20130920291703_update_stylesheets.rb +3 -3
  18. data/db/migrate_core_cards/20130927191728_account_events.rb +6 -6
  19. data/db/migrate_core_cards/20131016172445_common_css_patch.rb +1 -1
  20. data/db/migrate_core_cards/20140110193325_reset_account_request_type.rb +1 -1
  21. data/db/migrate_core_cards/20140307231621_user_data_to_cards.rb +19 -19
  22. data/db/migrate_core_cards/20140317035504_account_requests_to_signups.rb +11 -12
  23. data/db/migrate_core_cards/20140512155840_add_script_cards.rb +35 -36
  24. data/db/migrate_core_cards/20140629222005_add_email_cards.rb +55 -55
  25. data/db/migrate_core_cards/20140725180118_config_card_updates.rb +1 -1
  26. data/db/migrate_core_cards/20141111083921_delete_machine_output.rb +2 -2
  27. data/db/migrate_core_cards/20141115034214_config_descriptions_etc.rb +3 -3
  28. data/db/migrate_core_cards/20141120120605_fix_notification_html_message.rb +2 -2
  29. data/db/migrate_core_cards/20141204061304_watchers_to_following.rb +8 -8
  30. data/db/migrate_core_cards/20141208162106_add_ace_script.rb +2 -2
  31. data/db/migrate_core_cards/20141216155251_add_more_following_cards.rb +16 -16
  32. data/db/migrate_core_cards/20141230204340_uri_codename.rb +1 -1
  33. data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +19 -19
  34. data/db/migrate_core_cards/20150220134731_following_to_follow_rule.rb +3 -3
  35. data/db/migrate_core_cards/20150317162412_bootstrap_themes.rb +15 -15
  36. data/db/migrate_core_cards/20150326205655_bootswatch_themes.rb +11 -11
  37. data/db/migrate_core_cards/20150331135745_new_card_menu.rb +1 -1
  38. data/db/migrate_core_cards/20150429090551_search_card_context.rb +1 -1
  39. data/db/migrate_core_cards/20150508212032_menu_compatibility.rb +3 -3
  40. data/db/migrate_core_cards/20150510031118_fix_skin_images.rb +1 -1
  41. data/db/migrate_core_cards/20150528084659_add_session_cardtype.rb +4 -4
  42. data/db/migrate_core_cards/20150601133433_add_recent_setting_session_card.rb +5 -5
  43. data/db/migrate_core_cards/20150605115802_add_performance_log_card.rb +1 -1
  44. data/db/migrate_core_cards/20150610171702_add_debugger_session_card.rb +2 -2
  45. data/db/migrate_core_cards/20150611203506_rails_inflection_updates.rb +5 -5
  46. data/db/migrate_core_cards/20150627205133_fix_script_bootstrap_card_type.rb +1 -1
  47. data/db/migrate_core_cards/20150702130543_remove_edit_toolbar_pinned.rb +1 -1
  48. data/db/migrate_core_cards/20150724123438_update_file_and_image_cards.rb +5 -5
  49. data/db/migrate_core_cards/20150807205221_create_references_for_search_cards.rb +1 -1
  50. data/db/migrate_core_cards/20150824135418_update_file_history.rb +3 -3
  51. data/db/migrate_core_cards/20150903130006_attachment_upload_cards.rb +2 -2
  52. data/db/migrate_core_cards/20150910085603_remove_performance_log_card.rb +1 -1
  53. data/lib/card.rb +4 -4
  54. data/lib/card/active_record_ext.rb +8 -8
  55. data/lib/card/auth.rb +6 -6
  56. data/lib/card/cache.rb +1 -1
  57. data/lib/card/chunk.rb +1 -1
  58. data/lib/card/content.rb +1 -1
  59. data/lib/card/diff.rb +10 -10
  60. data/lib/card/env.rb +1 -1
  61. data/lib/card/format.rb +12 -12
  62. data/lib/card/loader.rb +1 -1
  63. data/lib/card/migration.rb +1 -1
  64. data/lib/card/name.rb +4 -4
  65. data/lib/card/query.rb +255 -61
  66. data/lib/card/query/attributes.rb +310 -0
  67. data/lib/card/query/clause.rb +12 -15
  68. data/lib/card/query/join.rb +73 -0
  69. data/lib/card/query/reference.rb +51 -0
  70. data/lib/card/query/sql_statement.rb +228 -0
  71. data/lib/card/query/value.rb +66 -0
  72. data/lib/card/reference.rb +6 -6
  73. data/lib/card/set.rb +12 -12
  74. data/lib/card/set_pattern.rb +9 -9
  75. data/lib/card/spec_helper.rb +5 -5
  76. data/lib/card/success.rb +1 -1
  77. data/lib/cardio.rb +7 -7
  78. data/lib/generators/card/format/format_generator.rb +3 -3
  79. data/lib/generators/card/migration/migration_generator.rb +5 -5
  80. data/lib/generators/card/set/set_generator.rb +4 -4
  81. data/mod/01_core/chunk/include.rb +4 -4
  82. data/mod/01_core/chunk/link.rb +5 -5
  83. data/mod/01_core/chunk/literal.rb +2 -2
  84. data/mod/01_core/chunk/query_reference.rb +8 -8
  85. data/mod/01_core/chunk/uri.rb +18 -18
  86. data/mod/01_core/format/html_format.rb +4 -4
  87. data/mod/01_core/set/all/active_card.rb +2 -2
  88. data/mod/01_core/set/all/collection.rb +21 -26
  89. data/mod/01_core/set/all/content.rb +2 -2
  90. data/mod/01_core/set/all/fetch.rb +6 -6
  91. data/mod/01_core/set/all/initialize.rb +4 -4
  92. data/mod/01_core/set/all/location_history.rb +2 -2
  93. data/mod/01_core/set/all/name.rb +14 -14
  94. data/mod/01_core/set/all/pattern.rb +1 -1
  95. data/mod/01_core/set/all/permissions.rb +12 -12
  96. data/mod/01_core/set/all/phases.rb +29 -12
  97. data/mod/01_core/set/all/references.rb +14 -14
  98. data/mod/01_core/set/all/rules.rb +8 -8
  99. data/mod/01_core/set/all/templating.rb +10 -9
  100. data/mod/01_core/set/all/tracked_attributes.rb +7 -7
  101. data/mod/01_core/set/all/trash.rb +6 -6
  102. data/mod/01_core/set/all/type.rb +7 -7
  103. data/mod/01_core/set/all/utils.rb +4 -4
  104. data/mod/01_core/set/all/view_cache.rb +1 -1
  105. data/mod/01_core/set_pattern/02_all_plus.rb +2 -2
  106. data/mod/01_core/set_pattern/03_type.rb +1 -1
  107. data/mod/01_core/set_pattern/04_star.rb +1 -1
  108. data/mod/01_core/set_pattern/05_rstar.rb +2 -2
  109. data/mod/01_core/set_pattern/06_right.rb +4 -4
  110. data/mod/01_core/set_pattern/07_type_plus_right.rb +4 -4
  111. data/mod/01_core/set_pattern/08_self.rb +1 -1
  112. data/mod/01_core/spec/chunk/uri_spec.rb +73 -73
  113. data/mod/01_core/spec/format/html_format_spec.rb +5 -5
  114. data/mod/01_core/spec/set/all/attribute_tracking_spec.rb +1 -1
  115. data/mod/01_core/spec/set/all/collection_spec.rb +22 -22
  116. data/mod/01_core/spec/set/all/content_spec.rb +1 -1
  117. data/mod/01_core/spec/set/all/fetch_spec.rb +24 -24
  118. data/mod/01_core/spec/set/all/initialize_spec.rb +9 -9
  119. data/mod/01_core/spec/set/all/name_spec.rb +8 -8
  120. data/mod/01_core/spec/set/all/pattern_spec.rb +10 -10
  121. data/mod/01_core/spec/set/all/permissions_spec.rb +45 -45
  122. data/mod/01_core/spec/set/all/references_spec.rb +1 -1
  123. data/mod/01_core/spec/set/all/rules2_spec.rb +15 -15
  124. data/mod/01_core/spec/set/all/rules_spec.rb +37 -37
  125. data/mod/01_core/spec/set/all/templating_spec.rb +21 -21
  126. data/mod/01_core/spec/set/all/tracked_attributes_spec.rb +55 -55
  127. data/mod/01_core/spec/set/all/trash_spec.rb +4 -4
  128. data/mod/01_core/spec/set/all/type_spec.rb +15 -15
  129. data/mod/01_history/lib/card/act.rb +2 -2
  130. data/mod/01_history/lib/card/action.rb +22 -22
  131. data/mod/01_history/lib/card/change.rb +1 -1
  132. data/mod/01_history/set/all/actions.rb +2 -2
  133. data/mod/01_history/set/all/content_history.rb +4 -4
  134. data/mod/01_history/set/all/history.rb +46 -46
  135. data/mod/02_basic_types/set/all/all_css.rb +10 -10
  136. data/mod/02_basic_types/set/all/all_csv.rb +7 -7
  137. data/mod/02_basic_types/set/all/base.rb +25 -25
  138. data/mod/02_basic_types/set/all/json.rb +16 -16
  139. data/mod/02_basic_types/set/all/rss.rb +7 -7
  140. data/mod/02_basic_types/set/type/html.rb +2 -2
  141. data/mod/02_basic_types/set/type/plain_text.rb +1 -1
  142. data/mod/02_basic_types/set/type/pointer.rb +39 -31
  143. data/mod/02_basic_types/spec/set/all/all_css_spec.rb +1 -1
  144. data/mod/02_basic_types/spec/set/all/all_csv_spec.rb +1 -1
  145. data/mod/02_basic_types/spec/set/all/base_spec.rb +18 -18
  146. data/mod/02_basic_types/spec/set/all/json_spec.rb +4 -4
  147. data/mod/02_basic_types/spec/set/all/rss_spec.rb +8 -2
  148. data/mod/02_basic_types/spec/set/type/plain_text_spec.rb +1 -1
  149. data/mod/02_basic_types/spec/set/type/pointer_spec.rb +54 -44
  150. data/mod/03_machines/lib/card/machine.rb +46 -29
  151. data/mod/03_machines/lib/card/machine_input.rb +34 -10
  152. data/mod/03_machines/set/type/coffee_script.rb +3 -3
  153. data/mod/03_machines/set/type/css.rb +8 -8
  154. data/mod/03_machines/set/type/java_script.rb +4 -4
  155. data/mod/03_machines/set/type/scss.rb +2 -2
  156. data/mod/03_machines/set/type/skin.rb +1 -1
  157. data/mod/03_machines/spec/lib/shared_machine_examples.rb +27 -27
  158. data/mod/03_machines/spec/lib/shared_machine_input_examples.rb +8 -8
  159. data/mod/03_machines/spec/set/type/coffeescript_spec.rb +6 -6
  160. data/mod/03_machines/spec/set/type/css_spec.rb +9 -9
  161. data/mod/03_machines/spec/set/type/javascript_spec.rb +6 -6
  162. data/mod/03_machines/spec/set/type/scss_spec.rb +5 -5
  163. data/mod/03_machines/spec/set/type/skin_spec.rb +25 -25
  164. data/mod/04_settings/lib/card/setting.rb +11 -11
  165. data/mod/04_settings/set/abstract/permission.rb +9 -9
  166. data/mod/04_settings/set/right/script.rb +1 -1
  167. data/mod/04_settings/set/right/structure.rb +0 -5
  168. data/mod/04_settings/set/right/style.rb +2 -2
  169. data/mod/04_settings/set/self/accountable.rb +1 -1
  170. data/mod/04_settings/set/self/add_help.rb +1 -1
  171. data/mod/04_settings/set/self/autoname.rb +1 -1
  172. data/mod/04_settings/set/self/captcha.rb +1 -1
  173. data/mod/04_settings/set/self/create.rb +1 -1
  174. data/mod/04_settings/set/self/default.rb +1 -1
  175. data/mod/04_settings/set/self/delete.rb +1 -1
  176. data/mod/04_settings/set/self/help.rb +1 -1
  177. data/mod/04_settings/set/self/input.rb +1 -1
  178. data/mod/04_settings/set/self/layout.rb +1 -1
  179. data/mod/04_settings/set/self/on_create.rb +1 -1
  180. data/mod/04_settings/set/self/on_delete.rb +1 -1
  181. data/mod/04_settings/set/self/on_update.rb +1 -1
  182. data/mod/04_settings/set/self/options.rb +1 -1
  183. data/mod/04_settings/set/self/options_label.rb +1 -1
  184. data/mod/04_settings/set/self/read.rb +1 -1
  185. data/mod/04_settings/set/self/script.rb +1 -1
  186. data/mod/04_settings/set/self/structure.rb +1 -1
  187. data/mod/04_settings/set/self/style.rb +1 -1
  188. data/mod/04_settings/set/self/table_of_contents.rb +1 -1
  189. data/mod/04_settings/set/self/thanks.rb +1 -1
  190. data/mod/04_settings/set/self/update.rb +1 -1
  191. data/mod/04_settings/set/type/setting.rb +14 -14
  192. data/mod/04_settings/spec/set/right/comment_spec.rb +5 -5
  193. data/mod/04_settings/spec/set/right/create_spec.rb +1 -1
  194. data/mod/04_settings/spec/set/right/script_spec.rb +5 -5
  195. data/mod/04_settings/spec/set/right/structure_spec.rb +4 -2
  196. data/mod/04_settings/spec/set/right/style_spec.rb +7 -7
  197. data/mod/04_settings/spec/set/type/setting_spec.rb +2 -2
  198. data/mod/05_email/lib/card/follow_option.rb +24 -24
  199. data/mod/05_email/set/all/follow.rb +24 -16
  200. data/mod/05_email/set/all/notify.rb +25 -23
  201. data/mod/05_email/set/all/observer.rb +5 -5
  202. data/mod/05_email/set/right/bcc.rb +8 -8
  203. data/mod/05_email/set/right/follow.rb +44 -17
  204. data/mod/05_email/set/right/follow_fields.rb +1 -1
  205. data/mod/05_email/set/right/following.rb +49 -40
  206. data/mod/05_email/set/self/always.rb +2 -2
  207. data/mod/05_email/set/self/created.rb +1 -1
  208. data/mod/05_email/set/self/edited.rb +4 -4
  209. data/mod/05_email/set/self/follow.rb +1 -1
  210. data/mod/05_email/set/self/follow_defaults.rb +9 -9
  211. data/mod/05_email/set/self/never.rb +1 -1
  212. data/mod/05_email/set/type/email_template.rb +9 -9
  213. data/mod/05_email/set/type_plus_right/user/follow.rb +16 -16
  214. data/mod/05_email/spec/set/all/follow_spec.rb +10 -10
  215. data/mod/05_email/spec/set/all/notify_spec.rb +82 -82
  216. data/mod/05_email/spec/set/all/observer_spec.rb +16 -16
  217. data/mod/05_email/spec/set/right/followers_spec.rb +6 -6
  218. data/mod/05_email/spec/set/self/follow_defaults_spec.rb +2 -2
  219. data/mod/05_standard/lib/carrier_wave/cardmount.rb +5 -5
  220. data/mod/05_standard/lib/image_uploader.rb +8 -8
  221. data/mod/05_standard/set/abstract/attachment.rb +18 -18
  222. data/mod/05_standard/set/all/account.rb +5 -5
  223. data/mod/05_standard/set/all/comment.rb +7 -7
  224. data/mod/05_standard/set/all/error.rb +25 -25
  225. data/mod/05_standard/set/all/event_viz.rb +1 -1
  226. data/mod/05_standard/set/all/links.rb +9 -9
  227. data/mod/05_standard/set/all/rich_html/content.rb +34 -34
  228. data/mod/05_standard/set/all/rich_html/editing.rb +35 -35
  229. data/mod/05_standard/set/all/rich_html/form.rb +20 -20
  230. data/mod/05_standard/set/all/rich_html/header.rb +8 -8
  231. data/mod/05_standard/set/all/rich_html/menu.rb +33 -33
  232. data/mod/05_standard/set/all/rich_html/modal.rb +16 -16
  233. data/mod/05_standard/set/all/rich_html/toolbar.rb +63 -63
  234. data/mod/05_standard/set/all/rich_html/wrapper.rb +8 -8
  235. data/mod/05_standard/set/right/account.rb +27 -27
  236. data/mod/05_standard/set/right/email.rb +5 -5
  237. data/mod/05_standard/set/right/password.rb +5 -5
  238. data/mod/05_standard/set/rstar/rules.rb +52 -52
  239. data/mod/05_standard/set/self/account_links.rb +27 -27
  240. data/mod/05_standard/set/self/all.rb +1 -1
  241. data/mod/05_standard/set/self/head.rb +5 -5
  242. data/mod/05_standard/set/self/navbox.rb +11 -11
  243. data/mod/05_standard/set/self/recent.rb +2 -2
  244. data/mod/05_standard/set/self/search.rb +13 -13
  245. data/mod/05_standard/set/self/signin.rb +19 -19
  246. data/mod/05_standard/set/self/stats.rb +2 -2
  247. data/mod/05_standard/set/type/basic.rb +1 -1
  248. data/mod/05_standard/set/type/cardtype.rb +5 -5
  249. data/mod/05_standard/set/type/date.rb +1 -1
  250. data/mod/05_standard/set/type/file.rb +7 -7
  251. data/mod/05_standard/set/type/image.rb +8 -8
  252. data/mod/05_standard/set/type/number.rb +2 -2
  253. data/mod/05_standard/set/type/phrase.rb +1 -1
  254. data/mod/05_standard/set/type/search_type.rb +27 -21
  255. data/mod/05_standard/set/type/session.rb +2 -2
  256. data/mod/05_standard/set/type/set.rb +37 -37
  257. data/mod/05_standard/set/type/signup.rb +25 -25
  258. data/mod/05_standard/set/type/uri.rb +1 -1
  259. data/mod/05_standard/set/type/user.rb +21 -21
  260. data/mod/05_standard/spec/chunk/include_spec.rb +16 -16
  261. data/mod/05_standard/spec/chunk/link_spec.rb +18 -18
  262. data/mod/05_standard/spec/chunk/query_reference_spec.rb +1 -1
  263. data/mod/05_standard/spec/set/all/account_spec.rb +7 -7
  264. data/mod/05_standard/spec/set/all/email_html_spec.rb +3 -3
  265. data/mod/05_standard/spec/set/all/history_spec.rb +14 -14
  266. data/mod/05_standard/spec/set/all/rich_html/editing_spec.rb +1 -1
  267. data/mod/05_standard/spec/set/all/rich_html/form_spec.rb +2 -2
  268. data/mod/05_standard/spec/set/right/account_spec.rb +9 -9
  269. data/mod/05_standard/spec/set/right/email_spec.rb +8 -8
  270. data/mod/05_standard/spec/set/right/password_spec.rb +9 -9
  271. data/mod/05_standard/spec/set/right/stats_spec.rb +1 -1
  272. data/mod/05_standard/spec/set/right/when_created_spec.rb +1 -1
  273. data/mod/05_standard/spec/set/right/when_last_edited_spec.rb +1 -1
  274. data/mod/05_standard/spec/set/rstar/rules_spec.rb +2 -2
  275. data/mod/05_standard/spec/set/self/account_links_spec.rb +2 -2
  276. data/mod/05_standard/spec/set/self/all_spec.rb +8 -11
  277. data/mod/05_standard/spec/set/self/head_spec.rb +1 -1
  278. data/mod/05_standard/spec/set/self/navbox_spec.rb +1 -1
  279. data/mod/05_standard/spec/set/self/now_spec.rb +1 -1
  280. data/mod/05_standard/spec/set/self/stats_spec.rb +1 -1
  281. data/mod/05_standard/spec/set/self/version_spec.rb +1 -1
  282. data/mod/05_standard/spec/set/type/email_template_spec.rb +25 -25
  283. data/mod/05_standard/spec/set/type/file_spec.rb +4 -4
  284. data/mod/05_standard/spec/set/type/html_spec.rb +3 -3
  285. data/mod/05_standard/spec/set/type/image_spec.rb +6 -6
  286. data/mod/05_standard/spec/set/type/layout_type_spec.rb +1 -1
  287. data/mod/05_standard/spec/set/type/search_type_spec.rb +10 -10
  288. data/mod/05_standard/spec/set/type/signup_spec.rb +11 -11
  289. data/mod/05_standard/spec/set/type/toggle_spec.rb +2 -2
  290. data/mod/05_standard/spec/set/type/uri_spec.rb +9 -9
  291. data/mod/06_bootstrap/set/all/bootstrap/helper.rb +10 -10
  292. data/mod/06_bootstrap/set/all/bootstrap/wrapper.rb +4 -4
  293. data/mod/06_bootstrap/set/all/rich_bootstrap.rb +1 -1
  294. data/spec/lib/card/action_spec.rb +2 -2
  295. data/spec/lib/card/cache_spec.rb +7 -7
  296. data/spec/lib/card/content_spec.rb +31 -37
  297. data/spec/lib/card/diff_spec.rb +56 -56
  298. data/spec/lib/card/format_spec.rb +11 -11
  299. data/spec/lib/card/query_spec.rb +382 -265
  300. data/spec/lib/card/reference_spec.rb +133 -140
  301. data/spec/lib/card/set_pattern_spec.rb +10 -9
  302. data/spec/lib/card/set_spec.rb +11 -11
  303. data/spec/lib/card/success_spec.rb +16 -8
  304. data/spec/mailers/mailer_spec.rb +5 -5
  305. data/spec/models/card/cardtype_spec.rb +20 -20
  306. data/spec/models/card/create_spec.rb +6 -6
  307. data/spec/models/card/trash_spec.rb +20 -20
  308. data/spec/models/card/type_transition_spec.rb +3 -3
  309. data/spec/models/card/validation_spec.rb +5 -5
  310. data/spec/models/card_spec.rb +24 -24
  311. data/spec/spec_helper.rb +5 -5
  312. data/tmpsets/set/mod001-01_core/all/active_card.rb +2 -2
  313. data/tmpsets/set/mod001-01_core/all/collection.rb +23 -26
  314. data/tmpsets/set/mod001-01_core/all/content.rb +2 -2
  315. data/tmpsets/set/mod001-01_core/all/fetch.rb +6 -6
  316. data/tmpsets/set/mod001-01_core/all/initialize.rb +8 -4
  317. data/tmpsets/set/mod001-01_core/all/name.rb +14 -14
  318. data/tmpsets/set/mod001-01_core/all/pattern.rb +1 -1
  319. data/tmpsets/set/mod001-01_core/all/permissions.rb +12 -12
  320. data/tmpsets/set/mod001-01_core/all/phases.rb +31 -13
  321. data/tmpsets/set/mod001-01_core/all/references.rb +14 -14
  322. data/tmpsets/set/mod001-01_core/all/rules.rb +8 -10
  323. data/tmpsets/set/mod001-01_core/all/templating.rb +10 -9
  324. data/tmpsets/set/mod001-01_core/all/tracked_attributes.rb +7 -7
  325. data/tmpsets/set/mod001-01_core/all/trash.rb +9 -8
  326. data/tmpsets/set/mod001-01_core/all/type.rb +7 -7
  327. data/tmpsets/set/mod001-01_core/all/utils.rb +16 -4
  328. data/tmpsets/set/mod001-01_core/all/view_cache.rb +1 -1
  329. data/tmpsets/set/mod002-01_history/all/actions.rb +2 -2
  330. data/tmpsets/set/mod002-01_history/all/content_history.rb +11 -7
  331. data/tmpsets/set/mod002-01_history/all/history.rb +46 -46
  332. data/tmpsets/set/mod003-02_basic_types/all/all_css.rb +10 -10
  333. data/tmpsets/set/mod003-02_basic_types/all/all_csv.rb +7 -7
  334. data/tmpsets/set/mod003-02_basic_types/all/base.rb +25 -25
  335. data/tmpsets/set/mod003-02_basic_types/all/json.rb +16 -16
  336. data/tmpsets/set/mod003-02_basic_types/all/rss.rb +7 -7
  337. data/tmpsets/set/mod003-02_basic_types/type/html.rb +2 -2
  338. data/tmpsets/set/mod003-02_basic_types/type/plain_text.rb +1 -1
  339. data/tmpsets/set/mod003-02_basic_types/type/pointer.rb +38 -31
  340. data/tmpsets/set/mod004-03_machines/right/machine_output.rb +4 -0
  341. data/tmpsets/set/mod004-03_machines/type/coffee_script.rb +3 -3
  342. data/tmpsets/set/mod004-03_machines/type/css.rb +8 -8
  343. data/tmpsets/set/mod004-03_machines/type/java_script.rb +4 -4
  344. data/tmpsets/set/mod004-03_machines/type/scss.rb +2 -2
  345. data/tmpsets/set/mod004-03_machines/type/skin.rb +1 -1
  346. data/tmpsets/set/mod005-04_settings/abstract/permission.rb +9 -9
  347. data/tmpsets/set/mod005-04_settings/right/script.rb +1 -1
  348. data/tmpsets/set/mod005-04_settings/right/structure.rb +0 -5
  349. data/tmpsets/set/mod005-04_settings/right/style.rb +2 -2
  350. data/tmpsets/set/mod005-04_settings/self/accountable.rb +1 -1
  351. data/tmpsets/set/mod005-04_settings/self/add_help.rb +1 -1
  352. data/tmpsets/set/mod005-04_settings/self/autoname.rb +1 -1
  353. data/tmpsets/set/mod005-04_settings/self/captcha.rb +1 -1
  354. data/tmpsets/set/mod005-04_settings/self/create.rb +1 -1
  355. data/tmpsets/set/mod005-04_settings/self/default.rb +1 -1
  356. data/tmpsets/set/mod005-04_settings/self/delete.rb +1 -1
  357. data/tmpsets/set/mod005-04_settings/self/help.rb +1 -1
  358. data/tmpsets/set/mod005-04_settings/self/input.rb +1 -1
  359. data/tmpsets/set/mod005-04_settings/self/layout.rb +1 -1
  360. data/tmpsets/set/mod005-04_settings/self/on_create.rb +1 -1
  361. data/tmpsets/set/mod005-04_settings/self/on_delete.rb +1 -1
  362. data/tmpsets/set/mod005-04_settings/self/on_update.rb +1 -1
  363. data/tmpsets/set/mod005-04_settings/self/options.rb +1 -1
  364. data/tmpsets/set/mod005-04_settings/self/options_label.rb +1 -1
  365. data/tmpsets/set/mod005-04_settings/self/read.rb +1 -1
  366. data/tmpsets/set/mod005-04_settings/self/script.rb +1 -1
  367. data/tmpsets/set/mod005-04_settings/self/structure.rb +1 -1
  368. data/tmpsets/set/mod005-04_settings/self/style.rb +1 -1
  369. data/tmpsets/set/mod005-04_settings/self/table_of_contents.rb +1 -1
  370. data/tmpsets/set/mod005-04_settings/self/thanks.rb +1 -1
  371. data/tmpsets/set/mod005-04_settings/self/update.rb +1 -1
  372. data/tmpsets/set/mod005-04_settings/type/setting.rb +14 -14
  373. data/tmpsets/set/mod006-05_email/all/follow.rb +24 -16
  374. data/tmpsets/set/mod006-05_email/all/notify.rb +25 -23
  375. data/tmpsets/set/mod006-05_email/all/observer.rb +8 -8
  376. data/tmpsets/set/mod006-05_email/right/bcc.rb +8 -8
  377. data/tmpsets/set/mod006-05_email/right/follow.rb +44 -17
  378. data/tmpsets/set/mod006-05_email/right/follow_fields.rb +1 -1
  379. data/tmpsets/set/mod006-05_email/right/following.rb +49 -40
  380. data/tmpsets/set/mod006-05_email/self/always.rb +2 -2
  381. data/tmpsets/set/mod006-05_email/self/created.rb +1 -1
  382. data/tmpsets/set/mod006-05_email/self/edited.rb +4 -4
  383. data/tmpsets/set/mod006-05_email/self/follow.rb +1 -1
  384. data/tmpsets/set/mod006-05_email/self/follow_defaults.rb +9 -9
  385. data/tmpsets/set/mod006-05_email/self/never.rb +1 -1
  386. data/tmpsets/set/mod006-05_email/type/email_template.rb +9 -9
  387. data/tmpsets/set/mod006-05_email/type_plus_right/user/follow.rb +17 -17
  388. data/tmpsets/set/mod007-05_standard/abstract/attachment.rb +98 -46
  389. data/tmpsets/set/mod007-05_standard/all/account.rb +5 -5
  390. data/tmpsets/set/mod007-05_standard/all/comment.rb +7 -7
  391. data/tmpsets/set/mod007-05_standard/all/error.rb +26 -26
  392. data/tmpsets/set/mod007-05_standard/all/event_viz.rb +1 -1
  393. data/tmpsets/set/mod007-05_standard/all/links.rb +10 -9
  394. data/tmpsets/set/mod007-05_standard/all/rich_html/content.rb +34 -34
  395. data/tmpsets/set/mod007-05_standard/all/rich_html/editing.rb +35 -35
  396. data/tmpsets/set/mod007-05_standard/all/rich_html/form.rb +20 -20
  397. data/tmpsets/set/mod007-05_standard/all/rich_html/header.rb +8 -8
  398. data/tmpsets/set/mod007-05_standard/all/rich_html/menu.rb +33 -33
  399. data/tmpsets/set/mod007-05_standard/all/rich_html/modal.rb +16 -16
  400. data/tmpsets/set/mod007-05_standard/all/rich_html/toolbar.rb +63 -63
  401. data/tmpsets/set/mod007-05_standard/all/rich_html/wrapper.rb +8 -8
  402. data/tmpsets/set/mod007-05_standard/right/account.rb +27 -27
  403. data/tmpsets/set/mod007-05_standard/right/email.rb +5 -5
  404. data/tmpsets/set/mod007-05_standard/right/password.rb +5 -5
  405. data/tmpsets/set/mod007-05_standard/rstar/rules.rb +52 -52
  406. data/tmpsets/set/mod007-05_standard/self/account_links.rb +27 -27
  407. data/tmpsets/set/mod007-05_standard/self/all.rb +1 -1
  408. data/tmpsets/set/mod007-05_standard/self/head.rb +5 -5
  409. data/tmpsets/set/mod007-05_standard/self/navbox.rb +11 -11
  410. data/tmpsets/set/mod007-05_standard/self/recent.rb +2 -2
  411. data/tmpsets/set/mod007-05_standard/self/search.rb +13 -13
  412. data/tmpsets/set/mod007-05_standard/self/signin.rb +19 -19
  413. data/tmpsets/set/mod007-05_standard/self/stats.rb +2 -2
  414. data/tmpsets/set/mod007-05_standard/type/basic.rb +1 -1
  415. data/tmpsets/set/mod007-05_standard/type/cardtype.rb +5 -5
  416. data/tmpsets/set/mod007-05_standard/type/date.rb +1 -1
  417. data/tmpsets/set/mod007-05_standard/type/file.rb +23 -8
  418. data/tmpsets/set/mod007-05_standard/type/image.rb +10 -8
  419. data/tmpsets/set/mod007-05_standard/type/number.rb +2 -2
  420. data/tmpsets/set/mod007-05_standard/type/phrase.rb +1 -1
  421. data/tmpsets/set/mod007-05_standard/type/search_type.rb +21 -19
  422. data/tmpsets/set/mod007-05_standard/type/session.rb +2 -2
  423. data/tmpsets/set/mod007-05_standard/type/set.rb +37 -37
  424. data/tmpsets/set/mod007-05_standard/type/signup.rb +25 -25
  425. data/tmpsets/set/mod007-05_standard/type/uri.rb +1 -1
  426. data/tmpsets/set/mod007-05_standard/type/user.rb +21 -21
  427. data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/helper.rb +10 -10
  428. data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/wrapper.rb +4 -4
  429. data/tmpsets/set/mod008-06_bootstrap/all/rich_bootstrap.rb +1 -1
  430. data/tmpsets/set_pattern/101-all_plus.rb +2 -2
  431. data/tmpsets/set_pattern/102-type.rb +1 -1
  432. data/tmpsets/set_pattern/103-star.rb +1 -1
  433. data/tmpsets/set_pattern/104-rstar.rb +2 -2
  434. data/tmpsets/set_pattern/105-right.rb +4 -4
  435. data/tmpsets/set_pattern/106-type_plus_right.rb +4 -4
  436. data/tmpsets/set_pattern/107-self.rb +1 -1
  437. metadata +7 -5
  438. data/lib/card/query/card_clause.rb +0 -528
  439. data/lib/card/query/ref_clause.rb +0 -47
  440. data/lib/card/query/value_clause.rb +0 -65
@@ -7,7 +7,7 @@ describe Card::Set::Right::Account do
7
7
  #note - much of this is tested in account_request_spec
8
8
  before do
9
9
  Card::Auth.as_bot do
10
- @user_card = Card.create! :name=>'TmpUser', :type_id=>Card::UserID, '+*account'=>{
10
+ @user_card = Card.create! name: 'TmpUser', type_id: Card::UserID, '+*account'=>{
11
11
  '+*email'=>'tmpuser@wagn.org', '+*password'=>'tmp_pass'
12
12
  }
13
13
  end
@@ -20,12 +20,12 @@ describe Card::Set::Right::Account do
20
20
  end
21
21
 
22
22
  it "should check accountability of 'accounted' card" do
23
- @unaccountable = Card.create :name=>'BasicUnaccountable', '+*account'=>{ '+*email'=>'tmpuser@wagn.org', '+*password'=>'tmp_pass' }
23
+ @unaccountable = Card.create name: 'BasicUnaccountable', '+*account'=>{ '+*email'=>'tmpuser@wagn.org', '+*password'=>'tmp_pass' }
24
24
  expect(@unaccountable.errors['+*account'].first).to eq('not allowed on this card')
25
25
  end
26
26
 
27
27
  it "should require email" do
28
- @no_email = Card.create :name=>'TmpUser', :type_id=>Card::UserID, '+*account'=>{ '+*password'=>'tmp_pass' }
28
+ @no_email = Card.create name: 'TmpUser', type_id: Card::UserID, '+*account'=>{ '+*password'=>'tmp_pass' }
29
29
  expect(@no_email.errors['+*account'].first).to match(/email required/)
30
30
  end
31
31
  end
@@ -87,12 +87,12 @@ describe Card::Set::Right::Account do
87
87
  end
88
88
 
89
89
  it 'should reset password' do
90
- @user_card.account.password_card.update_attributes!(:content => 'new password')
90
+ @user_card.account.password_card.update_attributes!(content: 'new password')
91
91
  assert_equal @user_card.id, Card::Auth.authenticate('joe@user.com', 'new password')
92
92
  end
93
93
 
94
94
  it 'should not rehash password when updating email' do
95
- @user_card.account.email_card.update_attributes!(:content => 'joe2@user.com')
95
+ @user_card.account.email_card.update_attributes!(content: 'joe2@user.com')
96
96
  assert_equal @user_card.id, Card::Auth.authenticate('joe2@user.com', 'joe_pass')
97
97
  end
98
98
  end
@@ -113,7 +113,7 @@ describe Card::Set::Right::Account do
113
113
  expect(@account.save).to eq(true)
114
114
  expect(Card::Auth.current_id).to eq(@account.left_id)
115
115
  @account = @account.refresh force=true
116
- expect(@account.fetch(:trait => :token)).to be_nil
116
+ expect(@account.fetch(trait: :token)).to be_nil
117
117
  expect(@account.save).to be_falsey
118
118
  end
119
119
 
@@ -145,11 +145,11 @@ describe Card::Set::Right::Account do
145
145
  context 'denied access' do
146
146
  it 'excludes protected subcards' do
147
147
  skip
148
- Card.create(:name=>"A+B+*self+*read", :type=>'Pointer', :content=>"[[u1]]")
149
- u2 = Card.fetch 'u2+*following', :new=>{:type=>'Pointer'}
148
+ Card.create(name: "A+B+*self+*read", type: 'Pointer', content: "[[u1]]")
149
+ u2 = Card.fetch 'u2+*following', new: {type: 'Pointer'}
150
150
  u2.add_item "A"
151
151
  a = Card.fetch "A"
152
- a.update_attributes( :content=> "new content", :subcards=>{'+B'=>{:content=>'hidden content'}})
152
+ a.update_attributes( content: "new content", subcards: {'+B'=>{content: 'hidden content'}})
153
153
  end
154
154
 
155
155
  it 'sends no email if changes not visible' do
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  describe Card::Set::Right::Email do
4
-
4
+
5
5
  context '<User>+*email' do
6
6
  before do
7
7
  @card = Card.fetch 'u1+*email'
@@ -25,30 +25,30 @@ describe Card::Set::Right::Email do
25
25
  expect(@format.render_raw).to match(/denied/)
26
26
  end
27
27
  end
28
-
28
+
29
29
  context "+*account+*email" do
30
30
  context 'update' do
31
31
  before :each do
32
32
  @email_card = email_card = Card['u1'].account.email_card
33
33
  end
34
-
34
+
35
35
  it 'should downcase email' do
36
36
  Card::Auth.as_bot do
37
- @email_card.update_attributes! :content=>'QuIrE@example.com'
37
+ @email_card.update_attributes! content: 'QuIrE@example.com'
38
38
  expect(@email_card.content).to eq('quire@example.com')
39
39
  end
40
40
  end
41
41
 
42
42
  it 'should require valid email' do
43
- @email_card.update_attributes :content=>'boop'
43
+ @email_card.update_attributes content: 'boop'
44
44
  expect(@email_card.errors[:content].first).to match(/must be valid address/)
45
45
  end
46
-
46
+
47
47
  it 'should require unique email' do
48
- @email_card.update_attributes :content=>'joe@user.com'
48
+ @email_card.update_attributes content: 'joe@user.com'
49
49
  expect(@email_card.errors[:content].first).to match(/must be unique/)
50
50
  end
51
-
51
+
52
52
  end
53
53
  end
54
54
 
@@ -5,22 +5,22 @@ describe Card::Set::Right::Password do
5
5
  before :each do
6
6
  @user_card = Card::Auth[ 'joe@user.com' ]
7
7
  end
8
-
8
+
9
9
  describe '#update_attributes' do
10
10
 
11
11
  it 'should encrypt password' do
12
- @user_card.account.password_card.update_attributes! :content => 'new password'
12
+ @user_card.account.password_card.update_attributes! content: 'new password'
13
13
  expect(@user_card.account.password).not_to eq('new password')
14
14
  assert_equal @user_card.id, Card::Auth.authenticate('joe@user.com', 'new password')
15
15
  end
16
16
 
17
17
  it 'should validate password' do
18
18
  password_card = @user_card.account.password_card
19
- password_card.update_attributes :content => '2b'
19
+ password_card.update_attributes content: '2b'
20
20
  expect(password_card.errors[:password]).not_to be_empty
21
-
21
+
22
22
  end
23
-
23
+
24
24
  context 'blank password' do
25
25
  it "shouldn't change the password" do
26
26
  acct = @user_card.account
@@ -31,15 +31,15 @@ describe Card::Set::Right::Password do
31
31
  pw_card.save
32
32
  expect(original_pw).to eq(pw_card.refresh(force=true).content)
33
33
  end
34
-
34
+
35
35
  it "shouldn't break email editing" do
36
- @user_card.account.update_attributes! :subcards=>{'+*password'=>'', '+*email'=>'joe2@user.com'}
36
+ @user_card.account.update_attributes! subcards: {'+*password'=>'', '+*email'=>'joe2@user.com'}
37
37
  expect(@user_card.account.email).to eq('joe2@user.com')
38
38
  expect(@user_card.account.password).not_to be_empty
39
39
  end
40
40
  end
41
41
  end
42
-
43
-
42
+
43
+
44
44
 
45
45
  end
@@ -5,7 +5,7 @@ describe Card::Set::Right::Stats do
5
5
  context "core view" do
6
6
  it 'should have a table' do
7
7
  Card::Auth.as_bot do
8
- @core = render_card :core, :name=>"A+*stats"
8
+ @core = render_card :core, name: "A+*stats"
9
9
  assert_view_select @core, 'table'
10
10
  end
11
11
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  describe Card::Set::Right::WhenCreated do
4
4
  it 'should produce a text date' do
5
- expect(render_card( :core, :name=>'A+*when created' )).to match(/\w+ \d+/)
5
+ expect(render_card( :core, name: 'A+*when created' )).to match(/\w+ \d+/)
6
6
  end
7
7
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  describe Card::Set::Right::WhenLastEdited do
4
4
  it 'should produce a text date' do
5
- expect(render_card( :core, :name=>'A+*when last edited' )).to match(/\w+ \d+/)
5
+ expect(render_card( :core, name: 'A+*when last edited' )).to match(/\w+ \d+/)
6
6
  end
7
7
  end
@@ -7,13 +7,13 @@ describe Card::Set::Rstar::Rules do
7
7
  expect(r).not_to match('No Card!')
8
8
  #warn "r = #{r}"
9
9
  assert_view_select r, 'table[class="set-rules table"]' do
10
- assert_select 'a[href~="/*read+*right+*read?view=open_rule"]', :text => 'read'
10
+ assert_select 'a[href~="/*read+*right+*read?view=open_rule"]', text: 'read'
11
11
  end
12
12
  end
13
13
 
14
14
  it "should render setting view for a *input rule" do
15
15
  Card::Auth.as_bot do
16
- r = Card.fetch('*read+*right+*input',:new=>{}).format.render_open_rule
16
+ r = Card.fetch('*read+*right+*input',new: {}).format.render_open_rule
17
17
  expect(r).not_to match(/error/i)
18
18
  expect(r).not_to match('No Card!')
19
19
  #warn "r = #{r}"
@@ -2,8 +2,8 @@
2
2
 
3
3
  describe Card::Set::Self::AccountLinks do
4
4
  it "has a 'my card' link" do
5
- assert_view_select render_card(:core, :name=>'*account links'), 'span[id="logging"]' do # 'ul[class="nav navbar-nav navbar-right"]'
6
- assert_select 'a[id="my-card-link"]', :text => 'Joe User'
5
+ assert_view_select render_card(:core, name: '*account links'), 'span[id="logging"]' do # 'ul[class="nav navbar-nav navbar-right"]'
6
+ assert_select 'a[id="my-card-link"]', text: 'Joe User'
7
7
  end
8
8
  end
9
9
  end
@@ -2,35 +2,33 @@
2
2
 
3
3
  describe Card::Set::Self::All do
4
4
  before do
5
-
6
5
  @all = Card[:all]
7
-
8
6
  end
9
-
7
+
10
8
  context '#update' do
11
9
  it 'should trigger empty trash (with right params)' do
12
10
  Card::Auth.as_bot do
13
11
  Card['A'].delete!
14
- expect(Card.where( :trash=>true )).not_to be_empty
12
+ expect(Card.where(trash: true)).not_to be_empty
15
13
  Card::Env.params[:task] = :empty_trash
16
14
  @all.update_attributes({})
17
- expect(Card.where( :trash=>true )).to be_empty
15
+ expect(Card.where(trash: true)).to be_empty
18
16
  end
19
17
  end
20
18
 
21
19
  it 'should trigger deleting old revisions (with right params)' do
22
20
  Card::Auth.as_bot do
23
21
  a = Card['A']
24
- a.update_attributes! :content=>'a new day'
25
- a.update_attributes! :content=>'another day'
22
+ a.update_attributes! content: 'a new day'
23
+ a.update_attributes! content: 'another day'
26
24
  expect(a.actions.count).to eq(3)
27
25
  Card::Env.params[:task] = :delete_old_revisions
28
26
  @all.update_attributes({})
29
- expect(a.actions.count).to eq(1)
27
+ expect(a.actions.count).to eq(1)
30
28
  end
31
29
  end
32
30
 
33
- =begin
31
+ =begin
34
32
  it 'should be trigger reference repair' do
35
33
  Card::Auth.as_bot do
36
34
  a = Card['A']
@@ -39,10 +37,9 @@ describe Card::Set::Self::All do
39
37
  puts a.references_to.count
40
38
  @all.update_attributes({})
41
39
  puts a.references_to.count
42
-
40
+
43
41
  end
44
42
  end
45
43
  =end
46
-
47
44
  end
48
45
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  describe Card::Set::Self::Head do
4
4
  it "should have a javascript tag" do
5
- assert_view_select render_card(:raw, :name=>'*head'), 'script[type="text/javascript"]'
5
+ assert_view_select render_card(:raw, name: '*head'), 'script[type="text/javascript"]'
6
6
  end
7
7
 
8
8
  context 'tinyMCE config' do
@@ -2,6 +2,6 @@
2
2
 
3
3
  describe Card::Set::Self::Navbox do
4
4
  it "should have a form" do
5
- assert_view_select render_card(:core, :name=>'*navbox'), 'form.navbox-form input.navbox'
5
+ assert_view_select render_card(:core, name: '*navbox'), 'form.navbox-form input.navbox'
6
6
  end
7
7
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  describe Card::Set::Self::Now do
4
4
  it "should have a date" do
5
- expect(render_card(:raw, :name=>'*now').match(/\w+day, \w+ \d+, \d{4}/ )).not_to be_nil
5
+ expect(render_card(:raw, name: '*now').match(/\w+day, \w+ \d+, \d{4}/ )).not_to be_nil
6
6
  end
7
7
  end
@@ -3,7 +3,7 @@
3
3
  describe Card::Set::Self::Stats do
4
4
  before do
5
5
  Card::Auth.as_bot do
6
- @core = render_card :core, :name=>:stats
6
+ @core = render_card :core, name: :stats
7
7
  end
8
8
  end
9
9
  it "should render a table" do
@@ -2,6 +2,6 @@
2
2
 
3
3
  describe Card::Set::Self::Version do
4
4
  it "should have an X.X.X version" do
5
- expect(render_card(:raw, :name=>'*version') =~ (/\d\.\d+\.\w+/ )).to be_truthy
5
+ expect(render_card(:raw, name: '*version') =~ (/\d\.\d+\.\w+/ )).to be_truthy
6
6
  end
7
7
  end
@@ -14,13 +14,13 @@ describe Card::Set::Type::EmailTemplate do
14
14
  end
15
15
 
16
16
  def create_field name, args={}
17
- Card.create! args.merge(:name=>"#{email_name}+#{name}")
17
+ Card.create! args.merge(name: "#{email_name}+#{name}")
18
18
  end
19
19
 
20
20
  before do
21
21
  Card::Auth.current_id = Card::WagnBotID
22
22
  chunk_test = "Url(wagn.org) Link([[http://wagn.org|Wagn]]) Inclusion({{B|name}}) Card link([[A]])"
23
- Card.create! :name => email_name, :type=>:email_template, :subcards=>{
23
+ Card.create! name: email_name, type: :email_template, subcards: {
24
24
  "+*to" => "joe@user.com",
25
25
  "+*from" => "from@user.com",
26
26
  "+*subject" => "*subject #{chunk_test}",
@@ -31,7 +31,7 @@ describe Card::Set::Type::EmailTemplate do
31
31
 
32
32
  describe "mail view" do
33
33
  let(:content_type) do
34
- card = Card.create!(:name => 'content type test', :type=>:email_template, :subcards=>@fields)
34
+ card = Card.create!(name: 'content type test', type: :email_template, subcards: @fields)
35
35
  email = card.format.render_mail
36
36
  email[:content_type].value
37
37
  end
@@ -66,34 +66,34 @@ describe Card::Set::Type::EmailTemplate do
66
66
  end
67
67
 
68
68
  it 'handles pointer values' do
69
- create_field '*cc', :content => "[[joe@user.com]]", :type=>'Pointer'
69
+ create_field '*cc', content: "[[joe@user.com]]", type: 'Pointer'
70
70
  expect( mailconfig[:cc] ).to eq 'joe@user.com'
71
71
  end
72
72
 
73
73
 
74
74
  #it 'handles email syntax in pointer values' do
75
- # create_field '*cc', :content => "[[Joe User <joe@user.com>]]", :type=>'Pointer'
75
+ # create_field '*cc', content: "[[Joe User <joe@user.com>]]", type: 'Pointer'
76
76
  # expect( mailconfig[:cc] ).to eq 'Joe User <joe@user.com>'
77
77
  #end
78
78
 
79
79
  it 'handles link to email card' do
80
- create_field '*cc', :content => "[[Joe User+*email]]", :type=>'Pointer'
80
+ create_field '*cc', content: "[[Joe User+*email]]", type: 'Pointer'
81
81
  expect( mailconfig[:cc] ).to eq 'joe@user.com'
82
82
  end
83
83
 
84
84
  # it 'handles link with valid email address' do
85
- # create_field '*cc', :content => "[[joe@admin.com|Joe]]", :type=>'Phrase'
85
+ # create_field '*cc', content: "[[joe@admin.com|Joe]]", type: 'Phrase'
86
86
  # expect( mailconfig[:cc] ).to eq 'Joe<joe@user.com>'
87
87
  # end
88
88
 
89
89
  it 'handles search card' do
90
- create_field '*bcc', :content => '{"name":"Joe Admin","append":"*email"}', :type=>'Search'
90
+ create_field '*bcc', content: '{"name":"Joe Admin","append":"*email"}', type: 'Search'
91
91
  expect( mailconfig[:bcc] ).to eq 'joe@admin.com'
92
92
  end
93
93
 
94
94
  # it 'handles invalid email address' do #TODO not obvious how to deal with that.
95
95
  # we can't decided whether a email address like [[_left]] is valid; depends on the context
96
- # Card.fetch("a mail template+*to").update_attributes(:content=>"invalid mail address")
96
+ # Card.fetch("a mail template+*to").update_attributes(content: "invalid mail address")
97
97
  # end
98
98
  end
99
99
 
@@ -159,46 +159,46 @@ describe Card::Set::Type::EmailTemplate do
159
159
  context 'with context card' do
160
160
  let(:context_card) do
161
161
  Card.create(
162
- :name => "Banana",
163
- :content => "data content [[A]]",
164
- :subcards=> {
165
- '+email' => {:content=>'gary@gary.com'},
166
- '+subject' => {:type=>'Pointer', :content=>'[[default subject]]'},
167
- '+attachment' => {:type=>'File', :content=>"notreally.txt" }
162
+ name: "Banana",
163
+ content: "data content [[A]]",
164
+ subcards: {
165
+ '+email' => {content: 'gary@gary.com'},
166
+ '+subject' => {type: 'Pointer', content: '[[default subject]]'},
167
+ '+attachment' => {type: 'File', content: "notreally.txt" }
168
168
  }
169
169
  )
170
170
  end
171
171
  subject { mailconfig( context: context_card ) }
172
172
 
173
173
  it 'handles contextual name in address search' do
174
- update_field '*from', :content => '{"left":"_self", "right":"email"}', :type=>'Search'
175
- update_field '*from', :content => '{"left":"_self", "right":"email"}' #FIXME: have to do this twice to get the right content.
174
+ update_field '*from', content: '{"left":"_self", "right":"email"}', type: 'Search'
175
+ update_field '*from', content: '{"left":"_self", "right":"email"}' #FIXME: have to do this twice to get the right content.
176
176
  # After the first update the content is empty
177
177
  expect(subject[:from]).to eq "gary@gary.com"
178
178
  end
179
179
 
180
180
  it 'handles contextual names and structure rules in subject' do
181
- Card.create! :name => 'default subject', :content=>'a very nutty thang', :type=>'Phrase'
182
- Card.create! :name => "subject search+*right+*structure", :content => %{{"referred_to_by":"_left+subject"}}, :type=>'Search'
183
- update_field '*subject', :content => "{{+subject search|core;item:core}}"
181
+ Card.create! name: 'default subject', content: 'a very nutty thang', type: 'Phrase'
182
+ Card.create! name: "subject search+*right+*structure", content: %{{"referred_to_by":"_left+subject"}}, type: 'Search'
183
+ update_field '*subject', content: "{{+subject search|core;item:core}}"
184
184
  expect(subject[:subject]).to eq("a very nutty thang")
185
185
  end
186
186
 
187
187
  it 'handles _self in html message' do
188
- update_field '*html message', :content => "Triggered by {{_self|name}}"
188
+ update_field '*html message', content: "Triggered by {{_self|name}}"
189
189
  expect(subject[:html_message]).to include("Triggered by Banana")
190
190
  end
191
191
 
192
192
  it 'handles _left in html message' do
193
- update_field '*html_message', :content => "Nobody expects {{_left+surprise|core}}"
194
- Card.create :name=>'Banana+surprise', :content=>"the Spanish Inquisition"
195
- c = Card.create :name => "Banana+emailtest", :content => "data content"
193
+ update_field '*html_message', content: "Nobody expects {{_left+surprise|core}}"
194
+ Card.create name: 'Banana+surprise', content: "the Spanish Inquisition"
195
+ c = Card.create name: "Banana+emailtest", content: "data content"
196
196
  expect( mailconfig( context: c )[:html_message] ).to include 'Nobody expects the Spanish Inquisition'
197
197
 
198
198
  end
199
199
 
200
200
  it 'handles contextual name for attachments' do
201
- create_field '*attach', :type=>"Pointer", :content => "[[_self+attachment]]"
201
+ create_field '*attach', type: "Pointer", content: "[[_self+attachment]]"
202
202
  expect(subject[:attach]).to eq ['Banana+attachment'.to_name]
203
203
  end
204
204
  end
@@ -5,7 +5,7 @@ describe Card::Set::Type::File do
5
5
  context "new file card" do
6
6
  before do
7
7
  Card::Auth.as_bot do
8
- Card.create :name => "file card", :type_code=>'file', :file=>File.new( File.join FIXTURES_PATH, 'file1.txt' )
8
+ Card.create name: "file card", type_code: 'file', file: File.new( File.join FIXTURES_PATH, 'file1.txt' )
9
9
  end
10
10
  end
11
11
  subject { Card['file card'] }
@@ -43,7 +43,7 @@ describe Card::Set::Type::File do
43
43
 
44
44
  context "updated file card" do
45
45
  before do
46
- subject.update_attributes! :file=>File.new( File.join FIXTURES_PATH, 'file2.txt' )
46
+ subject.update_attributes! file: File.new( File.join FIXTURES_PATH, 'file2.txt' )
47
47
  end
48
48
  it "updates file" do
49
49
  expect(subject.file.read.strip).to eq "file2"
@@ -60,7 +60,7 @@ describe Card::Set::Type::File do
60
60
 
61
61
  context 'subcards' do
62
62
  it 'handles file subcards' do
63
- Card.create! :name=>'new card with file', :subcards=>{'+my file'=>{:content=>'ignore content', :type_id=>Card::FileID, :file=> File.open(File.join(FIXTURES_PATH, 'file1.txt'))}}
63
+ Card.create! name: 'new card with file', subcards: {'+my file'=>{content: 'ignore content', type_id: Card::FileID, file: File.open(File.join(FIXTURES_PATH, 'file1.txt'))}}
64
64
  expect(Card['new card with file+my file'].file.file.read.strip).to eq 'file1'
65
65
  end
66
66
 
@@ -69,7 +69,7 @@ describe Card::Set::Type::File do
69
69
 
70
70
  it 'handles urls' do
71
71
  url = 'http://wagn.org/files/bruce_logo-large-122798.png'
72
- Card.create! :name=>'url test', :type_id=>Card::FileID, :remote_file_url=> url
72
+ Card.create! name: 'url test', type_id: Card::FileID, remote_file_url: url
73
73
  expect(Card['url test'].file.size).to be > 0
74
74
  expect(Card['url test'].file.url).to match /\.png$/
75
75
  end