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
@@ -24,19 +24,19 @@ ReadRuleSQL = %{
24
24
  end
25
25
 
26
26
  def is_standard_rule?
27
- (r = right( :skip_modules=>true )) &&
27
+ (r = right( skip_modules: true )) &&
28
28
  r.type_id == Card::SettingID &&
29
- (l = left( :skip_modules=>true )) &&
29
+ (l = left( skip_modules: true )) &&
30
30
  l.type_id == Card::SetID
31
31
  end
32
32
 
33
33
  def is_user_rule?
34
34
  cardname.parts.length > 2 &&
35
- (r = right( :skip_modules=>true )) &&
35
+ (r = right( skip_modules: true )) &&
36
36
  r.type_id == Card::SettingID &&
37
- (set = self[0..-3, :skip_modules=>true]) &&
37
+ (set = self[0..-3, skip_modules: true]) &&
38
38
  set.type_id == Card::SetID &&
39
- (user = self[-2, :skip_modules=>true] ) &&
39
+ (user = self[-2, skip_modules: true] ) &&
40
40
  (user.type_id == Card::UserID || user.codename == 'all' )
41
41
  end
42
42
 
@@ -78,7 +78,7 @@ def related_sets with_self = false
78
78
  sets << ["#{name}+*self", Card::SelfSet.label( name) ] if with_self
79
79
  sets << ["#{name}+*right", Card::RightSet.label(name) ] if known? && cardname.simple?
80
80
 
81
- # Card.search(:type=>'Set',:left=>{:right=>name},:right=>'*type plus right',:return=>'name').each do |set_name|
81
+ # Card.search(type: 'Set',left: {right: name},right: '*type plus right',return: 'name').each do |set_name|
82
82
  # sets<< set_name
83
83
  # end
84
84
  sets
@@ -183,7 +183,7 @@ module ClassMethods
183
183
  end
184
184
  user_ids = user_ids_cache[key] || []
185
185
  if user_ids.include? AllID # rule for all -> return all user ids
186
- Card.where(:type_id=>UserID).pluck(:id)
186
+ Card.where(type_id: UserID).pluck(:id)
187
187
  else
188
188
  user_ids
189
189
  end
@@ -191,7 +191,7 @@ module ClassMethods
191
191
  end
192
192
 
193
193
  def user_rule_cards user_name, setting_code
194
- Card.search :right=>{:codename=>setting_code}, :left=>{:left=>{:type_id=>SetID}, :right=>user_name}
194
+ Card.search right: {codename: setting_code}, left: {left: {type_id: SetID}, right: user_name}
195
195
  end
196
196
 
197
197
  def rule_cache
@@ -15,7 +15,7 @@ def template
15
15
 
16
16
  # NEW CARDS
17
17
  if new_card?
18
- default = rule_card :default, :skip_modules=>true
18
+ default = rule_card :default, skip_modules: true
19
19
 
20
20
  dup_card = dup
21
21
  dup_card.type_id = default ? default.type_id : Card.default_type_id
@@ -55,14 +55,14 @@ def virtual?
55
55
  end
56
56
 
57
57
  def structure_rule_card
58
- card = rule_card :structure, :skip_modules=>true
58
+ card = rule_card :structure, skip_modules: true
59
59
  card && card.db_content.strip == '_self' ? nil : card
60
60
  end
61
61
 
62
62
  def structuree_names
63
63
  if wql = structuree_spec
64
64
  Auth.as_bot do
65
- Card::Query.new(wql.merge :return=>:name).run
65
+ Card::Query.run(wql.merge return: :name)
66
66
  end
67
67
  else
68
68
  []
@@ -75,7 +75,7 @@ end
75
75
  # I'll leave the FIXME here until the need (and/or other solution) is well documented. -efm
76
76
 
77
77
  def expire_structuree_references
78
- update_structurees :references_expired => 1
78
+ update_structurees references_expired: 1
79
79
  end
80
80
 
81
81
  def update_structurees args
@@ -84,8 +84,9 @@ def update_structurees args
84
84
  # by a +*type plus right+*structure rule, the override would not be respected.
85
85
  if query = structuree_spec
86
86
  Auth.as_bot do
87
- Card::Query.new( query.merge(:return => :id) ).run.each_slice(100) do |id_batch|
88
- Card.where( :id => id_batch ).update_all args
87
+ query[:return] = :id
88
+ Card::Query.run(query).each_slice(100) do |id_batch|
89
+ Card.where( id: id_batch ).update_all args
89
90
  end
90
91
  end
91
92
  end
@@ -96,7 +97,7 @@ def assigns_type?
96
97
  # for example, X+*type+*structure governs all cards of type X,
97
98
  # but the content rule does not (in fact cannot) have the type X.
98
99
  if is_structure?
99
- if set_pattern = Card.fetch( cardname.trunk_name.tag_name, :skip_modules=>true )
100
+ if set_pattern = Card.fetch( cardname.trunk_name.tag_name, skip_modules: true )
100
101
  pattern_code = set_pattern.codename and
101
102
  set_class = Card::SetPattern.find( pattern_code ) and
102
103
  set_class.assigns_type
@@ -119,8 +120,8 @@ def structuree_spec
119
120
  end
120
121
  end
121
122
 
122
- event :update_structurees_type, :after=>:store, :changed=>:type_id do
123
+ event :update_structurees_type, after: :store, changed: :type_id do
123
124
  if assigns_type? # certain *structure templates
124
- update_structurees :type_id => type_id
125
+ update_structurees type_id: type_id
125
126
  end
126
127
  end
@@ -42,7 +42,7 @@ end
42
42
 
43
43
  protected
44
44
 
45
- event :set_content, :before=>:store, :on=>:save do
45
+ event :set_content, before: :store, on: :save do
46
46
  self.db_content = content || '' #necessary?
47
47
  self.db_content = Card::Content.clean! self.db_content if clean_html?
48
48
  @selected_action_id = @selected_content = nil
@@ -53,7 +53,7 @@ end
53
53
 
54
54
  #fixme - the following don't really belong here, but they have to come after the reference stuff. we need to organize a bit!
55
55
 
56
- event :update_ruled_cards, :after=>:store do
56
+ event :update_ruled_cards, after: :store do
57
57
  if is_rule?
58
58
  # warn "updating ruled cards for #{name}"
59
59
  self.class.clear_rule_cache
@@ -76,7 +76,7 @@ event :update_ruled_cards, :after=>:store do
76
76
  Auth.as_bot do
77
77
  cur_index = rule_class_ids.index Card[read_rule_class].id
78
78
  if rule_class_index = rule_class_ids.index( class_id )
79
- set.item_cards(:limit=>0).each do |item_card|
79
+ set.item_cards(limit: 0).each do |item_card|
80
80
  in_set[item_card.key] = true
81
81
  next if cur_index < rule_class_index
82
82
  if cur_index >= rule_class_index
@@ -96,7 +96,7 @@ event :update_ruled_cards, :after=>:store do
96
96
 
97
97
  #then find all cards with me as read_rule_id that were not just updated and regenerate their read_rules
98
98
  if !new_record?
99
- Card.where( :read_rule_id=>self.id, :trash=>false ).reject do |w|
99
+ Card.where( read_rule_id: self.id, trash: false ).reject do |w|
100
100
  in_set[ w.key ]
101
101
  end.each &:update_read_rule
102
102
  end
@@ -105,14 +105,14 @@ event :update_ruled_cards, :after=>:store do
105
105
  end
106
106
  end
107
107
 
108
- event :process_read_rule_update_queue, :after=>:store do
108
+ event :process_read_rule_update_queue, after: :store do
109
109
  Array.wrap(@read_rule_update_queue).each { |card| card.update_read_rule }
110
110
  @read_rule_update_queue = []
111
111
  end
112
112
 
113
- # set_callback :store, :after, :process_read_rule_update_queue, :prepend=>true
113
+ # set_callback :store, :after, :process_read_rule_update_queue, prepend: true
114
114
 
115
- event :expire_related, :after=>:store do
115
+ event :expire_related, after: :store do
116
116
  self.expire
117
117
 
118
118
  if self.is_structure?
@@ -1,15 +1,15 @@
1
1
  def delete
2
- update_attributes :trash => true unless new_card?
2
+ update_attributes trash: true unless new_card?
3
3
  end
4
4
 
5
5
  def delete!
6
- update_attributes! :trash => true unless new_card?
6
+ update_attributes! trash: true unless new_card?
7
7
  end
8
8
 
9
9
 
10
- event :pull_from_trash, :before=>:store, :on=>:create do
10
+ event :pull_from_trash, before: :store, on: :create do
11
11
  if trashed_card = Card.find_by_key_and_trash(key, true)
12
- # a. (Rails way) tried Card.where(:key=>'wagn_bot').select(:id), but it wouldn't work. This #select
12
+ # a. (Rails way) tried Card.where(key: 'wagn_bot').select(:id), but it wouldn't work. This #select
13
13
  # generally breaks on cards. I think our initialization process screws with something
14
14
  # b. (Wagn way) we could get card directly from fetch if we add :include_trashed (eg).
15
15
  # likely low ROI, but would be nice to have interface to retrieve cards from trash...
@@ -21,7 +21,7 @@ event :pull_from_trash, :before=>:store, :on=>:create do
21
21
  true
22
22
  end
23
23
 
24
- event :validate_delete, :before=>:approve, :on=>:delete do
24
+ event :validate_delete, before: :approve, on: :delete do
25
25
  if !codename.blank?
26
26
  errors.add :delete, "#{name} is is a system card. (#{codename})"
27
27
  end
@@ -36,7 +36,7 @@ event :validate_delete, :before=>:approve, :on=>:delete do
36
36
  end
37
37
  end
38
38
 
39
- event :validate_delete_children, :after=>:approve, :on=>:delete do
39
+ event :validate_delete_children, after: :approve, on: :delete do
40
40
  children.each do |child|
41
41
  child.supercard = self
42
42
  subcards[child.name]=child
@@ -1,13 +1,13 @@
1
1
 
2
2
  module ClassMethods
3
3
  def default_type_id
4
- @@default_type_id ||= Card[:all].fetch( :trait=>:default ).type_id
4
+ @@default_type_id ||= Card[:all].fetch( trait: :default ).type_id
5
5
  end
6
6
  end
7
7
 
8
8
  def type_card
9
9
  return if type_id.nil?
10
- Card.fetch type_id.to_i, :skip_modules=>true
10
+ Card.fetch type_id.to_i, skip_modules: true
11
11
  end
12
12
 
13
13
  def type_code
@@ -54,13 +54,13 @@ def get_type_id args={}
54
54
  end
55
55
 
56
56
 
57
- event :validate_type_change, :before=>:approve, :on=>:update, :changed=>:type_id do
57
+ event :validate_type_change, before: :approve, on: :update, changed: :type_id do
58
58
  if c = dup and c.action == :create and !c.valid?
59
59
  errors.add :type, "of #{ name } can't be changed; errors creating new #{ type_id }: #{ c.errors.full_messages * ', ' }"
60
60
  end
61
61
  end
62
62
 
63
- event :validate_type, :before=>:approve, :changed=>:type_id do
63
+ event :validate_type, before: :approve, changed: :type_id do
64
64
  if !type_name
65
65
  errors.add :type, "No such type"
66
66
  end
@@ -70,15 +70,15 @@ event :validate_type, :before=>:approve, :changed=>:type_id do
70
70
  end
71
71
  end
72
72
 
73
- event :reset_type_specific_fields, :after=>:store do
73
+ event :reset_type_specific_fields, after: :store do
74
74
  Auth.as_bot do
75
- Card.search :left=>{ :left_id=>type_id }, :right=>{:codename=>'type_plus_right'} do |set_card|
75
+ Card.search left: { left_id: type_id }, right: {codename: 'type_plus_right'} do |set_card|
76
76
  set_card.reset_set_patterns
77
77
  end
78
78
  end
79
79
  end
80
80
 
81
- # Card.search :left_plus=>[ type_name, :right_plus=>{:codename=>'type_plus_right'}] do |right_anchor|
81
+ # Card.search left_plus: [ type_name, right_plus: {codename: 'type_plus_right'}] do |right_anchor|
82
82
  # Card["#{lef}"]
83
83
  # set_card.reset_set_patterns
84
84
  # end
@@ -3,7 +3,7 @@ module ClassMethods
3
3
 
4
4
  def empty_trash
5
5
  Card.delete_trashed_files
6
- Card.where(:trash=>true).delete_all
6
+ Card.where(trash: true).delete_all
7
7
  Card::Action.delete_cardless
8
8
  Card::Reference.repair_missing_referees
9
9
  Card::Reference.delete_missing_referers
@@ -18,7 +18,7 @@ module ClassMethods
18
18
  file_ids.each do |file_id|
19
19
  if trashed_card_ids.member?(file_id)
20
20
  raise Card::Error, "Narrowly averted deleting current file" if Card.exists?(file_id) #double check!
21
- FileUtils.rm_rf "#{dir}/#{file_id}", :secure => true
21
+ FileUtils.rm_rf "#{dir}/#{file_id}", secure: true
22
22
  end
23
23
  end
24
24
  end
@@ -64,7 +64,7 @@ module ClassMethods
64
64
 
65
65
  def merge name, attribs={}, opts={}
66
66
  puts "merging #{ name }"
67
- card = fetch name, :new=>{}
67
+ card = fetch name, new: {}
68
68
 
69
69
  if opts[:pristine] && !card.pristine?
70
70
  false
@@ -134,7 +134,7 @@ format :html do
134
134
  accordions << accordion(title, content, "#{collapse_id}-#{index}")
135
135
  index += 1
136
136
  end
137
- content_tag :div, accordions.html_safe, :class=>"panel-group", :id=>"accordion-#{collapse_id}", :role=>"tablist", 'aria-multiselectable'=>"true"
137
+ content_tag :div, accordions.html_safe, class: "panel-group", id: "accordion-#{collapse_id}", role: "tablist", 'aria-multiselectable'=>"true"
138
138
  end
139
139
 
140
140
  def accordion title, content, collapse_id=card.cardname.safe_key
@@ -1,4 +1,4 @@
1
- event :clear_view_cache, :after=>:store do
1
+ event :clear_view_cache, after: :store do
2
2
  Card::ViewCache.reset
3
3
  end
4
4
 
@@ -1,11 +1,11 @@
1
- @@options = { :junction_only => true }
1
+ @@options = { junction_only: true }
2
2
 
3
3
  def label name
4
4
  'All "+" cards'
5
5
  end
6
6
 
7
7
  def prototype_args anchor
8
- { :name=>'+' }
8
+ { name: '+' }
9
9
  end
10
10
 
11
11
  def follow_label name
@@ -3,7 +3,7 @@ def label name
3
3
  end
4
4
 
5
5
  def prototype_args anchor
6
- { :type=>anchor }
6
+ { type: anchor }
7
7
  end
8
8
 
9
9
  def pattern_applies? card
@@ -3,7 +3,7 @@ def label name
3
3
  end
4
4
 
5
5
  def prototype_args anchor
6
- { :name=>'*dummy' }
6
+ { name: '*dummy' }
7
7
  end
8
8
 
9
9
  def pattern_applies? card
@@ -1,11 +1,11 @@
1
- @@options = { :junction_only => true }
1
+ @@options = { junction_only: true }
2
2
 
3
3
  def label name
4
4
  'All "+*" cards'
5
5
  end
6
6
 
7
7
  def prototype_args anchor
8
- { :name=>'*dummy+*dummy' }
8
+ { name: '*dummy+*dummy' }
9
9
  end
10
10
 
11
11
  def pattern_applies? card
@@ -1,6 +1,6 @@
1
- @@options = {
2
- :junction_only => true,
3
- :assigns_type=>true
1
+ @@options = {
2
+ junction_only: true,
3
+ assigns_type: true
4
4
  }
5
5
 
6
6
  def label name
@@ -8,7 +8,7 @@ def label name
8
8
  end
9
9
 
10
10
  def prototype_args anchor
11
- { :name=>"*dummy+#{anchor}" }
11
+ { name: "*dummy+#{anchor}" }
12
12
  end
13
13
 
14
14
  def anchor_name card
@@ -1,7 +1,7 @@
1
1
  @@options = {
2
- :junction_only=>true,
3
- :assigns_type=>true,
4
- :anchor_parts_count=>2
2
+ junction_only: true,
3
+ assigns_type: true,
4
+ anchor_parts_count: 2
5
5
  }
6
6
 
7
7
  def label name
@@ -9,7 +9,7 @@ def label name
9
9
  end
10
10
 
11
11
  def prototype_args anchor
12
- { :name=>"+#{anchor.tag}", :supercard=>Card.new( :name=>'*dummy', :type=>anchor.trunk_name ) }
12
+ { name: "+#{anchor.tag}", supercard: Card.new( name: '*dummy', type: anchor.trunk_name ) }
13
13
  end
14
14
 
15
15
  def anchor_name card
@@ -3,7 +3,7 @@ def label name
3
3
  end
4
4
 
5
5
  def prototype_args anchor
6
- { :name=>anchor }
6
+ { name: anchor }
7
7
  end
8
8
 
9
9
  def anchor_name card
@@ -10,128 +10,128 @@ describe Card::Chunk::URI, "URI chunk tests" do
10
10
  it "should test_simple_uri" do
11
11
  # Simplest case
12
12
  match_chunk(Card::Chunk::URI, 'http://www.example.com',
13
- :scheme =>'http', :host =>'www.example.com', :path => '',
14
- :link_text => 'http://www.example.com'
13
+ scheme: 'http', host: 'www.example.com', path: '',
14
+ link_text: 'http://www.example.com'
15
15
  )
16
16
  end
17
17
  it "should work with trailing slash" do
18
18
  match_chunk(Card::Chunk::URI, 'http://www.example.com/',
19
- :scheme =>'http', :host =>'www.example.com', :path => '/',
20
- :link_text => 'http://www.example.com/'
19
+ scheme: 'http', host: 'www.example.com', path: '/',
20
+ link_text: 'http://www.example.com/'
21
21
  )
22
22
  end
23
23
  it "should work with trailing slash inside html tags" do
24
24
  match_chunk(Card::Chunk::URI, '<p>http://www.example.com/</p>',
25
- :scheme =>'http', :host =>'www.example.com', :path => '/',
26
- :link_text => 'http://www.example.com/'
25
+ scheme: 'http', host: 'www.example.com', path: '/',
26
+ link_text: 'http://www.example.com/'
27
27
  )
28
28
  end
29
29
  it "should work with trailing period (no longer suppressed .. spec?)" do
30
30
  match_chunk(Card::Chunk::URI, 'http://www.example.com/. ',
31
- :scheme =>'http', :host =>'www.example.com', :path => '/',
32
- :link_text => 'http://www.example.com/'
31
+ scheme: 'http', host: 'www.example.com', path: '/',
32
+ link_text: 'http://www.example.com/'
33
33
  )
34
34
  end
35
35
  it "should work with trailing period inside html tags (dot change?)" do
36
36
  match_chunk(Card::Chunk::URI, '<p>http://www.example.com/.</p>',
37
- :scheme =>'http', :host =>'www.example.com', :path => '/',
38
- :link_text => 'http://www.example.com/'
37
+ scheme: 'http', host: 'www.example.com', path: '/',
38
+ link_text: 'http://www.example.com/'
39
39
  )
40
40
  end
41
41
  it "should work with trailing &nbsp;" do
42
42
  match_chunk(Card::Chunk::URI, 'http://www.example.com/&nbsp;',
43
- :scheme =>'http', :host =>'www.example.com', :path => '/',
44
- :link_text => 'http://www.example.com/'
43
+ scheme: 'http', host: 'www.example.com', path: '/',
44
+ link_text: 'http://www.example.com/'
45
45
  )
46
46
  end
47
47
  it "should work without http://" do
48
48
  match_chunk(Card::Chunk::URI, 'www.example.com',
49
- :scheme =>'http', :host =>'www.example.com', :text => 'www.example.com', :link_text => 'http://www.example.com'
49
+ scheme: 'http', host: 'www.example.com', text: 'www.example.com', link_text: 'http://www.example.com'
50
50
  )
51
51
  match_chunk(Card::Chunk::URI, 'example.com',
52
- :scheme =>'http',:host =>'example.com', :text => 'example.com', :link_text => 'http://example.com'
52
+ scheme: 'http',host: 'example.com', text: 'example.com', link_text: 'http://example.com'
53
53
  )
54
54
  end
55
55
  it "should match \"unusual\" base domain (was a bug in an early version)" do
56
56
  match_chunk(Card::Chunk::URI, 'http://example.com.au/',
57
- :scheme =>'http', :host =>'example.com.au', :link_text => 'http://example.com.au/'
57
+ scheme: 'http', host: 'example.com.au', link_text: 'http://example.com.au/'
58
58
  )
59
59
  end
60
60
  it 'should work with "unusual" base domain without http://' do
61
61
  match_chunk(Card::Chunk::URI, 'example.com.au',
62
- :scheme =>'http', :host =>'example.com.au', :text => 'example.com.au', :link_text => 'http://example.com.au'
62
+ scheme: 'http', host: 'example.com.au', text: 'example.com.au', link_text: 'http://example.com.au'
63
63
  )
64
64
  end
65
65
  it 'should work with another "unusual" base domain' do
66
66
  match_chunk(Card::Chunk::URI, 'http://www.example.co.uk/',
67
- :scheme =>'http', :host =>'www.example.co.uk',
68
- :link_text => 'http://www.example.co.uk/'
67
+ scheme: 'http', host: 'www.example.co.uk',
68
+ link_text: 'http://www.example.co.uk/'
69
69
  )
70
70
  match_chunk(Card::Chunk::URI, 'example.co.uk',
71
- :scheme =>'http', :host =>'example.co.uk', :link_text => 'http://example.co.uk', :text => 'example.co.uk'
71
+ scheme: 'http', host: 'example.co.uk', link_text: 'http://example.co.uk', text: 'example.co.uk'
72
72
  )
73
73
  end
74
74
  it "should work with some path at the end" do
75
75
  match_chunk(Card::Chunk::URI, 'http://moinmoin.wikiwikiweb.de/HelpOnNavigation',
76
- :scheme => 'http', :host => 'moinmoin.wikiwikiweb.de', :path => '/HelpOnNavigation',
77
- :link_text => 'http://moinmoin.wikiwikiweb.de/HelpOnNavigation'
76
+ scheme: 'http', host: 'moinmoin.wikiwikiweb.de', path: '/HelpOnNavigation',
77
+ link_text: 'http://moinmoin.wikiwikiweb.de/HelpOnNavigation'
78
78
  )
79
79
  end
80
80
  it "should work with some path at the end, and withot http:// prefix (@link_text has prefix added)" do
81
81
  match_chunk(Card::Chunk::URI, 'moinmoin.wikiwikiweb.de/HelpOnNavigation',
82
- :scheme => 'http', :host => 'moinmoin.wikiwikiweb.de', :path => '/HelpOnNavigation',
83
- :text => 'moinmoin.wikiwikiweb.de/HelpOnNavigation',
84
- :link_text => 'http://moinmoin.wikiwikiweb.de/HelpOnNavigation'
82
+ scheme: 'http', host: 'moinmoin.wikiwikiweb.de', path: '/HelpOnNavigation',
83
+ text: 'moinmoin.wikiwikiweb.de/HelpOnNavigation',
84
+ link_text: 'http://moinmoin.wikiwikiweb.de/HelpOnNavigation'
85
85
  )
86
86
  end
87
87
  it "should work with a port number" do
88
88
  match_chunk(Card::Chunk::URI, 'http://www.example.com:80',
89
- :scheme =>'http', :host =>'www.example.com', :port => 80, :path => '',
90
- :link_text => 'http://www.example.com:80')
89
+ scheme: 'http', host: 'www.example.com', port: 80, path: '',
90
+ link_text: 'http://www.example.com:80')
91
91
  end
92
92
  it "should work with a port number and a path" do
93
93
  match_chunk(Card::Chunk::URI, 'http://www.example.com.tw:80/HelpOnNavigation',
94
- :scheme =>'http', :host =>'www.example.com.tw', :port => 80, :path => '/HelpOnNavigation',
95
- :link_text => 'http://www.example.com.tw:80/HelpOnNavigation')
94
+ scheme: 'http', host: 'www.example.com.tw', port: 80, path: '/HelpOnNavigation',
95
+ link_text: 'http://www.example.com.tw:80/HelpOnNavigation')
96
96
  end
