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
@@ -10,14 +10,14 @@ describe Card::Set::Type::Html do
10
10
  end
11
11
 
12
12
  it "should not render any content in closed view" do
13
- expect(render_card(:closed_content, :type=>'Html', :content=>"<strong>Lions and Tigers</strong>")).to eq('')
13
+ expect(render_card(:closed_content, type: 'Html', content: "<strong>Lions and Tigers</strong>")).to eq('')
14
14
  end
15
15
 
16
16
  it "should render inclusions" do
17
- expect(render_card( :core, :type=>'HTML', :content=>'{{a}}' )).to match(/slot/)
17
+ expect(render_card( :core, type: 'HTML', content: '{{a}}' )).to match(/slot/)
18
18
  end
19
19
 
20
20
  it 'should not render uris' do
21
- expect(render_card( :core, :type=>'HTML', :content=>'http://google.com' )).not_to match(/\<a/)
21
+ expect(render_card( :core, type: 'HTML', content: 'http://google.com' )).not_to match(/\<a/)
22
22
  end
23
23
  end
@@ -9,8 +9,8 @@ describe Card::Set::Type::Image do
9
9
  end
10
10
 
11
11
  it "handles size argument in inclusion syntax" do
12
- image_card = Card.create! :name => "TestImage", :type=>"Image", :content => '~12345/TestImage.jpg'
13
- including_card = Card.new :name => 'Image1', :content => "{{TestImage | core; size:small }}"
12
+ image_card = Card.create! name: "TestImage", type: "Image", content: '~12345/TestImage.jpg'
13
+ including_card = Card.new name: 'Image1', content: "{{TestImage | core; size:small }}"
14
14
  rendered = including_card.format._render :core
15
15
  assert_view_select rendered, 'img[src=?]', "/files/~#{image_card.id}/#{image_card.last_content_action_id}-small.jpg"
16
16
  end
@@ -19,7 +19,7 @@ describe Card::Set::Type::Image do
19
19
  context "newly created image card" do
20
20
  before do
21
21
  Card::Auth.as_bot do
22
- Card.create! :name => "image card", :type=>'image', :image=>File.new( File.join FIXTURES_PATH, 'mao2.jpg' )
22
+ Card.create! name: "image card", type: 'image', image: File.new( File.join FIXTURES_PATH, 'mao2.jpg' )
23
23
  end
24
24
  end
25
25
  subject { Card['image card'] }
@@ -63,7 +63,7 @@ describe Card::Set::Type::Image do
63
63
 
64
64
  describe 'view: act_expanded' do
65
65
  it 'gets image url' do
66
- act_summary = subject.format.render(:act_expanded, :act=>subject.last_act)
66
+ act_summary = subject.format.render(:act_expanded, act: subject.last_act)
67
67
  current_url = subject.image.versions[:medium].url
68
68
  expect(act_summary).to match /#{Regexp.quote current_url}/
69
69
  end
@@ -72,7 +72,7 @@ describe Card::Set::Type::Image do
72
72
 
73
73
  context "updated file card" do
74
74
  before do
75
- subject.update_attributes! :image=>File.new( File.join FIXTURES_PATH, 'rails.gif' )
75
+ subject.update_attributes! image: File.new( File.join FIXTURES_PATH, 'rails.gif' )
76
76
  end
77
77
  it "updates file" do
78
78
  expect(subject.image.size).to eq 8533
@@ -102,7 +102,7 @@ describe Card::Set::Type::Image do
102
102
 
103
103
  it "becomes a regular file when changed" do
104
104
  Card::Auth.as_bot do
105
- subject.update_attributes! :image=>File.new( File.join FIXTURES_PATH, 'rails.gif' )
105
+ subject.update_attributes! image: File.new( File.join FIXTURES_PATH, 'rails.gif' )
106
106
  end
107
107
  expect(subject.mod_file?).to be_falsey
108
108
  expect(subject.image.url).to eq "/files/~#{subject.id}/#{subject.last_action_id}-original.gif"
@@ -2,6 +2,6 @@
2
2
 
