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
@@ -48,13 +48,13 @@ def clear_drafts
48
48
  end
49
49
  end
50
50
 
51
- event :save_draft, :before=>:store, :on=>:update, :when=>proc{ |c| Env.params['draft'] == 'true' } do
51
+ event :save_draft, before: :store, on: :update, when: proc{ |c| Env.params['draft'] == 'true' } do
52
52
  save_content_draft content
53
53
  abort :success
54
54
  end
55
55
 
56
56
 
57
- event :set_default_content, :on=>:create, :before=>:approve do
57
+ event :set_default_content, on: :create, before: :approve do
58
58
  if !db_content_changed? && template && template.db_content.present?
59
59
  self.db_content = template.db_content
60
60
  end
@@ -20,7 +20,7 @@ module ClassMethods
20
20
  # :skip_virtual Real cards only
21
21
  # :skip_modules Don't load Set modules
22
22
  # :look_in_trash Return trashed card objects
23
- # :new => { card opts } Return a new card when not found
23
+ # new: { card opts } Return a new card when not found
24
24
  #
25
25
  def fetch mark, opts={}
26
26
  if String === mark
@@ -68,21 +68,21 @@ module ClassMethods
68
68
  end
69
69
 
70
70
  def fetch_id mark #should optimize this. what if mark is int? or codename?
71
- card = fetch mark, :skip_virtual=>true, :skip_modules=>true
71
+ card = fetch mark, skip_virtual: true, skip_modules: true
72
72
  card and card.id
73
73
  end
74
74
 
75
75
  def [](mark)
76
- fetch mark, :skip_virtual=>true
76
+ fetch mark, skip_virtual: true
77
77
  end
78
78
 
79
79
  def exists? mark
80
- card = fetch mark, :skip_virtual=>true, :skip_modules=>true
80
+ card = fetch mark, skip_virtual: true, skip_modules: true
81
81
  card.present?
82
82
  end
83
83
 
84
84
  def known? mark
85
- card = fetch mark, :skip_modules=>true
85
+ card = fetch mark, skip_modules: true
86
86
  card.present?
87
87
  end
88
88
 
@@ -170,7 +170,7 @@ module ClassMethods
170
170
  end
171
171
 
172
172
  def new_for_cache name, opts
173
- new_args = { :name=>name, :skip_modules=>true }
173
+ new_args = { name: name, skip_modules: true }
174
174
  new_args[:type_id] = -1 unless clean_cache_opts? opts
175
175
  # The -1 type_id allows us to skip all the type lookup and flag the need for
176
176
  # reinitialization later. *** It should NEVER be seen elsewhere ***
@@ -16,9 +16,9 @@ def initialize args={}
16
16
 
17
17
  args.delete('type_id') if args['type_id'] == 0 # can come in as 0, '', or nil
18
18
  @type_args = {
19
- :type => args.delete('type' ),
20
- :type_code => args.delete('type_code'),
21
- :type_id => args[ 'type_id' ]
19
+ type: args.delete('type' ),
20
+ type_code: args.delete('type_code'),
21
+ type_id: args[ 'type_id' ]
22
22
  }
23
23
 
24
24
  args['db_content'] = args.delete('content') if args['content']
@@ -50,6 +50,6 @@ def include_set_modules
50
50
  end
51
51
 
52
52
 
53
- event :initialize_success_object, :before=>:handle do
53
+ event :initialize_success_object, before: :handle do
54
54
  Env[:success] = Success.new(cardname, Env.params[:success])
55
55
  end
@@ -1,10 +1,10 @@
1
- event :discard_deleted_locations, :after=>:store, :on=>:delete do
1
+ event :discard_deleted_locations, after: :store, on: :delete do
2
2
  Env.discard_locations_for self
3
3
  if success.target == self
4
4
  success.target = :previous
5
5
  end
6
6
  end
7
7
 
8
- event :save_current_location, :before=>:show, :on=>:read do
8
+ event :save_current_location, before: :show, on: :read do
9
9
  Env.save_location self
10
10
  end
@@ -83,7 +83,7 @@ def tag *args
83
83
  end
84
84
 
85
85
  def left_or_new args={}