97
97
  it "should work with a query" do
98
98
  match_chunk(Card::Chunk::URI, 'http://www.example.com.tw:80/HelpOnNavigation?arg=val',
99
- :scheme =>'http', :host =>'www.example.com.tw', :port => 80, :path => '/HelpOnNavigation',
100
- :query => 'arg=val',
101
- :link_text => 'http://www.example.com.tw:80/HelpOnNavigation?arg=val')
99
+ scheme: 'http', host: 'www.example.com.tw', port: 80, path: '/HelpOnNavigation',
100
+ query: 'arg=val',
101
+ link_text: 'http://www.example.com.tw:80/HelpOnNavigation?arg=val')
102
102
  end
103
103
  it "should work on Query with two arguments" do
104
104
  match_chunk(Card::Chunk::URI, 'http://www.example.com.tw:80/HelpOnNavigation?arg=val&arg2=val2',
105
- :scheme =>'http', :host =>'www.example.com.tw', :port => 80, :path => '/HelpOnNavigation',
106
- :query => 'arg=val&arg2=val2',
107
- :link_text => 'http://www.example.com.tw:80/HelpOnNavigation?arg=val&arg2=val2')
105
+ scheme: 'http', host: 'www.example.com.tw', port: 80, path: '/HelpOnNavigation',
106
+ query: 'arg=val&arg2=val2',
107
+ link_text: 'http://www.example.com.tw:80/HelpOnNavigation?arg=val&arg2=val2')
108
108
  end
