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
@@ -1,19 +1,19 @@
1
1
 
2
2
  def process_email_addresses context_card, format_args, args
3
- format(format_args).render_email_addresses(args.merge(:context=>context_card))
3
+ format(format_args).render_email_addresses(args.merge(context: context_card))
4
4
  end
5
5
 
6
6
 
7
7
  format do
8
- def chunk_list #turn off autodetection of uri's
8
+ def chunk_list #turn off autodetection of uri's
9
9
  :references
10
10
  end
11
11
  end
12
12
 
13
13
 
14
14
  format :html do
15
- view :pointer_items do |args|
16
- card.item_names(:context=>:raw).map do |iname|
15
+ view :pointer_items do |args|
16
+ card.item_names(context: :raw).map do |iname|
17
17
  wrap_item iname, args
18
18
  end.join ', '
19
19
  end
@@ -22,19 +22,19 @@ end
22
22
  format :email_text do
23
23
  view :email_addresses do |args|
24
24
  context = args[:context] || self
25
- card.item_names(:context=>context.cardname).map do |item_name|
25
+ card.item_names(context: context.cardname).map do |item_name|
26
26
  # note that context is processed twice here because pointers absolutize item_names by default
27
27
  # while other types can return relative names. That's poor default behavior and should be fixed!
28
28
  item_name = item_name.to_name.to_absolute(context).to_s
29
- if item_name.match /.+\@.+\..+/
29
+ if item_name.match(/.+\@.+\..+/)
30
30
  item_name
31
31
  elsif item_card = Card.fetch( item_name )
32
32
  if item_card.account
33
33
  item_card.account.email
34
34
  else
35
- item_card.contextual_content(context,:format=>:email_text).split( /[,\n]/ )
35
+ item_card.contextual_content(context,format: :email_text).split( /[,\n]/ )
36
36
  end
37
- end
37
+ end
38
38
  end.flatten.compact.join(', ')
39
39
  end
40
40
  end
@@ -5,7 +5,11 @@ def option_cards
5
5
  end
6
6
 
7
7
  def options_rule_card
8
- Card.new :name=>'follow_options_card', :type_code=>:pointer, :content=>option_cards.map {|oc| "[[#{oc.title}]]" }.join("\n")
8
+ Card.new(
9
+ name: 'follow_options_card',
10
+ type_code: :pointer,
11
+ content: option_cards.map {|oc| "[[#{oc.title}]]" }.join("\n")
12
+ )
9
13
  end
10
14
 
11
15
 
@@ -14,13 +18,13 @@ format :html do
14
18
  args[:condition] ||= Env.params[:condition] || '*always'
15
19
  end
16
20
 
17
- view :follow_item, :tags=>:unknown_ok do |args|
21
+ view :follow_item, tags: :unknown_ok do |args|
18
22
  if card.new_card? || !card.include_item?(args[:condition])
19
23
  button_view = :add_follow_rule_button
20
- form_opts = {:add_item=>args[:condition]}
24
+ form_opts = {add_item: args[:condition]}
21
25
  else
22
26
  button_view = :delete_follow_rule_button
23
- form_opts = {:drop_item=>args[:condition]}
27
+ form_opts = {drop_item: args[:condition]}
24
28
  end
25
29
 
26
30
  text = if (option_card = Card.fetch args[:condition])
@@ -34,11 +38,14 @@ format :html do
34
38
  "#{card.rule_set_name}+by name"
35
39
  end
36
40
  wrap do
37
- card_form({:action=>:update, :name=>card.name, :success=>{:view=>:follow_item}},
38
- :hidden=>{:condition=>args[:condition]}.merge(form_opts)) do
41
+ card_form(
42
+ { action: :update, name: card.name, success: { view: :follow_item } },
43
+ hidden: { condition: args[:condition] }.merge(form_opts)
44
+ ) do
45
+
39
46
  output [
40
47
  _optional_render(button_view, args),
41
- card_link( link_target, :text=>text)
48
+ card_link( link_target, text: text)
42
49
  ]