86
- left args or Card.new args.merge(:name=>cardname.left)
86
+ left args or Card.new args.merge(name: cardname.left)
87
87
  end
88
88
 
89
89
  def children
@@ -134,17 +134,17 @@ rescue
134
134
  end
135
135
 
136
136
 
137
- event :permit_codename, :before=>:approve, :on=>:update, :changed=>:codename do
137
+ event :permit_codename, before: :approve, on: :update, changed: :codename do
138
138
  errors.add :codename, 'only admins can set codename' unless Auth.always_ok?
139
139
  end
140
140
 
141
- event :validate_unique_codename, :after=>:permit_codename do
141
+ event :validate_unique_codename, after: :permit_codename do
142
142
  if codename.present? and errors.empty? and Card.find_by_codename(codename).present?
143
143
  errors.add :codename, "codename #{codename} already in use"
144
144
  end
145
145
  end
146
146
 
147
- event :validate_name, :before=>:approve, :on=>:save do
147
+ event :validate_name, before: :approve, on: :save do
148
148
  cdname = name.to_name
149
149
  if name.length > 255
150
150
  errors.add :name, "is too long (255 character maximum)"
@@ -157,7 +157,7 @@ event :validate_name, :before=>:approve, :on=>:save do
157
157
  errors.add :name, "may not contain any of the following characters: #{ Card::Name.banned_array * ' ' }"
158
158
  end
159
159
  # this is to protect against using a plus card as a tag
160
- if cdname.junction? and simple? and id and Auth.as_bot { Card.count_by_wql :right_id=>id } > 0
160
+ if cdname.junction? and simple? and id and Auth.as_bot { Card.count_by_wql right_id: id } > 0
161
161
  errors.add :name, "#{name} in use as a tag"
162
162
  end
163
163
 
@@ -175,15 +175,15 @@ event :validate_name, :before=>:approve, :on=>:save do
175
175
  end
176
176
 
177
177
 
178
- event :set_autoname, :before=>:validate_name, :on=>:create do
178
+ event :set_autoname, before: :validate_name, on: :create do
179
179
  if name.blank? and autoname_card = rule_card(:autoname)
180
180
  self.name = autoname autoname_card.content
181
- Auth.as_bot { autoname_card.refresh.update_attributes! :content=>name } #fixme, should give placeholder on new, do next and save on create
181
+ Auth.as_bot { autoname_card.refresh.update_attributes! content: name } #fixme, should give placeholder on new, do next and save on create
182
182
  end
183
183
  end
184
184
 
185
185
 
186
- event :validate_key, :after=>:validate_name, :on=>:save do
186
+ event :validate_key, after: :validate_name, on: :save do
187
187
  if key.empty?
188
188
  errors.add :key, "cannot be blank" if errors.empty?
189
189
  elsif key != cardname.key
@@ -191,7 +191,7 @@ event :validate_key, :after=>:validate_name, :on=>:save do
191
191
  end
192
192
  end
193
193
 
194
- event :set_name, :before=>:store, :changed=>:name do
194
+ event :set_name, before: :store, changed: :name do
195
195
  Card.expire name
196
196
  Card.expire name_was
197
197
  if cardname.junction?
@@ -203,7 +203,7 @@ event :set_name, :before=>:store, :changed=>:name do
203
203
  suspend_name(sidename) if old_name_in_way
204
204
  send "#{side}_id=", begin
205
205
  if !sidecard || old_name_in_way
206
- Card.create! :name=>sidename, :supercard => self
206
+ Card.create! name: sidename, supercard: self
207
207
  else
208
208
  sidecard
209
209
  end.id
@@ -215,7 +215,7 @@ event :set_name, :before=>:store, :changed=>:name do
215
215
  end
216
216
 
217
217
 
218
- event :rename, :after=>:set_name, :on=>:update do
218
+ event :rename, after: :set_name, on: :update do
219
219
  if existing_card = Card.find_by_key_and_trash(cardname.key, true) and existing_card != self
220
220
  existing_card.name = existing_card.name+'*trash'
221
221
  existing_card.rename_without_callbacks
@@ -228,11 +228,11 @@ def suspend_name(name)
228
228
  # re-creating a card with the current name, ie. A -> A+B
229
229
  Card.expire name