3
3
  describe Card::Set::Type::LayoutType do
4
4
  it "should include Html card methods" do
5
- expect(Card.new( :type=>'Layout' ).clean_html?).to be_falsey
5
+ expect(Card.new( type: 'Layout' ).clean_html?).to be_falsey
6
6
  end
7
7
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  describe Card::Set::Type::SearchType do
4
4
  it "wraps search items with correct view class" do
5
- Card.create :type=>'Search', :name=>'Asearch', :content=>%{{"type":"User"}}
5
+ Card.create type: 'Search', name: 'Asearch', content: %{{"type":"User"}}
6
6
  c=render_content("{{Asearch|core;item:name}}")
7
7
  expect(c).to match('search-result-item item-name')
8
8
  expect(render_content("{{Asearch|core}}" ).scan('search-result-item item-closed').size).to eq(14)
@@ -11,14 +11,14 @@ describe Card::Set::Type::SearchType do
11
11
  end
12
12
 
13
13
  it "handles returning 'count'" do
14
- expect(render_card(:core, :type=>'Search', :content=>%{{ "type":"User", "return":"count"}})).to eq('14')
14
+ expect(render_card(:core, type: 'Search', content: %{{ "type":"User", "return":"count"}})).to eq('14')
15
15
  end
16
16
 
17
17
  it "passes item args correctly" do
18
18
  Card.create!(
19
- :name=>'Pointer2Searches',
20
- :type_id=>Card::PointerID,
21
- :content=>"[[Layout+*type+by name]]\n[[PlainText+*type+by name]]"
19
+ name: 'Pointer2Searches',
20
+ type_id: Card::PointerID,
21
+ content: "[[Layout+*type+by name]]\n[[PlainText+*type+by name]]"
22
22
  )
23
23
  r = render_content "{{Pointer2Searches|core|closed|hide:menu}}"
24
24
  expect(r.scan('"view":"link"').size).to eq(0)
@@ -27,24 +27,24 @@ describe Card::Set::Type::SearchType do
27
27
 
28
28
  it 'handles type update from pointer' do
29
29
  pointer_card = Card.create!(
30
- :name=>"PointerToSearches",
31
- :type_id=>Card::PointerID,
30
+ name: "PointerToSearches",
31
+ type_id: Card::PointerID,
32
32
  )
33
33
 
34
- pointer_card.update_attributes! :type_id=>Card::SearchTypeID,:content=>%{{"type":"User"}}
34
+ pointer_card.update_attributes! type_id: Card::SearchTypeID,content: %{{"type":"User"}}
35
35
  expect(pointer_card.content).to eq(%{{"type":"User"}})
36
36
  end
37
37
 
38
38
  context 'references' do
39
39
  before do
40
- Card.create :type=>'Search', :name=>'search with references', :content=>'{"name":"Y"}'
40
+ Card.create type: 'Search', name: 'search with references', content: '{"name":"Y"}'
41
41
  end
42
42
  subject do
43
43
  Card['search with references']
44
44
  end
45
45
 
46
46
  it 'updates query if referee changed' do
47
- Card['Y'].update_attributes! :name=>'YYY', :update_referencers => true
47
+ Card['Y'].update_attributes! name: 'YYY', update_referencers: true
48
48
  expect(subject.content).to eq '{"name":"YYY"}'
49
49
  end
50
50
 
@@ -9,7 +9,7 @@ describe Card::Set::Type::Signup do
9
9
 
10
10
  context 'signup form form' do
11
11
  before do
12
- card = Card.new :type_id=>Card::SignupID
12
+ card = Card.new type_id: Card::SignupID
13
13
  @form = card.format.render_new
14
14
  end
15
15
 
@@ -27,11 +27,11 @@ describe Card::Set::Type::Signup do
27
27
  ActionMailer::Base.deliveries = [] #needed?
28
28
 
29
29
  Card::Auth.as_bot do
30
- Card.create! :name=>'User+*type+*create', :content=>'[[Anyone]]'
30
+ Card.create! name: 'User+*type+*create', content: '[[Anyone]]'
31
31
  end