109
109
  it "should work with IRC" do
110
110
  match_chunk(Card::Chunk::URI, 'irc://irc.freenode.net#recentchangescamp',
111
- :scheme =>'irc', :host =>'irc.freenode.net',
112
- :fragment => 'recentchangescamp',
113
- :link_text => 'irc://irc.freenode.net#recentchangescamp')
111
+ scheme: 'irc', host: 'irc.freenode.net',
112
+ fragment: 'recentchangescamp',
113
+ link_text: 'irc://irc.freenode.net#recentchangescamp')
114
114
  end
115
115
 
116
116
  it "should see HTTPS" do
117
117
  match_chunk(Card::Chunk::URI, 'https://www.example.com',
118
- :scheme =>'https', :host =>'www.example.com', :port => 443, :path => '', :query => nil,
119
- :link_text => 'https://www.example.com')
118
+ scheme: 'https', host: 'www.example.com', port: 443, path: '', query: nil,
119
+ link_text: 'https://www.example.com')
120
120
  end
121
121
  it "should see FTP" do
122
122
  match_chunk(Card::Chunk::URI, 'ftp://www.example.com',
123
- :scheme =>'ftp', :host =>'www.example.com', :port => 21, :path => '', :query => nil,
124
- :link_text => 'ftp://www.example.com')
123
+ scheme: 'ftp', host: 'www.example.com', port: 21, path: '', query: nil,
124
+ link_text: 'ftp://www.example.com')
125
125
  end