230
230
  tmp_name = "tmp:" + UUID.new.generate
231
- Card.where(:id=>self.id).update_all(:name=>tmp_name, :key=>tmp_name)
231
+ Card.where(id: self.id).update_all(name: tmp_name, key: tmp_name)
232
232
  end
233
233
 
234
234
 
235
- event :cascade_name_changes, :after=>:store, :on=>:update, :changed=>:name do
235
+ event :cascade_name_changes, after: :store, on: :update, changed: :name do
236
236
  #Rails.logger.info "------------------- #{name_was} CASCADE #{self.name} -------------------------------------"
237
237
 
238
238
  self.update_referencers = false if self.update_referencers == 'false' #handle strings from cgi
@@ -248,7 +248,7 @@ event :cascade_name_changes, :after=>:store, :on=>:update, :changed=>:name do
248
248
  Rails.logger.info "cascading name: #{dep.name}"
249
249
  Card.expire dep.name #old name
250
250
  newname = dep.cardname.replace_part name_was, name
251
- Card.where( :id=> dep.id ).update_all :name => newname.to_s, :key => newname.key
251
+ Card.where( id: dep.id ).update_all name: newname.to_s, key: newname.key
252
252
  Card::Reference.update_on_rename dep, newname, update_referencers
253
253
  Card.expire newname
254
254
  end
@@ -21,7 +21,7 @@ def reset_patterns_if_rule saving=false
21
21
 
22
22
  #this is really messy.
23
23
  if saving
24
- self.add_to_read_rule_update_queue( set.item_cards :limit=>0 ) if right.id == Card::ReadID
24
+ self.add_to_read_rule_update_queue( set.item_cards limit: 0 ) if right.id == Card::ReadID
25
25
  end
26
26
  end
27
27
  end
@@ -1,5 +1,5 @@
1
1
 
2
- Card.error_codes.merge! :permission_denied=>[:denial, 403], :captcha=>[:errors,449]
2
+ Card.error_codes.merge! permission_denied: [:denial, 403], captcha: [:errors,449]
3
3
 
4
4
 
5
5
  # ok? and ok! are public facing methods to approve one action at a time