43
50
  end
44
51
  end
@@ -49,36 +56,56 @@ format :html do
49
56
  end
50
57
 
51
58
  view :follow_status do |args|
52
- # #{ link_to '×', '', 'aria-hidden'=>true, :class=>'close update-follow-link', 'data-dismiss'=>'modal', 'data-card_key'=>args[:card_key] }
53
59
  %{
54
-
55
60
  <h4>Get notified about changes</h4>
56
61
 
57
62
  #{
58
- wrap_with( :ul, :class=>'delete-list list-group') do
63
+ wrap_with( :ul, class: 'delete-list list-group') do
59
64
  card.item_names.map do |option|
60
- content_tag :li, :class=>'list-group-item' do
61
- subformat(card).render_follow_item :condition=>(option == '*never' ? '*always' : option)
65
+ content_tag :li, class: 'list-group-item' do
66
+ condition = option == '*never' ? '*always' : option
67
+ subformat(card).render_follow_item condition: condition
62
68
  end
63
69
  end.join "\n"
64
70
  end
65
71
  }
66
72
 
67
- #{ card_link(args[:card_key], :text=>'more options', :path_opts=>{:view=>:related, :related=>{:name=>card.name,:view=>:related_edit_rule}}, :class=>'btn update-follow-link', 'data-card_key'=>args[:card_key]) }
73
+ #{
74
+ card_link(args[:card_key], {
75
+ text: 'more options',
76
+ path_opts: {
77
+ view: :related,
78
+ related: {
79
+ name: card.name,
80
+ view: :related_edit_rule
81
+ }
82
+ },
83
+ class: 'btn update-follow-link',
84
+ 'data-card_key'=>args[:card_key]
85
+ })
86
+ }
68
87
  }
69
88
  end
70
89
 
71
90
 
72
91
  view :delete_follow_rule_button do |args|
73
- button_tag :type=>:submit, :class=>'btn-xs btn-item-delete btn-primary', 'aria-label'=>'Left Align' do
74
- tag :span, :class=>"glyphicon glyphicon-ok", 'aria-hidden'=>"true"
92
+ button_tag(
93
+ type: :submit,
94
+ class: 'btn-xs btn-item-delete btn-primary', 'aria-label'=>'Left Align'
95
+ ) do
96
+
97
+ tag :span, class: "glyphicon glyphicon-ok", 'aria-hidden'=>"true"
75
98
  end
76
99
 
77
100
  end
78
101
 
79
102
  view :add_follow_rule_button do |args|
80
- button_tag :type=>:submit, :class=>'btn-xs btn-item-add', 'aria-label'=>'Left Align' do
81
- tag :span, :class=>"glyphicon glyphicon-plus", 'aria-hidden'=>"true"
103
+ button_tag(
104
+ type: :submit,
105
+ class: 'btn-xs btn-item-add', 'aria-label'=>'Left Align'
106
+ ) do
107
+
108
+ tag :span, class: "glyphicon glyphicon-plus", 'aria-hidden'=>"true"
82
109
  end
83
110
  end
84
111
 
@@ -1,3 +1,3 @@
1
- event :follow_fields_changed, :before=>:extend do
1
+ event :follow_fields_changed, before: :extend do
2
2
  Card.follow_caches_expired
3
3
  end
@@ -4,49 +4,58 @@ def virtual?; true end
4
4
 
5
5
  format :html do
6
6
 