126
126
  it "should handle mailto:" do
127
127
  match_chunk(Card::Chunk::URI, 'mailto:jdoe123@example.com',
128
- :scheme =>'mailto', :host =>nil, :port => nil, :path => nil, :query => nil,
129
- :to => 'jdoe123@example.com', :link_text => 'mailto:jdoe123@example.com')
128
+ scheme: 'mailto', host: nil, port: nil, path: nil, query: nil,
129
+ to: 'jdoe123@example.com', link_text: 'mailto:jdoe123@example.com')
130
130
  end
131
131
  # something nonexistant (pending spec? this is no longer recognized, the sheme has to be listed)
132
132
  #match_chunk(Card::Chunk::URI, 'foobar://www.example.com',
133
- # :scheme =>'foobar', :host =>'www.example.com', :port => '', :path => '', :query => nil,
134
- # :link_text => 'foobar://www.example.com')
133
+ # scheme: 'foobar', host: 'www.example.com', port: '', path: '', query: nil,
134
+ # link_text: 'foobar://www.example.com')
135
135
 
136
136
  it "should run more basic cases" do
137
137
 
@@ -141,30 +141,30 @@ describe Card::Chunk::URI, "URI chunk tests" do
141
141
 
142
142
  # Soap opera (the most complex case imaginable... well, not really, there should be more evil)