32
32
 
33
33
  Card::Auth.current_id = Card::AnonymousID
34
- @signup = Card.create! :name=>'Big Bad Wolf', :type_id=>Card::SignupID,
34
+ @signup = Card.create! name: 'Big Bad Wolf', type_id: Card::SignupID,
35
35
  '+*account'=>{'+*email'=>'wolf@wagn.org', '+*password'=>'wolf'}
36
36
 
37
37
  @account = @signup.account
@@ -55,7 +55,7 @@ describe Card::Set::Type::Signup do
55
55
  it 'should create an authenticable token' do
56
56
  expect(@account.token).to eq(@token)
57
57
  expect(@account.authenticate_by_token(@token)).to eq(@signup.id)
58
- expect(@account.fetch(:trait=> :token)).not_to be_present
58
+ expect(@account.fetch(trait: :token)).not_to be_present
59
59
  end
60
60
 
61
61
  it 'should notify someone' do
@@ -92,7 +92,7 @@ describe Card::Set::Type::Signup do
92
92
  # NOTE: by default Anonymous does not have permission to create User cards.
93
93
  Mail::TestMailer.deliveries.clear
94
94
  Card::Auth.current_id = Card::AnonymousID
95
- @signup = Card.create! :name=>'Big Bad Wolf', :type_id=>Card::SignupID,
95
+ @signup = Card.create! name: 'Big Bad Wolf', type_id: Card::SignupID,
96
96
  '+*account'=>{ '+*email'=>'wolf@wagn.org', '+*password'=>'wolf' }
97
97
  @account = @signup.account
98
98
  end
@@ -158,11 +158,11 @@ describe Card::Set::Type::Signup do
158
158
  context 'a welcome email card exists' do
159
159
  before do
160
160
  Card::Auth.as_bot do
161
- Card.create! :name=>'welcome email', :subcards=>{'+*subject'=>'welcome',
162
- '+*html_message'=>'Welcome {{_self|name}}'}, :type_id=>Card::EmailTemplateID
161
+ Card.create! name: 'welcome email', subcards: {'+*subject'=>'welcome',
162
+ '+*html_message'=>'Welcome {{_self|name}}'}, type_id: Card::EmailTemplateID
163
163
  end
164
164
  Mail::TestMailer.deliveries.clear
165
- @signup = Card.create! :name=>'Big Bad Sheep', :type_id=>Card::SignupID,
165
+ @signup = Card.create! name: 'Big Bad Sheep', type_id: Card::SignupID,
166
166
  '+*account'=>{'+*email'=>'sheep@wagn.org', '+*password'=>'sheep'}
167
167
 
168
168
  end
@@ -180,7 +180,7 @@ describe Card::Set::Type::Signup do
180
180
  before do
181
181
  # NOTE: by default Anonymous does not have permission to create User cards.
182
182
  Card::Auth.current_id = Card::WagnBotID
183
- @signup = Card.create! :name=>'Big Bad Wolf', :type_id=>Card::SignupID, '+*account'=>{ '+*email'=>'wolf@wagn.org'}
183
+ @signup = Card.create! name: 'Big Bad Wolf', type_id: Card::SignupID, '+*account'=>{ '+*email'=>'wolf@wagn.org'}
184
184
  @account = @signup.account
185
185
  end
186
186
 
@@ -198,11 +198,11 @@ describe Card::Set::Type::Signup do
198
198
  # describe '#signup_notifications' do
199
199
  # before do
200
200
  # Card::Auth.as_bot do
201
- # Card.create! :name=>'*request+*to', :content=>'signups@wagn.org'
201
+ # Card.create! name: '*request+*to', content: 'signups@wagn.org'
202
202
  # end
203
203
  # @user_name = 'Big Bad Wolf'
204
204
  # @user_email = 'wolf@wagn.org'
205
- # @signup = Card.create! :name=>@user_name, :type_id=>Card::SignupID, '+*account'=>{
205
+ # @signup = Card.create! name: @user_name, type_id: Card::SignupID, '+*account'=>{
206
206
  # '+*email'=>@user_email, '+*password'=>'wolf'}