7
- view :core do |args|
8
- if card.left and Auth.signed_in?
9
- render_rule_editor args
10
- else
11
- followers_card = Card.fetch("#{card.cardname.left}+#{Card[:followers].name}")
12
- nest followers_card, :view=>:titled, :item=>:link
13
- end
14
- end
15
-
16
- view :status do |args|
17
- if rcard = current_follow_rule_card
18
- rcard.item_cards.map do |item|
19
- %{<div class="alert alert-success" role="alert">
20
- <strong>#{rcard.rule_set.follow_label}</strong>: #{item.title}
21
- </div>}
22
- end.join
23
- else
24
- "No following preference"
25
- end
26
- end
27
-
28
- view :closed_content do |args|
29
- ''
30
- end
31
-
7
+ view :core do |args|
8
+ if card.left && Auth.signed_in?
9
+ render_rule_editor args
10
+ else
11
+ fname = "#{card.cardname.left}+#{Card[:followers].name}"
12
+ fcard = Card.fetch fname
13
+ nest fcard, view: :titled, item: :link
14
+ end
15
+ end
16
+
17
+ view :status do |args|
18
+ if (rcard = current_follow_rule_card)
19
+ rcard.item_cards.map do |item|
20
+ %{<div class="alert alert-success" role="alert">
21
+ <strong>#{rcard.rule_set.follow_label}</strong>: #{item.title}
22
+ </div>}
23
+ end.join
24
+ else
25
+ 'No following preference'
26
+ end
27
+ end
28
+
29
+ view :closed_content do |args|
30
+ ''
31
+ end
32
+
32
33
  =begin
33
34
  view :editor do |args|
34
- hidden_field( :content, :class=>'card-content', 'no-autosave'=>true) +
35
+ hidden_field( :content, class: 'card-content', 'no-autosave'=>true) +
35
36
  (args.delete(:select_list) ? raw(render_rule_editor(args)) : super(args) )
36
37
  end
37
38
  =end
38
-
39
- view :rule_editor do |args|
40
- preference_name = "#{card.left.default_follow_set_card.name}+#{Auth.current.name}+#{Card[:follow].name}"
41
- rule_context = Card.fetch preference_name, :new=>{:type_id=>PointerID}
42
- wrap_with :div, :class=>'edit-rule' do
43
- subformat(current_follow_rule_card || rule_context).render_edit_rule :rule_context=>rule_context,
44
- :success=>{ :view=>'status', :id=>card.name }
45
- end
46
- end
47
-
48
- def current_follow_rule_card
49
- card.left.rule_card :follow, :user=>Auth.current
50
- end
51
-
39
+
40
+ view :rule_editor do |args|
41
+ preference_name = [
42
+ card.left.default_follow_set_card.name,
43
+ Auth.current.name,
44
+ Card[:follow].name
45
+ ]*'+'
46
+ rule_context = Card.fetch preference_name, new: { type_id: PointerID }
47
+
48
+ wrap_with :div, class: 'edit-rule' do
49
+ follow_context = current_follow_rule_card || rule_context
50
+ subformat(follow_context).render_edit_rule(
51
+ rule_context: rule_context,
52
+ success: { view: 'status', id: card.name }
53
+ )
54
+ end
55
+ end
56
+
57
+ def current_follow_rule_card
58
+ card.left.rule_card :follow, user: Auth.current
59
+ end
60
+
52
61
  end
@@ -1,8 +1,8 @@
1
1
  include Card::FollowOption
2
2
 
3
- self.follow_opts :position=>2
3
+ follow_opts position: 2
4
4
 
5
- self.follow_test { |follower_id, accounted_ids| true }
5
+ follow_test { |follower_id, accounted_ids| true }
6
6
 
7
7
  def title
8
8
  'Following'
@@ -1,6 +1,6 @@
1
1
  include Card::FollowOption
2
2
 
3
- self.restrictive_follow_opts :position=>1
3
+ self.restrictive_follow_opts position: 1
4
4
 
5
5
  self.follower_candidate_ids do |card|
6
6
  [ card.creator_id ]
@@ -1,21 +1,21 @@
1
1
  include Card::FollowOption
2
2
 
3
- self.restrictive_follow_opts :position=>2
3
+ self.restrictive_follow_opts position: 2
4
4
 
5
5
  self.follower_candidate_ids do |card|