143
143
  match_chunk(Card::Chunk::URI, 'http://www.example.com.tw:80/~jdoe123/Help%20Me%20?arg=val&arg2=val2',
144
- :scheme =>'http', :host =>'www.example.com.tw', :port => 80,
145
- :path => '/~jdoe123/Help%20Me%20', :query => 'arg=val&arg2=val2',
146
- :link_text => 'http://www.example.com.tw:80/~jdoe123/Help%20Me%20?arg=val&arg2=val2')
144
+ scheme: 'http', host: 'www.example.com.tw', port: 80,
145
+ path: '/~jdoe123/Help%20Me%20', query: 'arg=val&arg2=val2',
146
+ link_text: 'http://www.example.com.tw:80/~jdoe123/Help%20Me%20?arg=val&arg2=val2')
147
147
 
148
148
  # from 0.9 bug reports
149
149
  match_chunk(Card::Chunk::URI, 'http://www2.pos.to/~tosh/ruby/rdtool/en/doc/rd-draft.html',
150
- :scheme =>'http', :host => 'www2.pos.to',
151
- :path => '/~tosh/ruby/rdtool/en/doc/rd-draft.html')
150
+ scheme: 'http', host: 'www2.pos.to',
151
+ path: '/~tosh/ruby/rdtool/en/doc/rd-draft.html')
152
152
 