@@ -7,8 +7,8 @@ Card.error_codes.merge! :permission_denied=>[:denial, 403], :captcha=>[:errors,4
7
7
  # fetching: if the optional :trait parameter is supplied, it is passed
8
8
  # to fetch and the test is perfomed on the fetched card, therefore:
9
9
  #
10
- # :trait=>:account would fetch this card plus a tag codenamed :account
11
- # :trait=>:roles, :new=>{} would initialize a new card with default ({}) options.
10
+ # trait: :account would fetch this card plus a tag codenamed :account
11
+ # trait: :roles, new: {} would initialize a new card with default ({}) options.
12
12
 
13
13
 
14
14
  def ok? action
@@ -44,7 +44,7 @@ def permission_rule_card action
44
44
 
45
45
  rcard = Auth.as_bot do
46
46
  if ['_left','[[_left]]'].member?(opcard.db_content) && self.junction? # compound cards can inherit permissions from left parent
47
- lcard = left_or_new( :skip_virtual=>true, :skip_modules=>true )
47
+ lcard = left_or_new( skip_virtual: true, skip_modules: true )
48
48
  if action==:create && lcard.real? && !lcard.action==:create
49
49
  action = :update
50
50
  end
@@ -102,7 +102,7 @@ def ok_to_create
102
102
  if @action_ok and junction?
103
103
  [:left, :right].each do |side|
104
104
  next if side==:left && @superleft # left is supercard; create permissions will get checked there.
105
- part_card = send side, :new=>{}
105
+ part_card = send side, new: {}
106
106
  if part_card && part_card.new_card? # if no card, there must be other errors
107
107
  unless part_card.ok? :create
108
108
  deny_because you_cant("create #{part_card.name}")
@@ -142,7 +142,7 @@ def ok_to_comment
142
142
  end
143
143
 
144
144
 
145
- event :set_read_rule, :before=>:store do
145
+ event :set_read_rule, before: :store do
146
146
  if trash == true
147
147
  self.read_rule_id = self.read_rule_class = nil
148
148
  else
@@ -155,7 +155,7 @@ event :set_read_rule, :before=>:store do
155
155
 
156
156
  if !new_card? && type_id_changed?
157
157
  Auth.as_bot do
158
- Card.search(:left=>self.name).each do |plus_card|
158
+ Card.search(left: self.name).each do |plus_card|
159
159
  plus_card = plus_card.refresh.update_read_rule
160
160
  end
161
161
  end
@@ -172,12 +172,12 @@ def update_read_rule
172
172
  #warn "updating read rule for #{inspect} to #{rcard.inspect}, #{rclass}"
173
173
 
174
174
  self.read_rule_class = rclass
175
- Card.where(:id=>self.id).update_all(:read_rule_id=>rcard.id, :read_rule_class=>rclass)
175
+ Card.where(id: self.id).update_all(read_rule_id: rcard.id, read_rule_class: rclass)
176
176
  expire
177
177
 
178
178
  # currently doing a brute force search for every card that may be impacted. may want to optimize(?)
179
179
  Auth.as_bot do
180
- Card.search(:left=>self.name).each do |plus_card|
180
+ Card.search(left: self.name).each do |plus_card|
181
181
  if plus_card.rule(:read) == '_left'
182
182
  plus_card.update_read_rule
183
183
  end
@@ -193,7 +193,7 @@ def add_to_read_rule_update_queue updates
193
193
  end
194
194
 
195
195
 
196
- event :check_permissions, :after=>:approve do
196
+ event :check_permissions, after: :approve do
197
197
  task = if @action != :delete && comment #will be obviated by new comment handling
198
198
  :comment
199
199
  else
@@ -231,10 +231,10 @@ def have_recaptcha_keys?
231
231
  !!( Card.config.recaptcha_public_key && Card.config.recaptcha_private_key )
232
232
  end
233
233
 
234
- event :recaptcha, :before=>:approve do
234
+ event :recaptcha, before: :approve do
235
235
  if !@supercard && !Env[:recaptcha_used] && recaptcha_on?
236
236
  Env[:recaptcha_used] = true
237
- Env[:controller].verify_recaptcha :model=>self, :attribute=>:captcha
237
+ Env[:controller].verify_recaptcha model: self, attribute: :captcha
238
238
  end
239
239
  end
240
240
 
@@ -121,26 +121,43 @@ end
121
121
 
122
122
 
123
123
  def event_applies? opts
124
- if opts[:on]
125
- return false unless Array.wrap( opts[:on] ).member? @action
124
+ on_condition_applies?(opts[:on]) &&
125
+ changed_condition_applies?(opts[:changed]) &&
126
+ when_condition_applies?(opts[:when])
127
+ end
128
+
129
+ def on_condition_applies? action
130
+ if action
131
+ Array.wrap(action).member? @action
132
+ else
133
+ true
126
134
  end
127
- if changed_field = opts[:changed]
135
+ end
128
136
 
129
- changed_field = 'db_content' if changed_field.to_sym == :content
130
- return false if @action == :delete or !changes[ changed_field.to_s ]
137
+ def changed_condition_applies? db_column
138
+ if db_column
139
+ db_column = 'db_content' if db_column.to_sym == :content
140
+ @action != :delete && changes[db_column.to_s]
141
+ else
142
+ true
131
143
  end
132
- if opts[:when]
133
- return false unless opts[:when].call self
144
+ end
145
+
146
+ def when_condition_applies? block
147
+ if block
148
+ block.call self
149
+ else
150
+ true
134
151
  end
135
- true
136
152
  end
137
153
 
154
+
138
155
  def subcards
139
156
  @subcards ||= {}
140
157
  end
141
158
 
142
159
 
143
- event :process_subcards, :after=>:approve, :on=>:save do
160
+ event :process_subcards, after: :approve, on: :save do
144
161
  subcards.keys.each do |sub_name|
145
162
  opts = @subcards[sub_name] || {}
146
163
  opts = { 'content' => opts } if String===opts
@@ -169,7 +186,7 @@ event :process_subcards, :after=>:approve, :on=>:save do
169
186
  end
170
187
  end
171
188
 
172
- event :approve_subcards, :after=>:process_subcards do
189
+ event :approve_subcards, after: :process_subcards do
173
190
  subcards.each do |key, subcard|
174
191
  if !subcard.valid_subcard?
175
192
  subcard.errors.each do |field, err|
@@ -180,9 +197,9 @@ event :approve_subcards, :after=>:process_subcards do
180
197
  end
181
198
  end
182
199
 
183
- event :store_subcards, :after=>:store do
200
+ event :store_subcards, after: :store do
184
201
  subcards.each do |key, sub|
185
- sub.save! :validate=>false #unless @draft
202
+ sub.save! validate: false #unless @draft
186
203
  end
187
204
  end
188
205
 
@@ -16,7 +16,7 @@ def replace_references old_name, new_name
16
16
  obj_content.find_chunks( Card::Chunk::Reference ).select do |chunk|
17
17
  if old_ref_name = chunk.referee_name and new_ref_name = old_ref_name.replace_part(old_name, new_name)
18
18
  chunk.referee_name = chunk.replace_reference old_name, new_name
19
- Card::Reference.where( :referee_key => old_ref_name.key ).update_all :referee_key => new_ref_name.key
19
+ Card::Reference.where( referee_key: old_ref_name.key ).update_all referee_key: new_ref_name.key
20
20
  end
21
21
  end
22
22
 
@@ -30,7 +30,7 @@ def update_references rendered_content = nil, refresh = false
30
30
  Card::Reference.delete_all_from self
31
31
 
32
32
  # FIXME: why not like this: references_expired = nil # do we have to make sure this is saved?
33
- #Card.update( id, :references_expired=>nil )
33
+ #Card.update( id, references_expired: nil )
34
34
  # or just this and save it elsewhere?
35
35
  #references_expired=nil
36
36
 
@@ -67,11 +67,11 @@ def update_references rendered_content = nil, refresh = false
67
67
  else 'P'
68
68
  end
69
69
  Card::Reference.create!(
70
- :referer_id => id,
71
- :referee_id => Card.where(:key=>name.key).pluck(:id).first,
72
- :referee_key => name.key,
73
- :ref_type => ref_type,
74
- :present => 1
70
+ referer_id: id,
71
+ referee_id: Card.where(key: name.key).pluck(:id).first,
72
+ referee_key: name.key,
73
+ ref_type: ref_type,
74
+ present: 1
75
75
  )
76
76
  end
77
77
  end
@@ -89,18 +89,18 @@ def referencers
89
89
  end
90
90
 
91
91
  def includers
92
- return [] unless refs = references_from.where( :ref_type => 'I' )
92
+ return [] unless refs = references_from.where( ref_type: 'I' )
93
93
  refs.map(&:referer_id).map( &Card.method(:fetch) ).compact
94
94
  end
95
95
 
96
96
  def referees
97
97
  return [] unless refs = references_to
98
- refs.map { |ref| Card.fetch ref.referee_key, :new=>{} }.compact
98
+ refs.map { |ref| Card.fetch ref.referee_key, new: {} }.compact
99
99
  end
100
100
 
101
101
  def includees
102
- return [] unless refs = references_to.where( :ref_type => 'I' )
103
- refs.map { |ref| Card.fetch ref.referee_key, :new=>{} }.compact
102
+ return [] unless refs = references_to.where( ref_type: 'I' )
103
+ refs.map { |ref| Card.fetch ref.referee_key, new: {} }.compact
104
104
  end
105
105
 
106
106
 
@@ -108,17 +108,17 @@ end
108
108
  protected
109
109
 
110
110
 
111
- event :refresh_references, :after=>:store, :on=>:save do
111
+ event :refresh_references, after: :store, on: :save do
112
112
  self.update_references
113
113
  expire_structuree_references
114
114
  end
115
115
 
116
- event :refresh_references_on_create, :before=>:refresh_references, :on=>:create do
116
+ event :refresh_references_on_create, before: :refresh_references, on: :create do
117
117
  Card::Reference.update_existing_key self
118
118
  # FIXME: bogus blank default content is set on structured cards...
119
119
  end
120
120
 
121
- event :refresh_references_on_delete, :after=>:store, :on=>:delete do
121
+ event :refresh_references_on_delete, after: :store, on: :delete do
122
122
  Card::Reference.update_on_delete self
123
123
  expire_structuree_references
124
124
  end