6
6
  # FIXME? - could optimize by not using cards table...
7
- Card.search :editor_of=>card.name, :return=>:id
7
+ Card.search editor_of: card.name, return: :id
8
8
  end
9
9
 
10
10
 
11
- def title
11
+ def title
12
12
  'Following content you edited'
13
13
  end
14
14
 
15
15
  def label
16
16
  "follow if I edited"
17
17
  end
18
-
18
+
19
19
  def description set_card
20
20
  "#{set_card.follow_label} I edited"
21
21
  end
@@ -1,2 +1,2 @@
1
1
  extend Card::Setting
2
- setting_opts :group=>:other, :position=>7, :rule_type_editable => false, :user_specific=>true
2
+ setting_opts group: :other, position: 7, rule_type_editable: false, user_specific: true
@@ -1,4 +1,4 @@
1
- event :update_follow_rules, :after=>:store, :on=>:save, :when=> proc { |c| c.update_all_users } do
1
+ event :update_follow_rules, after: :store, on: :save, when: proc { |c| c.update_all_users } do
2
2
  defaults = item_names.map do |item|
3
3
  if ((set_card = Card.fetch item.to_name.left) && set_card.type_code == :set)
4
4
  option_card = Card.fetch(item.to_name.right) || Card[item.to_name.right.to_sym]