153
153
  match_chunk(Card::Chunk::URI, 'http://support.microsoft.com/default.aspx?scid=kb;en-us;234562',
154
- :scheme =>'http', :host => 'support.microsoft.com', :path => '/default.aspx',
155
- :query => 'scid=kb;en-us;234562')
154
+ scheme: 'http', host: 'support.microsoft.com', path: '/default.aspx',
155
+ query: 'scid=kb;en-us;234562')
156
156
 
157
157
  end
158
158
 
159
159
  it "should test_email_uri" do
160
160
  match_chunk(Card::Chunk::URI, 'mail@example.com',
161
- :to => 'mail@example.com', :host => nil, :text => 'mail@example.com', :link_text => 'mailto:mail@example.com'
161
+ to: 'mail@example.com', host: nil, text: 'mail@example.com', link_text: 'mailto:mail@example.com'
162
162
  )
163
163
  end
164
164
 
165
165
  it "should test_non_email" do
166
166
  # The @ is part of the normal text, but 'example.com' is marked up.
167
- match_chunk(Card::Chunk::URI, 'Not an email: @example.com', :uri => 'http://example.com')
167
+ match_chunk(Card::Chunk::URI, 'Not an email: @example.com', uri: 'http://example.com')
168
168
  end
169
169
 
170
170
  it "should test_textile_image" do