207
207
  # ActionMailer::Base.deliveries = []
208
208
  # @signup.signup_notifications
@@ -6,7 +6,7 @@ describe Card::Set::Type::Toggle do
6
6
  end
7
7
 
8
8
  it "should have yes/no as processed content" do
9
- expect(render_card(:core, :type=>'Toggle', :content=>"0")).to eq('no')
10
- expect(render_card(:closed_content, :type=>'Toggle', :content=>"1")).to eq('yes')
9
+ expect(render_card(:core, type: 'Toggle', content: "0")).to eq('no')
10
+ expect(render_card(:closed_content, type: 'Toggle', content: "1")).to eq('yes')
11
11
  end
12
12
  end
@@ -6,22 +6,22 @@ describe Card::Set::Type::Uri do
6
6
  end
7
7
 
8
8
  it "renders core view links" do
9
- card = Card.create(:type=>'URI', :name=>'A URI card', :content=>'http://wagn.org/Home')
9
+ card = Card.create(type: 'URI', name: 'A URI card', content: 'http://wagn.org/Home')
10
10
  assert_view_select card.format.render('core'), 'a[class="external-link"][href="http://wagn.org/Home"]' do
11
- assert_select 'span[class="card-title"]', {:text => 'A URI card' }
11
+ assert_select 'span[class="card-title"]', {text: 'A URI card' }
12
12
  end
13
13
  end
14
14
 
15
15
  it "renders core view links with title arg" do
16
- card = Card.create(:type=>'URI', :name=>'A URI card', :content=>'http://wagn.org/Home')
17
- assert_view_select card.format.render('core', :title=>'My Title'), 'a[class="external-link"][href="http://wagn.org/Home"]' do
18
- assert_select 'span[class="card-title"]', {:text => 'My Title' }
16
+ card = Card.create(type: 'URI', name: 'A URI card', content: 'http://wagn.org/Home')
17
+ assert_view_select card.format.render('core', title: 'My Title'), 'a[class="external-link"][href="http://wagn.org/Home"]' do
18
+ assert_select 'span[class="card-title"]', {text: 'My Title' }
19
19
  end
20
20
  end
21
21
 
22
22
  it "renders title view in a plain formatter" do
23
23
  card = Card['A']
24
- card.format(:text).render('title', :title=>'My Title').should == 'My Title'
24
+ card.format(:text).render('title', title: 'My Title').should == 'My Title'
25
25
  card.format(:text).render('title').should == 'A'
26
26
  end
27
27
 
@@ -30,12 +30,12 @@ describe Card::Set::Type::Uri do
30
30
  card.format(:text).render('url_link').should == '/A'
31
31
  assert_view_select card.format.render('url_link'),
32
32
  'a[class="internal-link"][href="/A"]',
33
- {:text => '/A' }
33
+ {text: '/A' }
34
34
  end
35
35
 
36
36
  it "renders a url_link view" do
37
- card = Card.create(:type=>'URI', :name=>'A URI card', :content=>'http://wagn.org/Home')
38
- assert_view_select card.format.render('url_link'), 'a[class="external-link"]', {:text => 'http://wagn.org/Home'}
37
+ card = Card.create(type: 'URI', name: 'A URI card', content: 'http://wagn.org/Home')
38
+ assert_view_select card.format.render('url_link'), 'a[class="external-link"]', {text: 'http://wagn.org/Home'}
39
39
  card.format(:text).render('url_link').should == 'http://wagn.org/Home'
40
40
  end
41
41
  end
@@ -1,13 +1,13 @@
1
1
  format :html do
2
2
  def glyphicon icon_type, extra_class=''
3
- content_tag(:span, '', :class=>"glyphicon glyphicon-#{icon_type} #{extra_class}", 'aria-hidden'=>true)
3
+ content_tag(:span, '', class: "glyphicon glyphicon-#{icon_type} #{extra_class}", 'aria-hidden'=>true)
4
4
  end
5
5
 
6
6
  def button_link link_text, target, html_args={}
7
7
  html_args[:class] ||= ''