@@ -13,9 +13,9 @@ event :update_follow_rules, :after=>:store, :on=>:save, :when=> proc { |c| c.upd
13
13
  end
14
14
  end.compact
15
15
  Auth.as_bot do
16
- Card.search(:type=>'user').each do |user|
16
+ Card.search(type: 'user').each do |user|
17
17
  defaults.each do |set_card, option|
18
- if (follow_rule = Card.fetch(set_card.follow_rule_name(user.name), :new=>{}))
18
+ if (follow_rule = Card.fetch(set_card.follow_rule_name(user.name), new: {}))
19
19
  follow_rule.drop_item "*never"
20
20
  follow_rule.drop_item "*always"
21
21
  follow_rule.add_item option
@@ -28,7 +28,7 @@ event :update_follow_rules, :after=>:store, :on=>:save, :when=> proc { |c| c.upd
28
28
  end
29
29
 
30
30
  format :html do
31
- view :edit, :perms=>:update, :tags=>:unknown_ok do |args|
31
+ view :edit, perms: :update, tags: :unknown_ok do |args|
32
32
  frame_and_form :update, args do
33
33
  [
34
34
  _optional_render( :content_formgroup, args ),
@@ -53,13 +53,13 @@ format :html do
53
53
  def default_edit_args args
54
54
  args[:hidden] ||= {}
55
55
  args[:hidden].reverse_merge!(
56
- :success => '_self',
57
- :card => { :update_all_users => false }
56
+ success: '_self',
57
+ card: { update_all_users: false }
58
58
  )
59
59
  args[:buttons] = %{
60
- #{ button_tag 'Submit and update all users', :disable_with=>'Updating', :class=>'follow-updater', :situation=>'primary' }
61
- #{ button_tag 'Submit', :class=>'follow' }
62
- #{ button_tag 'Cancel', :class=>'slotter', :type=>'button', :href=>path(:view=>:edit, :id=>card.id)}
60
+ #{ button_tag 'Submit and update all users', disable_with: 'Updating', class: 'follow-updater', situation: 'primary' }
61
+ #{ button_tag 'Submit', class: 'follow' }
62
+ #{ button_tag 'Cancel', class: 'slotter', type: 'button', href: path(view: :edit, id: card.id)}
63
63
  }
64
64
 
65
65
  end
@@ -1,6 +1,6 @@
1
1
  include Card::FollowOption
2
2
 
3
- self.follow_opts :position=>3
3
+ self.follow_opts position: 3
4
4
 
5
5
  self.follow_test { |follower_id, accounted_ids| false }
6
6
 
@@ -16,7 +16,7 @@ def process_email_field field, config, args
16
16
  config[field] =
17
17
  if args[field]
18
18
  args[field]
19
- elsif field_card = fetch(:trait=>field)
19
+ elsif field_card = fetch(trait: field)
20
20
  # configuration can be anything visible to configurer
21
21
  user = ( args[:follower] and Card.fetch(args[:follower]) ) || field_card.updater
22
22
  Auth.as( user ) do
@@ -31,7 +31,7 @@ def process_message_field field, config, args, format, special_args=nil
31
31
  process_email_field( field, config, args ) do |field_card|
32
32
  content_args = args.clone
33
33
  content_args.merge! special_args if special_args
34
- field_card.contextual_content args[:context], { :format=>format }, content_args
34
+ field_card.contextual_content args[:context], { format: format }, content_args
35
35
  end
36
36
  end
37
37
 
@@ -41,13 +41,13 @@ def email_config args={}
41
41
 
42
42
  [:to, :from, :cc, :bcc].each do |field_name|
43
43
  process_email_field( field_name, config, args ) do |field_card|
44
- field_card.process_email_addresses args[:context], {:format=>'email_text'}, args
44
+ field_card.process_email_addresses args[:context], {format: 'email_text'}, args
45
45
  end
46
46
  end
47
47
  process_email_field( :attach, config, args ) do |field_card|
48
48
  field_card.extended_item_contents args[:context]
49
49
  end
50
- process_message_field :subject, config, args, 'email_text', :content_opts=>{ :chunk_list=>:inclusion_only }
50
+ process_message_field :subject, config, args, 'email_text', content_opts: { chunk_list: :inclusion_only }
51
51
  process_message_field :text_message, config, args, 'email_text'
52
52
  process_message_field :html_message, config, args, 'email_html'
53
53
  config[:html_message] = Card::Mailer.layout config[:html_message] if config[:html_message].present?
@@ -66,7 +66,7 @@ end
66
66
 
67
67
 
68
68
  format do
69
- view :mail, :perms=>:none do |args|
69
+ view :mail, perms: :none do |args|
70
70
  args = card.email_config(args)
71
71
  text_message = args.delete(:text_message)
72
72
  html_message = args.delete(:html_message)
@@ -76,11 +76,11 @@ format do
76
76
  if alternative
77
77
  if attachment_list and !attachment_list.empty?
78
78
  content_type 'multipart/mixed'
79
- part :content_type => 'multipart/alternative' do |copy|
80
- copy.part :content_type => 'text/plain' do |plain|
79
+ part content_type: 'multipart/alternative' do |copy|
80
+ copy.part content_type: 'text/plain' do |plain|
81
81
  plain.body = text_message
82
82
  end
83
- copy.part :content_type => 'text/html' do |html|
83
+ copy.part content_type: 'text/html' do |html|
84
84
  html.body = html_message
85
85
  end
86
86
  end
@@ -102,7 +102,7 @@ format do
102
102
  if attachment_list
103
103
  attachment_list.each_with_index do |cardname, i|
104
104
  if c = Card[ cardname ] and c.respond_to?(:attachment)
105
- add_file :filename => "attachment-#{i + 1}.#{c.attachment.extension}", :content => File.read( c.attachment.path )
105
+ add_file filename: "attachment-#{i + 1}.#{c.attachment.extension}", content: File.read( c.attachment.path )
106
106
  end
107
107
  end
108
108
  end
@@ -75,13 +75,13 @@ format :html do
75
75
 
76
76
  # returns hashes with existing and suggested follow options
77
77
  # structure:
78
- # set_pattern_class => [ {:card=>rule_card, :options=>['*always', '*created'] },.... ]
78
+ # set_pattern_class => [ {card: rule_card, options: ['*always', '*created'] },.... ]
79
79
  def followed_by_set
80
80
  res = Hash.new { |h,k| h[k] = [] }
81
81
  never = Card[:never].name
82
82
  card.item_cards.each do |follow_rule|
83
83
  options = follow_rule.item_names.reject { |item| item == never}
84
- res[follow_rule.rule_set.subclass_for_set] << { :card=>follow_rule, :options=>options }
84
+ res[follow_rule.rule_set.subclass_for_set] << { card: follow_rule, options: options }
85
85
  end
86
86
 
87
87
  if Auth.signed_in? && Auth.current_id == card.left.id
@@ -92,8 +92,8 @@ format :html do
92
92
  rule[:options] << option
93
93
  end
94
94
  else
95
- rule_card = Card.new(:name=>suggested_rule_name)
96
- res[set_card.subclass_for_set] << {:card=>rule_card, :options=>[option]}
95
+ rule_card = Card.new(name: suggested_rule_name)
96
+ res[set_card.subclass_for_set] << {card: rule_card, options: [option]}
97
97
  end
98
98
  end
99
99
  end
@@ -107,15 +107,15 @@ format :html do
107
107
  end
108
108
 
109
109
  sets = followed_by_set
110
- wrap_with :div, :class=>'pointer-list-editor' do
111
- wrap_with :ul, :class=>'delete-list list-group' do
110
+ wrap_with :div, class: 'pointer-list-editor' do
111
+ wrap_with :ul, class: 'delete-list list-group' do
112
112
 
113
113
  Card.set_patterns.select{|p| sets[p]}.reverse.map do |set_pattern|
114
114
  sets[set_pattern].map do |rule|
115
115
  rule[:options].map do |option|
116
116
 
117
- content_tag :li, :class=>'list-group-item' do
118
- subformat(rule[:card]).render_follow_item :condition=>option, :hide=>hide_buttons
117
+ content_tag :li, class: 'list-group-item' do
118
+ subformat(rule[:card]).render_follow_item condition: option, hide: hide_buttons
119
119
  end
120
120
 
121
121
  end.join("\n")
@@ -140,12 +140,12 @@ format :html do
140
140
  hide_buttons = [:delete_follow_rule_button, :add_follow_rule_button]
141
141
  end
142
142
  never = Card[:never].name
143
- wrap_with :div, :class=>'pointer-list-editor' do
144
- wrap_with :ul, :class=>'delete-list list-group' do
143
+ wrap_with :div, class: 'pointer-list-editor' do
144
+ wrap_with :ul, class: 'delete-list list-group' do
145
145
 
146
146
  ignore_list.map do |rule_card|
147
- content_tag :li, :class=>'list-group-item' do
148
- subformat(rule_card).render_follow_item :condition=>never, :hide=>hide_buttons
147
+ content_tag :li, class: 'list-group-item' do
148
+ subformat(rule_card).render_follow_item condition: never, hide: hide_buttons
149
149
  end
150
150
  end.join "\n"
151
151
 
@@ -153,16 +153,16 @@ format :html do
153
153
  end
154
154
  end
155
155
 
156
- view :pointer_items, :tags=>:unknown_ok do |args|
157
- super(args.merge(:item=>:link))
156
+ view :pointer_items, tags: :unknown_ok do |args|
157
+ super(args.merge(item: :link))
158
158
  end
159
159
 
160
- view :errors, :perms=>:none do |args|
160
+ view :errors, perms: :none do |args|
161
161
  if card.errors.any?
162
162
  if card.errors.find { |attrib,msg| attrib == :permission_denied }
163
163
  Env.save_interrupted_action(request.env['REQUEST_URI'])
164
164
  title = "Problems with #{card.name}"
165
- frame args.merge(:panel_class=>"panel panel-warning", :title=>title, :hide=>'menu' ) do
165
+ frame args.merge(panel_class: "panel panel-warning", title: title, hide: 'menu' ) do
166
166
  "Please #{ link_to 'sign in', card_url(':signin') }" #" #{to_task}"
167
167
  end
168
168
  else