@@ -177,7 +177,7 @@ describe Card::Chunk::URI, "URI chunk tests" do
177
177
  'This "hobix (hobix)":http://hobix.com/sample.jpg is a Textile link.')
178
178
  # just to be sure ...
179
179
  match_chunk(Card::Chunk::URI, 'This http://hobix.com/sample.jpg should match',
180
- :link_text => 'http://hobix.com/sample.jpg')
180
+ link_text: 'http://hobix.com/sample.jpg')
181
181
  end
182
182
 
183
183
  it "should test_inline_html" do
@@ -187,7 +187,7 @@ describe Card::Chunk::URI, "URI chunk tests" do
187
187
 
188
188
  it "should test_non_uri" do
189
189
  # "so" is a valid country code; "libproxy.so" is a valid url
190
- match_chunk(Card::Chunk::URI, 'libproxy.so', :host => 'libproxy.so', :text => 'libproxy.so', :link_text => 'http://libproxy.so')
190
+ match_chunk(Card::Chunk::URI, 'libproxy.so', host: 'libproxy.so', text: 'libproxy.so', link_text: 'http://libproxy.so')
191
191
 
192
192
  no_match Card::Chunk::URI, 'httpd.conf'
193
193
  # THIS ONE'S BUSTED.. Ethan fix??
@@ -202,23 +202,23 @@ describe Card::Chunk::URI, "URI chunk tests" do
202
202
  end
203
203
 
204
204
  it "should test_uri_in_text" do