8
8
  btn_type = html_args[:btn_type] || 'primary'
9
9
  html_args[:class] += " btn btn-#{btn_type}"
10
- smart_link link_text, target, html_args.merge(:type=>'button')
10
+ smart_link link_text, target, html_args.merge(type: 'button')
11
11
  end
12
12
 
13
13
  def dropdown_button name, opts={}
@@ -52,7 +52,7 @@ format :html do
52
52
  end
53
53
 
54
54
  def breadcrumb items
55
- content_tag :ol, :class=>'breadcrumb' do
55
+ content_tag :ol, class: 'breadcrumb' do
56
56
  items.map do |item|
57
57
  content_tag :li, item
58
58
  end
@@ -60,7 +60,7 @@ format :html do
60
60
  end
61
61
 
62
62
  # Options
63
- # :header => { :content=>String, :brand=>( String | {:name=>, :href=>} ) }
63
+ # header: { content: String, brand: ( String | {name: , href: } ) }
64
64
  def navbar id, opts={}
65
65
  nav_opts = opts[:navbar_opts] || {}
66
66
  nav_opts[:class] ||= (opts[:class] || '')
@@ -73,9 +73,9 @@ format :html do
73
73
  end
74
74
  wrap_with :nav, nav_opts do
75
75
  [
76
- navbar_header(id, header_opts.delete(:content), header_opts.reverse_merge(:toggle=>opts[:toggle])),
77
- (content_tag(:div, opts[:collapsed_content].html_safe, :class=>'container-fluid') if opts[:collapsed_content]),
78
- content_tag(:div, output(yield).html_safe, :class=>"collapse navbar-collapse", :id=>"navbar-collapse-#{id}"),
76
+ navbar_header(id, header_opts.delete(:content), header_opts.reverse_merge(toggle: opts[:toggle])),
77
+ (content_tag(:div, opts[:collapsed_content].html_safe, class: 'container-fluid') if opts[:collapsed_content]),
78
+ content_tag(:div, output(yield).html_safe, class: "collapse navbar-collapse", id: "navbar-collapse-#{id}"),
79
79
  ]
80
80
  end
81
81
  end
@@ -89,7 +89,7 @@ format :html do
89
89
  "<a class='navbar-brand' href='#{link}#'>#{opts[:brand][:name]}</a>"
90
90
  end
91
91
  end
92
- wrap_with :div, :class=>'navbar-header' do
92
+ wrap_with :div, class: 'navbar-header' do
93
93
  [
94
94
  (navbar_toggle(id, opts[:toggle]) unless opts[:toggle] == :hide),
95
95
  brand,
@@ -116,10 +116,10 @@ format :html do
116
116
  items = yield
117
117
  args[:situation] ||= 'primary'
118
118
 
119
- wrap_with :div, :class=>'btn-group' do
119
+ wrap_with :div, class: 'btn-group' do
120
120
  [
121
121
  button,
122
- button_tag(:situation=>args[:situation], :class=>'dropdown-toggle', 'data-toggle'=>'dropdown', 'aria-haspopup'=>'true', 'aria-expanded'=>'false') do
122
+ button_tag(situation: args[:situation], class: 'dropdown-toggle', 'data-toggle'=>'dropdown', 'aria-haspopup'=>'true', 'aria-expanded'=>'false') do
123
123
  %{
124
124
  <span class="caret"></span>
125
125
  <span class="sr-only">Toggle Dropdown</span>
@@ -2,10 +2,10 @@ format :html do
2
2
 
3
3
  def frame args={}, &block
4
4
  args.reverse_merge!(
5
- :panel_class => 'panel panel-default',
6
- :header_class => 'panel-heading',
7
- :title_class => 'panel-title',
8
- :body_class => 'panel-body'
5
+ panel_class: 'panel panel-default',
6
+ header_class: 'panel-heading',
7
+ title_class: 'panel-title',
8
+ body_class: 'panel-body'
9
9
  )
10
10
  super args
11
11
  end
@@ -1,7 +1,7 @@
1
1
  format :html do
2
2
 
3
3
  view :closed do |args|
4
- args.merge! :body_class=>'closed-content'
4
+ args.merge! body_class: 'closed-content'
5
5
  super args
6
6
  end
7
7
 
@@ -4,8 +4,8 @@ describe Card::Action do
4
4
  describe '#delete_old_actions' do
5
5
  it 'puts all changes on one action' do
6
6
  a = Card['A']
7
- a.update_attributes!(:name=>"New A")
8
- a.update_attributes!(:content=>"New content")
7
+ a.update_attributes!(name: "New A")
8
+ a.update_attributes!(content: "New content")
9
9
  a.delete_old_actions
10
10
  expect(a.actions.count).to eq(1)
11
11
  expect(a.actions(true).last.new_values[:name]).to eq("New A")
@@ -4,7 +4,7 @@ describe Card::Cache do
4
4
  describe "with nil store" do
5
5
  before do
6
6
  expect(Card::Cache).to receive(:generate_cache_id).exactly(2).times.and_return("cache_id")
7
- @cache = Card::Cache.new :prefix=>"prefix"
7
+ @cache = Card::Cache.new prefix: "prefix"
8
8
  end
9
9
 
10
10
  describe "#basic operations" do
@@ -22,7 +22,7 @@ describe Card::Cache do
22
22
  before :each do
23
23
  @store = ActiveSupport::Cache::MemoryStore.new
24
24
  expect(Card::Cache).to receive(:generate_cache_id).and_return("cache_id")
25
- @cache = Card::Cache.new :store=>@store, :prefix=>"prefix"
25
+ @cache = Card::Cache.new store: @store, prefix: "prefix"
26
26
  end
27
27
 
28
28
  it "#read" do
@@ -58,7 +58,7 @@ describe Card::Cache do
58
58
  it "#reset" do
59
59
  expect(Card::Cache).to receive(:generate_cache_id).and_return("cache_id1")
60
60
  @store = ActiveSupport::Cache::MemoryStore.new
61
- @cache = Card::Cache.new :store=>@store, :prefix=>"prefix"
61
+ @cache = Card::Cache.new store: @store, prefix: "prefix"
62
62
  expect(@cache.prefix).to eq("prefix/cache_id1/")
63
63
  @cache.write("foo","bar")
64
64
  expect(@cache.read("foo")).to eq("bar")
@@ -70,7 +70,7 @@ describe Card::Cache do
70
70
  expect(@cache.store.read("prefix/cache_id")).to eq("cache_id2")
71
71
  expect(@cache.read("foo")).to be_nil
72
72
 
73
- cache2 = Card::Cache.new :store=>@store, :prefix=>"prefix"
73
+ cache2 = Card::Cache.new store: @store, prefix: "prefix"
74
74
  expect(cache2.prefix).to eq("prefix/cache_id2/")
75
75
  end
76
76
 
@@ -92,13 +92,13 @@ describe Card::Cache do
92
92
  #FileUtils.rm_r(files_to_remove)
93
93
 
94
94
  expect(Card::Cache).to receive(:generate_cache_id).exactly(2).times.and_return("cache_id1")
95
- @cache = Card::Cache.new :store=>@store, :prefix=>"prefix"
95
+ @cache = Card::Cache.new store: @store, prefix: "prefix"
96
96
  end
97
97
 
98
98
  describe "#basic operations with special symbols" do
99
99
  it "should work" do
100
100
  @cache.write('%\\/*:?"<>|', "foo")
101
- cache2 = Card::Cache.new :store=>@store, :prefix=>"prefix"
101
+ cache2 = Card::Cache.new store: @store, prefix: "prefix"
102
102
  expect(cache2.read('%\\/*:?"<>|')).to eq("foo")
103
103
  @cache.reset
104
104
  end
@@ -108,7 +108,7 @@ describe Card::Cache do
108
108
  it "should work" do
109
109
  @cache.write('(汉语漢語 Hànyǔ; 华语華語 Huáyǔ; 中文 Zhōngwén', "foo")
110
110
  @cache.write('русский', "foo")
111
- cache3 = Card::Cache.new :store=>@store, :prefix=>"prefix"
111
+ cache3 = Card::Cache.new store: @store, prefix: "prefix"
112
112
  expect(cache3.read('(汉语漢語 Hànyǔ; 华语華語 Huáyǔ; 中文 Zhōngwén')).to eq("foo")
113
113
  expect(cache3.read('русский')).to eq("foo")
114
114
  @cache.reset
@@ -2,51 +2,47 @@
2
2
  require 'card/content'
3
3
 
4
4
  EXAMPLES = {
5
- :nests => {
6
- :content =>
7
- [
5
+ nests: {
6
+ content: [
8
7
  "Some Literals: \\[{I'm not| a link]}, and ",
9
8
  "\\{{This Card|Is not Included}}",
10
9
  ", but ",
11
10
  "{{this is}}",
12
11
  ", and some tail"
13
12
  ].join(''),
14
- :rendered =>
15
- [
13
+ rendered: [
16
14
  "Some Literals: \\[{I'm not| a link]}, and ",
17
15
  "<span>{</span>{This Card|Is not Included}}",
18
16
  ", but ",
19
- {:options => {:inc_name=>"this is",:inc_syntax=>"this is"}},
17
+ {options: {inc_name: "this is",inc_syntax: "this is"}},
20
18
  ", and some tail"
21
19
  ],
22
- :classes => [String, :EscapedLiteral, String, :Include, String ]
20
+ classes: [String, :EscapedLiteral, String, :Include, String ]
23
21
  },
24
22
 
25
- :links_and_nests => {
26
- :content => %(Some Links and includes: [[the card|the text]], and {{This Card|Is Included}}{{this too}}
23
+ links_and_nests: {
24
+ content: %(Some Links and includes: [[the card|the text]], and {{This Card|Is Included}}{{this too}}
27
25
  and [[http://external.wagn.org/path|link text]]{{Included|open}}),
28
- :rendered =>
29
- [
26
+ rendered: [
30
27
  "Some Links and includes: ",
31
28
  "<a class=\"wanted-card\" href=\"/the_card?card%5Bname%5D=the+card\">the text</a>",
32
29
  ", and ",
33
- { :options => { :view => "Is Included", :inc_name=>"This Card", :inc_syntax => "This Card|Is Included"}},
34
- { :options => { :inc_name=>"this too", :inc_syntax=>"this too"}},
30
+ { options: { view: "Is Included", inc_name: "This Card", inc_syntax: "This Card|Is Included"}},
31
+ { options: { inc_name: "this too", inc_syntax: "this too"}},
35
32
  "\n and ",
36
33
  "<a target=\"_blank\" class=\"external-link\" href=\"http://external.wagn.org/path\">link text</a>",
37
- { :options => { :view=>"open", :inc_name=>"Included", :inc_syntax=>"Included|open" }}
34
+ { options: { view: "open", inc_name: "Included", inc_syntax: "Included|open" }}
38
35
  ],
39
- :classes => [String, :Link, String, :Include, :Include, String, :Link, :Include ]
36
+ classes: [String, :Link, String, :Include, :Include, String, :Link, :Include ]
40
37
  },
41
38
 
42
- :uris_and_links => {
43
- :content => %(Some URIs and Links: http://a.url.com/
39
+ uris_and_links: {
40
+ content: %(Some URIs and Links: http://a.url.com/
44
41
  More urls: wagn.com/a/path/to.html
45
42
  http://localhost:2020/path?cgi=foo&bar=baz [[http://brain.org/Home|extra]]
46
43
  [ http://gerry.wagn.com/a/path ]
47
44
  { https://brain.org/more?args }),
48
- :rendered =>
49
- [
45
+ rendered: [
50
46
  "Some URIs and Links: ", '<a target="_blank" class="external-link" href="http://a.url.com/">http://a.url.com/</a>',
51
47
  "\n More urls: ",
52
48
  "<a target=\"_blank\" class=\"external-link\" href=\"http://wagn.com/a/path/to.html\">wagn.com/a/path/to.html</a>",
@@ -60,8 +56,7 @@ EXAMPLES = {
60
56
  "<a target=\"_blank\" class=\"external-link\" href=\"https://brain.org/more?args\">https://brain.org/more?args</a>",
61
57
  " }"
62
58
  ],
63
- :text_rendered =>
64
- [
59
+ text_rendered: [
65
60
  "Some URIs and Links: ", 'http://a.url.com/',
66
61
  "\n More urls: ",
67
62
  "wagn.com/a/path/to.html[http://wagn.com/a/path/to.html]",
@@ -75,17 +70,16 @@ EXAMPLES = {
75
70
  "https://brain.org/more?args",
76
71
  " }"
77
72
  ],
78
- :classes => [String, :URI, String, :HostURI, String, :URI, String, :Link, String, :URI, String, :URI, String ]
73
+ classes: [String, :URI, String, :HostURI, String, :URI, String, :Link, String, :URI, String, :URI, String ]
79
74
  },
80
75
 
81
- :uris_and_links_2 => {
82
- :content => %(Some URIs and Links: http://a.url.com
76
+ uris_and_links_2: {
77
+ content: %(Some URIs and Links: http://a.url.com
83
78
  More urls: wagn.com/a/path/to.html
84
79
  [ http://gerry.wagn.com/a/path ]
85
80
  { https://brain.org/more?args }
86
81
  http://localhost:2020/path?cgi=foo&bar=baz [[http://brain.org/Home|extra]]),
87
- :rendered =>
88
- [
82
+ rendered: [
89
83
  "Some URIs and Links: ","<a target=\"_blank\" class=\"external-link\" href=\"http://a.url.com\">http://a.url.com</a>",
90
84
  "\n More urls: ",
91
85
  "<a target=\"_blank\" class=\"external-link\" href=\"http://wagn.com/a/path/to.html\">wagn.com/a/path/to.html</a>",
@@ -98,21 +92,21 @@ EXAMPLES = {
98
92
  " ",
99
93
  "<a target=\"_blank\" class=\"external-link\" href=\"http://brain.org/Home\">extra</a>"
100
94
  ],
101
- :classes => [String, :URI, String, :HostURI, String, :URI, String, :URI, String, :URI, String, :Link ]
95
+ classes: [String, :URI, String, :HostURI, String, :URI, String, :URI, String, :URI, String, :Link ]
102
96
  },
103
97
 
104
- :no_chunks => {
105
- :content => "No chunks",
106
- :rendered => "No chunks"
98
+ no_chunks: {
99
+ content: "No chunks",
100
+ rendered: "No chunks"
107
101
  },
108
102
 
109
- :single_nest => {
110
- :content => "{{one inclusion|size;large}}",
111
- :classes => [:Include]
103
+ single_nest: {
104
+ content: "{{one inclusion|size;large}}",
105
+ classes: [:Include]
112
106
  },
113
107
 
114
- :css => {
115
- :content => %~
108
+ css: {
109
+ content: %~
116
110
  /* body text */
117
111
  body {
118
112
  color: #444444;
@@ -171,7 +165,7 @@ describe Card::Content do
171
165
  @card = card
172
166
 
173
167
  # non-nil valued opts only ...
174
- @render_block = Proc.new do |opts| {:options => opts.inject({}) {|i,v| !v[1].nil? && i[v[0]]=v[1]; i } } end
168
+ @render_block = Proc.new do |opts| {options: opts.inject({}) {|i,v| !v[1].nil? && i[v[0]]=v[1]; i } } end
175
169
  end
176
170
 
177
171
  let(:example) { EXAMPLES[@example] }
@@ -254,7 +248,7 @@ describe Card::Content do
254
248
  it "renders links correctly for text formatters" do
255
249
  @example = :uris_and_links
256
250
  card2 = Card[@card.id]
257
- format = card2.format :format => :text
251
+ format = card2.format format: :text
258
252
  cobj = Card::Content.new content, format
259
253
  cobj.process_content_object &@render_block
260
254
  expect(cobj.as_json.to_json).to eq(text_rendered.to_json)