205
- match_chunk(Card::Chunk::URI, 'Go to: http://www.example.com/', :host => 'www.example.com', :path =>'/')
206
- match_chunk(Card::Chunk::URI, 'http://www.example.com/ is a link.', :host => 'www.example.com')
205
+ match_chunk(Card::Chunk::URI, 'Go to: http://www.example.com/', host: 'www.example.com', path: '/')
206
+ match_chunk(Card::Chunk::URI, 'http://www.example.com/ is a link.', host: 'www.example.com')
207
207
  match_chunk(Card::Chunk::URI,
208
208
  'Email david@loudthinking.com',
209
- :scheme =>'mailto', :to =>'david@loudthinking.com', :host => nil)
209
+ scheme: 'mailto', to: 'david@loudthinking.com', host: nil)
210
210
  # check that trailing punctuation is not included in the hostname
211
- match_chunk(Card::Chunk::URI, 'Hey dude, http://fake.link.com.', :scheme => 'http', :host => 'fake.link.com')
211
+ match_chunk(Card::Chunk::URI, 'Hey dude, http://fake.link.com.', scheme: 'http', host: 'fake.link.com')
212
212
  # this is a textile link, no match please.
213
213
  no_match(Card::Chunk::URI, '"link":http://fake.link.com.')
214
214
  end
215
215
 
216
216
  it "should test_uri_in_parentheses" do
217
- match_chunk(Card::Chunk::URI, 'URI (http://brackets.com.de) in brackets', :host => 'brackets.com.de')
218
- match_chunk(Card::Chunk::URI, 'because (as shown at research.net) the results', :host => 'research.net')
217
+ match_chunk(Card::Chunk::URI, 'URI (http://brackets.com.de) in brackets', host: 'brackets.com.de')
218
+ match_chunk(Card::Chunk::URI, 'because (as shown at research.net) the results', host: 'research.net')
219
219
  match_chunk(Card::Chunk::URI,
220
220
  'A wiki (http://wiki.org/wiki.cgi?WhatIsWiki) card',
221
- :scheme => 'http', :host => 'wiki.org', :path => '/wiki.cgi', :query => 'WhatIsWiki'
221
+ scheme: 'http', host: 'wiki.org', path: '/wiki.cgi', query: 'WhatIsWiki'
222
222
  )
223
223
  end
224
224
 
@@ -226,7 +226,7 @@ describe Card::Chunk::URI, "URI chunk tests" do
226
226
  match_chunk(
227
227
  Card::Chunk::URI,
228
228
  '* http://www.btinternet.com/~mail2minh/SonyEricssonP80xPlatform.sis',
229
- :path => '/~mail2minh/SonyEricssonP80xPlatform.sis'
229
+ path: '/~mail2minh/SonyEricssonP80xPlatform.sis'
230
230
  )
231
231
  end
232
232
 
@@ -238,31 +238,31 @@ describe Card::Chunk::URI, "URI chunk tests" do
238
238
  match_chunk(
239
239
  Card::Chunk::URI,
240
240
  "This text contains a URL http://someplace.org:8080/~person/stuff.cgi?arg=val, doesn't it?",
241
- :scheme => 'http', :host => 'someplace.org', :port => 8080, :path => '/~person/stuff.cgi',
242
- :query => 'arg=val')
241
+ scheme: 'http', host: 'someplace.org', port: 8080, path: '/~person/stuff.cgi',
242
+ query: 'arg=val')
243
243
  end
244
244
 
245
245
  describe Card::Chunk::URI, "URI chunk tests" do
246
246
  it "should test_local_urls" do
247
247
  # normal
248
248
  match_chunk(Card::Chunk::URI, 'http://perforce:8001/toto.html',
249
- :scheme => 'http', :host => 'perforce',
250
- :port => 8001, :link_text => 'http://perforce:8001/toto.html')
249
+ scheme: 'http', host: 'perforce',
250
+ port: 8001, link_text: 'http://perforce:8001/toto.html')
251
251
 
252
252
  # in parentheses
253
253
  match_chunk(Card::Chunk::URI, 'URI (http://localhost:2500) in brackets',
254
- :host => 'localhost', :port => 2500)
254
+ host: 'localhost', port: 2500)
255
255
  match_chunk(Card::Chunk::URI, 'because (as shown at http://perforce:8001) the results',
256
- :host => 'perforce', :port => 8001)
256
+ host: 'perforce', port: 8001)
257
257
  match_chunk(Card::Chunk::URI,
258
258
  'A wiki (http://localhost:2500/wiki.cgi?WhatIsWiki) card',
259
- :scheme => 'http', :host => 'localhost', :path => '/wiki.cgi',
260
- :port => 2500, :query => 'WhatIsWiki')
259
+ scheme: 'http', host: 'localhost', path: '/wiki.cgi',
260
+ port: 2500, query: 'WhatIsWiki')
261
261
  end
262
262
  end
263
263
 
264
264
  private
265
- DUMMY_CARD = Card.new(:name=>'dummy')
265
+ DUMMY_CARD = Card.new(name: 'dummy')
266
266
 
267
267
  # Asserts a number of tests for the given type and text.
268
268
  def no_match(type, test_text)