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
@@ -36,12 +36,12 @@ module PermissionSpecHelper
36
36
 
37
37
  def assert_hidden( card, msg='' )
38
38
  assert !card.ok?(:read)
39
- assert_equal [], Card.search(:id=>card.id).map(&:name), msg
39
+ assert_equal [], Card.search(id: card.id).map(&:name), msg
40
40
  end
41
41
 
42
42
  def assert_not_hidden( card, msg='' )
43
43
  assert card.ok?(:read)
44
- assert_equal [card.name], Card.search(:id=>card.id).map(&:name), msg
44
+ assert_equal [card.name], Card.search(id: card.id).map(&:name), msg
45
45
  end
46
46
 
47
47
  def assert_locked( card, msg='' )
@@ -61,7 +61,7 @@ describe Card::Set::All::Permissions do
61
61
 
62
62
  describe "reader rules" do
63
63
  before do
64
- @perm_card = Card.new(:name=>'Home+*self+*read', :type=>'Pointer', :content=>'[[Anyone Signed In]]')
64
+ @perm_card = Card.new(name: 'Home+*self+*read', type: 'Pointer', content: '[[Anyone Signed In]]')
65
65
  end
66
66
 
67
67
  it "should be *all+*read by default" do
@@ -109,7 +109,7 @@ describe Card::Set::All::Permissions do
109
109
  it "should revert to more general rule when more specific (right) rule is deleted" do
110
110
  pc = nil
111
111
  Card::Auth.as_bot do
112
- pc=Card.create(:name=>'B+*right+*read', :type=>'Pointer', :content=>'[[Anyone Signed In]]')
112
+ pc=Card.create(name: 'B+*right+*read', type: 'Pointer', content: '[[Anyone Signed In]]')
113
113
  end
114
114
  expect(pc).to be
115
115
  card = Card.fetch('A+B')
@@ -139,7 +139,7 @@ describe Card::Set::All::Permissions do
139
139
  c= Card.fetch('Home')
140
140
  c.type_id = Card::PhraseID
141
141
  c.save!
142
- Card.create(:name=>'Phrase+*type+*read', :type=>'Pointer', :content=>'[[Joe User]]')
142
+ Card.create(name: 'Phrase+*type+*read', type: 'Pointer', content: '[[Joe User]]')
143
143
  end
144
144
 
145
145
  card = Card.fetch('Home')
@@ -159,10 +159,10 @@ describe Card::Set::All::Permissions do
159
159
  it "should work with relative settings" do
160
160
  Card::Auth.as_bot do
161
161
  @perm_card.save!
162
- all_plus = Card.fetch '*all plus+*read', :new=>{:content=>'_left'}
162
+ all_plus = Card.fetch '*all plus+*read', new: {content: '_left'}
163
163
  all_plus.save
164
164
  end
165
- c = Card.new(:name=>'Home+Heart')
165
+ c = Card.new(name: 'Home+Heart')
166
166
  expect(c.who_can(:read)).to eq([Card::AnyoneSignedInID])
167
167
  expect(c.permission_rule_card(:read).first.id).to eq(@perm_card.id)
168
168
  c.save
@@ -171,10 +171,10 @@ describe Card::Set::All::Permissions do
171
171
 
172
172
  it "should get updated when relative settings change" do
173
173
  Card::Auth.as_bot do
174
- all_plus = Card.fetch '*all plus+*read', :new=>{:content=>'_left'}
174
+ all_plus = Card.fetch '*all plus+*read', new: {content: '_left'}
175
175
  all_plus.save
176
176
  end
177
- c = Card.new(:name=>'Home+Heart')
177
+ c = Card.new(name: 'Home+Heart')
178
178
  expect(c.who_can(:read)).to eq([Card::AnyoneID])
179
179
  expect(c.permission_rule_card(:read).first.id).to eq(Card.fetch('*all+*read').id)
180
180
  c.save
@@ -191,12 +191,12 @@ describe Card::Set::All::Permissions do
191
191
 
192
192
  it "should insure that class overrides work with relative settings" do
193
193
  Card::Auth.as_bot do
194
- all_plus = Card.fetch '*all plus+*read', :new => { :content=>'_left' }
194
+ all_plus = Card.fetch '*all plus+*read', new: { content: '_left' }
195
195
  all_plus.save
196
196
  Card::Auth.as_bot { @perm_card.save! }
197
- c = Card.create(:name=>'Home+Heart')
197
+ c = Card.create(name: 'Home+Heart')
198
198
  expect(c.read_rule_id).to eq(@perm_card.id)
199
- r = Card.create(:name=>'Heart+*right+*read', :type=>'Pointer', :content=>'[[Administrator]]')
199
+ r = Card.create(name: 'Heart+*right+*read', type: 'Pointer', content: '[[Administrator]]')
200
200
  expect(Card.fetch('Home+Heart').read_rule_id).to eq(r.id)
201
201
  end
202
202
  end
@@ -229,8 +229,8 @@ describe Card::Set::All::Permissions do
229
229
  end
230
230
  Card::Auth.as(:joe_admin) do
231
231
  expect(Card::Auth.always_ok?).to eq(true)
232
- Card.create! :name=>"Hidden"
233
- Card.create(:name=>'Hidden+*self+*read', :type=>'Pointer', :content=>'[[Anyone Signed In]]')
232
+ Card.create! name: "Hidden"
233
+ Card.create(name: 'Hidden+*self+*read', type: 'Pointer', content: '[[Anyone Signed In]]')
234
234
  end
235
235
 
236
236
  Card::Auth.as(:anonymous) do
@@ -243,14 +243,14 @@ describe Card::Set::All::Permissions do
243
243
  it "should be granted to admin if to anybody" do
244
244
  Card::Auth.as_bot do
245
245
  c1 = Card['c1']
246
- Card.create! :name=>'c1+*self+*comment', :type=>'Pointer', :content=>'[[r1]]'
246
+ Card.create! name: 'c1+*self+*comment', type: 'Pointer', content: '[[r1]]'
247
247
  expect(c1.who_can( :comment )).to eq([Card['r1'].id])
248
248
  expect(c1.ok?(:comment)).to be_truthy
249
249
  end
250
250
  end
251
251
 
252
252
  it "reader setting" do
253
- Card.where(:trash=>false).each do |c|
253
+ Card.where(trash: false).each do |c|
254
254
  prc = c.permission_rule_card(:read)
255
255
  #warn "C #{c.inspect}, #{c.read_rule_id}, #{prc.first.id}, #{c.read_rule_class}, #{prc.second}, #{prc.first.inspect}" unless prc.last == c.read_rule_class && prc.first.id == c.read_rule_id
256
256
  expect(prc.last).to eq(c.read_rule_class)
@@ -261,12 +261,12 @@ describe Card::Set::All::Permissions do
261
261
 
262
262
  it "write user permissions" do
263
263
  Card::Auth.as_bot do
264
- @u1.fetch(:trait=>:roles, :new=>{}).items = [@r1, @r2]
265
- @u2.fetch(:trait=>:roles, :new=>{}).items = [@r1, @r3]
266
- @u3.fetch(:trait=>:roles, :new=>{}).items = [@r1, @r2, @r3]
264
+ @u1.fetch(trait: :roles, new: {}).items = [@r1, @r2]
265
+ @u2.fetch(trait: :roles, new: {}).items = [@r1, @r3]
266
+ @u3.fetch(trait: :roles, new: {}).items = [@r1, @r2, @r3]
267
267
 
268
268
  cards=[1,2,3].map do |num|
269
- Card.create(:name=>"c#{num}+*self+*update", :type=>'Pointer', :content=>"[[u#{num}]]")
269
+ Card.create(name: "c#{num}+*self+*update", type: 'Pointer', content: "[[u#{num}]]")
270
270
  end
271
271
  end
272
272
 
@@ -283,11 +283,11 @@ describe Card::Set::All::Permissions do
283
283
 
284
284
  it "read group permissions" do
285
285
  Card::Auth.as_bot do
286
- @u1.fetch(:trait=>:roles).items = [@r1, @r2]
287
- @u2.fetch(:trait=>:roles).items = [@r1, @r3]
286
+ @u1.fetch(trait: :roles).items = [@r1, @r2]
287
+ @u2.fetch(trait: :roles).items = [@r1, @r3]
288
288
 
289
289
  [1,2,3].each do |num|
290
- Card.create(:name=>"c#{num}+*self+*read", :type=>'Pointer', :content=>"[[r#{num}]]")
290
+ Card.create(name: "c#{num}+*self+*read", type: 'Pointer', content: "[[r#{num}]]")
291
291
  end
292
292
  end
293
293
 
@@ -303,10 +303,10 @@ describe Card::Set::All::Permissions do
303
303
  it "write group permissions" do
304
304
  Card::Auth.as_bot do
305
305
  [1,2,3].each do |num|
306
- Card.create(:name=>"c#{num}+*self+*update", :type=>'Pointer', :content=>"[[r#{num}]]")
306
+ Card.create(name: "c#{num}+*self+*update", type: 'Pointer', content: "[[r#{num}]]")
307
307
  end
308
308
 
309
- @u3.fetch(:trait=>:roles, :new=>{}).items = [@r1]
309
+ @u3.fetch(trait: :roles, new: {}).items = [@r1]
310
310
  end
311
311
 
312
312
  %{ u1 u2 u3
@@ -328,12 +328,12 @@ describe Card::Set::All::Permissions do
328
328
 
329
329
  it "read user permissions" do
330
330
  Card::Auth.as_bot {
331
- @u1.fetch(:trait=>:roles, :new=>{}).items = [@r1, @r2]
332
- @u2.fetch(:trait=>:roles, :new=>{}).items = [@r1, @r3]
333
- @u3.fetch(:trait=>:roles, :new=>{}).items = [@r1, @r2, @r3]
331
+ @u1.fetch(trait: :roles, new: {}).items = [@r1, @r2]
332
+ @u2.fetch(trait: :roles, new: {}).items = [@r1, @r3]
333
+ @u3.fetch(trait: :roles, new: {}).items = [@r1, @r2, @r3]
334
334
 
335
335
  [1,2,3].each do |num|
336
- Card.create(:name=>"c#{num}+*self+*read", :type=>'Pointer', :content=>"[[u#{num}]]")
336
+ Card.create(name: "c#{num}+*self+*read", type: 'Pointer', content: "[[u#{num}]]")
337
337
  end
338
338
  }
339
339
 
@@ -351,8 +351,8 @@ describe Card::Set::All::Permissions do
351
351
  context "create permissions" do
352
352
  before do
353
353
  Card::Auth.as_bot do
354
- Card.create! :name=>'*structure+*right+*create', :type=>'Pointer', :content=>'[[Anyone Signed In]]'
355
- Card.create! :name=>'*self+*right+*create', :type=>'Pointer', :content=>'[[Anyone Signed In]]'
354
+ Card.create! name: '*structure+*right+*create', type: 'Pointer', content: '[[Anyone Signed In]]'
355
+ Card.create! name: '*self+*right+*create', type: 'Pointer', content: '[[Anyone Signed In]]'
356
356
  end
357
357
  end
358
358
 
@@ -361,8 +361,8 @@ describe Card::Set::All::Permissions do
361
361
  expect(Card.fetch( 'A+*self' ).ok?(:create)).to be_truthy #explicitly granted above
362
362
  expect(Card.fetch( 'A+*right').ok?(:create)).to be_falsey #by default restricted
363
363
 
364
- expect(Card.fetch( 'A+*self+*structure', :new=>{} ).ok?(:create)).to be_truthy # +*structure granted;
365
- expect(Card.fetch( 'A+*right+*structure', :new=>{} ).ok?(:create)).to be_falsey # can't create A+B, therefore can't create A+B+C
364
+ expect(Card.fetch( 'A+*self+*structure', new: {} ).ok?(:create)).to be_truthy # +*structure granted;
365
+ expect(Card.fetch( 'A+*right+*structure', new: {} ).ok?(:create)).to be_falsey # can't create A+B, therefore can't create A+B+C
366
366
  end
367
367
  end
368
368
 
@@ -373,36 +373,36 @@ describe Card::Set::All::Permissions do
373
373
  # set up cards of type TestType, 2 with nil reader, 1 with role1 reader
374
374
  Card::Auth.as_bot do
375
375
  [@c1,@c2,@c3].each do |c|
376
- c.update_attributes :content => 'WeirdWord'
376
+ c.update_attributes content: 'WeirdWord'
377
377
  end
378
- Card.create(:name=>"c1+*self+*read", :type=>'Pointer', :content=>"[[u1]]")
378
+ Card.create(name: "c1+*self+*read", type: 'Pointer', content: "[[u1]]")
379
379
  end
380
380
 
381
381
  Card::Auth.as(@u1) do
382
- expect(Card.search(:content=>'WeirdWord').map(&:name).sort).to eq(%w( c1 c2 c3 ))
382
+ expect(Card.search(content: 'WeirdWord').map(&:name).sort).to eq(%w( c1 c2 c3 ))
383
383
  end
384
384
  Card::Auth.as(@u2) do
385
- expect(Card.search(:content=>'WeirdWord').map(&:name).sort).to eq(%w( c2 c3 ))
385
+ expect(Card.search(content: 'WeirdWord').map(&:name).sort).to eq(%w( c2 c3 ))
386
386
  end
387
387
  end
388
388
 
389
389
  it "role wql" do
390
- #warn "u1 roles #{Card[ @u1.id ].fetch(:trait=>:roles).item_names.inspect}"
390
+ #warn "u1 roles #{Card[ @u1.id ].fetch(trait: :roles).item_names.inspect}"
391
391
 
392
392
  # set up cards of type TestType, 2 with nil reader, 1 with role1 reader
393
393
  Card::Auth.as_bot do
394
394
  [@c1,@c2,@c3].each do |c|
395
- c.update_attributes :content => 'WeirdWord'
395
+ c.update_attributes content: 'WeirdWord'
396
396
  end
397
- Card.create(:name=>"c1+*self+*read", :type=>'Pointer', :content=>"[[r3]]")
397
+ Card.create(name: "c1+*self+*read", type: 'Pointer', content: "[[r3]]")
398
398
  end
399
399
 
400
400
  Card::Auth.as(@u1) do
401
- expect(Card.search(:content=>'WeirdWord').map(&:name).sort).to eq(%w( c1 c2 c3 ))
401
+ expect(Card.search(content: 'WeirdWord').map(&:name).sort).to eq(%w( c1 c2 c3 ))
402
402
  end
403
403
  Card::Auth.current_id =nil # for Card::Auth.as to be effective, you can't have a logged in user
404
404
  Card::Auth.as(@u2) do
405
- expect(Card.search(:content=>'WeirdWord').map(&:name).sort).to eq(%w( c2 c3 ))
405
+ expect(Card.search(content: 'WeirdWord').map(&:name).sort).to eq(%w( c2 c3 ))
406
406
  end
407
407
  end
408
408
 
@@ -438,7 +438,7 @@ describe Card::Set::All::Permissions do
438
438
 
439
439
  context "default permissions" do
440
440
  before do
441
- @c = Card.create! :name=>"sky blue"
441
+ @c = Card.create! name: "sky blue"
442
442
  end
443
443
 
444
444
  it "should let anonymous users view basic cards" do
@@ -469,7 +469,7 @@ describe Card::Set::All::Permissions do
469
469
  context "settings based permissions" do
470
470
  before do
471
471
  Card::Auth.as_bot do
472
- @delete_rule_card = Card.fetch '*all+*delete', :new=>{}
472
+ @delete_rule_card = Card.fetch '*all+*delete', new: {}
473
473
  @delete_rule_card.type_id = Card::PointerID
474
474
  @delete_rule_card.content = '[[Joe_User]]'
475
475
  @delete_rule_card.save!
@@ -477,7 +477,7 @@ describe Card::Set::All::Permissions do
477
477
  end
478
478
 
479
479
  it "should handle delete as a setting" do
480
- c = Card.new :name=>'whatever'
480
+ c = Card.new name: 'whatever'
481
481
  expect(c.who_can(:delete)).to eq([Card['joe_user'].id])
482
482
  Card::Auth.as(:joe_user) do
483
483
  expect(c.ok?(:delete)).to eq(true)
@@ -2,7 +2,7 @@
2
2
 
3
3
  describe Card::Set::All::References do
4
4
  it "should replace references should work on inclusions inside links" do
5
- card = Card.create!(:name=>"ref test", :content=>"[[test_card|test{{test}}]]" )
5
+ card = Card.create!(name: "ref test", content: "[[test_card|test{{test}}]]" )
6
6
  assert_equal "[[test_card|test{{best}}]]", card.replace_references("test", "best" )
7
7
  end
8
8
  end
@@ -9,7 +9,7 @@ describe Card do
9
9
 
10
10
  before do
11
11
  Card::Auth.as_bot do
12
- Card.create! :name=>'Basic+*type+*table of contents', :content=>'2'
12
+ Card.create! name: 'Basic+*type+*table of contents', content: '2'
13
13
  end
14
14
  expect(@c1 = Card['Onne Heading']).to be
15
15
  expect(@c2 = Card['Twwo Heading']).to be
@@ -53,12 +53,12 @@ describe Card do
53
53
  expect(sets).to eq(['Cardtype A+*type', 'Cardtype A+*right'])
54
54
  end
55
55
  # it "should show type plus right sets when they exist" do
56
- # Card::Auth.as_bot { Card.create :name=>'Basic+A+*type plus right', :content=>'' }
56
+ # Card::Auth.as_bot { Card.create name: 'Basic+A+*type plus right', content: '' }
57
57
  # sets = Card['A'].related_sets
58
58
  # sets.should == ['A+*self', 'A+*right', 'Basic+A+*type plus right']
59
59
  # end
60
60
  # it "should show type plus right sets when they exist, and type" do
61
- # Card::Auth.as_bot { Card.create :name=>'Basic+Cardtype A+*type plus right', :content=>'' }
61
+ # Card::Auth.as_bot { Card.create name: 'Basic+Cardtype A+*type plus right', content: '' }
62
62
  # sets = Card['Cardtype A'].related_sets
63
63
  # sets.should == ['Cardtype A+*self', 'Cardtype A+*type', 'Cardtype A+*right', 'Basic+Cardtype A+*type plus right']
64
64
  # end
@@ -114,12 +114,12 @@ describe Card do
114
114
 
115
115
  before do
116
116
  Card::Auth.as_bot do
117
- @c1 = Card.create :name=>'toc1', :type=>"CardtypeE",
118
- :content=>Card['Onne Heading'].content
119
- @c2 = Card.create :name=>'toc2', :type=>"CardtypeE",
120
- :content=>Card['Twwo Heading'].content
121
- @c3 = Card.create :name=>'toc3', :type=>"CardtypeE",
122
- :content=>Card['Three Heading'].content
117
+ @c1 = Card.create name: 'toc1', type: "CardtypeE",
118
+ content: Card['Onne Heading'].content
119
+ @c2 = Card.create name: 'toc2', type: "CardtypeE",
120
+ content: Card['Twwo Heading'].content
121
+ @c3 = Card.create name: 'toc3', type: "CardtypeE",
122
+ content: Card['Three Heading'].content
123
123
  end
124
124
  expect(@c1.type_name).to eq('Cardtype E')
125
125
  @rule_card = @c1.rule_card(:table_of_contents)
@@ -173,10 +173,10 @@ describe Card do
173
173
  context "when I create a new rule" do
174
174
  before do
175
175
  Card::Auth.as_bot do
176
- Card.create! :name=>'Basic+*type+*table of contents', :content=>'2'
177
- @c1 = Card.create! :name=>'toc1', :type=>"CardtypeE", :content=>Card['Onne Heading'].content
178
- @c2 = Card.create! :name=>'toc2', :content=>Card['Twwo Heading'].content
179
- @c3 = Card.create! :name=>'toc3', :content=>Card['Three Heading'].content
176
+ Card.create! name: 'Basic+*type+*table of contents', content: '2'
177
+ @c1 = Card.create! name: 'toc1', type: "CardtypeE", content: Card['Onne Heading'].content
178
+ @c2 = Card.create! name: 'toc2', content: Card['Twwo Heading'].content
179
+ @c3 = Card.create! name: 'toc3', content: Card['Three Heading'].content
180
180
  expect(@c1.type_name).to eq('Cardtype E')
181
181
  @rule_card = @c1.rule_card(:table_of_contents)
182
182
 
@@ -188,7 +188,7 @@ describe Card do
188
188
  c.content = '2'
189
189
  c.save!
190
190
  else
191
- c=Card.create! :name=>'CardtypeE+*type+*table of content', :content=>'2'
191
+ c=Card.create! name: 'CardtypeE+*type+*table of content', content: '2'
192
192
  end
193
193
  end
194
194
  end
@@ -218,7 +218,7 @@ describe Card do
218
218
  before do
219
219
  expect(@c1 = Card["Onne Heading"]).to be
220
220
  # FIXME: CardtypeE should inherit from *default => Basic
221
- #@c2 = Card.create :name=>'toc2', :type=>"CardtypeE", :content=>Card['Twwo Heading'].content
221
+ #@c2 = Card.create name: 'toc2', type: "CardtypeE", content: Card['Twwo Heading'].content
222
222
  expect(@c2 = Card["Twwo Heading"]).to be
223
223
  expect(@c1.type_id).to eq(Card::BasicID)
224
224
  expect(@rule_card = @c1.rule_card(:table_of_contents)).to be
@@ -7,47 +7,47 @@ describe Card::Set::All::Rules do
7
7
 
8
8
  describe "setting data setup" do
9
9
  it "should make Set of +*type" do
10
- Card.create! :name=>"SpeciForm", :type=>'Cardtype'
11
- expect(Card.create!( :name=>"SpeciForm+*type" ).type_code).to eq(:set)
10
+ Card.create! name: "SpeciForm", type: 'Cardtype'
11
+ expect(Card.create!( name: "SpeciForm+*type" ).type_code).to eq(:set)
12
12
  end
13
13
  end
14
14
 
15
15
  describe "#rule" do
16
16
  it "retrieves Set based value" do
17
- Card.create :name => "Book+*type+*add help", :content => "authorize"
18
- expect(Card.new( :type => "Book" ).rule(:add_help, :fallback=>:help)).to eq("authorize")
17
+ Card.create name: "Book+*type+*add help", content: "authorize"
18
+ expect(Card.new( type: "Book" ).rule(:add_help, fallback: :help)).to eq("authorize")
19
19
  end
20
20
 
21
21
  it "retrieves default values" do
22
- #Card.create :name => "all Basic cards", :type => "Set", :content => "{\"type\": \"Basic\"}" #defaults should work when other Sets are present
23
- assert c=Card.create(:name => "*all+*add help", :content => "lobotomize")
24
- # Card.default_rule(:add_help, :fallback=>:help).should == "lobotomize"
25
- expect(Card.new( :type => "Basic" ).rule(:add_help, :fallback=>:help)).to eq("lobotomize")
22
+ #Card.create name: "all Basic cards", type: "Set", content: "{\"type\": \"Basic\"}" #defaults should work when other Sets are present
23
+ assert c=Card.create(name: "*all+*add help", content: "lobotomize")
24
+ # Card.default_rule(:add_help, fallback: :help).should == "lobotomize"
25
+ expect(Card.new( type: "Basic" ).rule(:add_help, fallback: :help)).to eq("lobotomize")
26
26
  end
27
27
 
28
28
  it "retrieves single values" do
29
- Card.create! :name => "banana+*self+*help", :content => "pebbles"
29
+ Card.create! name: "banana+*self+*help", content: "pebbles"
30
30
  expect(Card["banana"].rule(:help)).to eq("pebbles")
31
31
  end
32
-
32
+
33
33
  context 'with fallback' do
34
34
  before do
35
- Card.create :name => "*all+*help", :content => "edit any kind of card"
35
+ Card.create name: "*all+*help", content: "edit any kind of card"
36
36
  end
37
37
 
38
38
  it "retrieves default setting" do
39
- expect(Card.new( :type => "Book" ).rule(:add_help, :fallback=>:help)).to eq("edit any kind of card")
39
+ expect(Card.new( type: "Book" ).rule(:add_help, fallback: :help)).to eq("edit any kind of card")
40
40
  end
41
41
 
42
42
  it "retrieves primary setting" do
43
- Card.create :name => "*all+*add help", :content => "add any kind of card"
44
- expect(Card.new( :type => "Book" ).rule(:add_help, :fallback=>:help)).to eq("add any kind of card")
43
+ Card.create name: "*all+*add help", content: "add any kind of card"
44
+ expect(Card.new( type: "Book" ).rule(:add_help, fallback: :help)).to eq("add any kind of card")
45
45
  end
46
46
 
47
47
  it "retrieves more specific default setting" do
48
- Card.create :name => "*all+*add help", :content => "add any kind of card"
49
- Card.create :name => "*Book+*type+*help", :content => "edit a Book"
50
- expect(Card.new( :type => "Book" ).rule(:add_help, :fallback=>:help)).to eq("add any kind of card")
48
+ Card.create name: "*all+*add help", content: "add any kind of card"
49
+ Card.create name: "*Book+*type+*help", content: "edit a Book"
50
+ expect(Card.new( type: "Book" ).rule(:add_help, fallback: :help)).to eq("add any kind of card")
51
51
  end
52
52
  end
53
53
  end
@@ -58,9 +58,9 @@ describe Card::Set::All::Rules do
58
58
  @pointer_settings = [ :options, :options_label, :input ]
59
59
  end
60
60
  it "doesn't fail on nonexistent trunks" do
61
- expect(Card.new(:name=>'foob+*right').setting_codenames_by_group.class).to eq(Hash)
61
+ expect(Card.new(name: 'foob+*right').setting_codenames_by_group.class).to eq(Hash)
62
62
  end
63
-
63
+
64
64
  it "returns universal setting names for non-pointer set" do
65
65
  skip "Different api, we should just put the tests in a new spec for that"
66
66
  snbg = Card.fetch('*star').setting_codenames_by_group
@@ -72,55 +72,55 @@ describe Card::Set::All::Rules do
72
72
 
73
73
 
74
74
  it "returns pointer-specific setting names for pointer card" do
75
- c = Card.fetch 'Fruit+*type+*create+*self', :new=>{}
75
+ c = Card.fetch 'Fruit+*type+*create+*self', new: {}
76
76
  snbg = c.setting_codenames_by_group
77
77
  expect(snbg[:pointer]).to eq(@pointer_settings)
78
78
  end
79
79
 
80
80
  end
81
-
81
+
82
82
  describe 'user specific rules' do
83
83
  before do
84
84
  Card::Auth.current_id = Card.fetch('Joe User').id
85
85
  end
86
-
86
+
87
87
  it "user rule is recognized as rule" do
88
88
  Card::Auth.as_bot do
89
- card = Card.create(:name => "Book+*type+Joe User+*follow", :content => "[[*always]]")
89
+ card = Card.create(name: "Book+*type+Joe User+*follow", content: "[[*always]]")
90
90
  expect(card.is_rule?).to be_truthy
91
91
  end
92
92
  end
93
-
93
+
94
94
  it "retrieves Set based value" do
95
95
  Card::Auth.as_bot do
96
- Card.create :name => "Book+*type+Joe User+*follow", :content => "[[*always]]"
96
+ Card.create name: "Book+*type+Joe User+*follow", content: "[[*always]]"
97
97
  end
98
- expect(Card.new( :type => "Book" ).rule(:follow)).to eq("[[*always]]")
98
+ expect(Card.new( type: "Book" ).rule(:follow)).to eq("[[*always]]")
99
99
  end
100
-
100
+
101
101
  it "retrieves user indepedent Set based value" do
102
102
  Card::Auth.as_bot do
103
- Card.create :name => "Book+*type+*all+*follow", :content => "[[Home]]"
103
+ Card.create name: "Book+*type+*all+*follow", content: "[[Home]]"
104
104
  end
105
- expect(Card.new( :type => "Book" ).rule(:follow)).to eq("[[Home]]")
105
+ expect(Card.new( type: "Book" ).rule(:follow)).to eq("[[Home]]")
106
106
  end
107
-
107
+
108
108
  it "uses *all user rule when no super.s"
109
-
109
+
110
110
  it "user-specific value overwrites user-independent value" do
111
111
  Card::Auth.as_bot do
112
- Card.create :name => "Book+*type+Joe User+*follow", :content => "[[*never]]"
113
- Card.create :name => "Book+*type+*all+*follow", :content => "[[*always]]"
112
+ Card.create name: "Book+*type+Joe User+*follow", content: "[[*never]]"
113
+ Card.create name: "Book+*type+*all+*follow", content: "[[*always]]"
114
114
  end
115
- expect(Card.new( :type => "Book" ).rule(:follow)).to eq("[[*never]]")
115
+ expect(Card.new( type: "Book" ).rule(:follow)).to eq("[[*never]]")
116
116
  end
117
-
117
+
118
118
  describe '#all_user_ids_with_rule_for' do
119
119
  it "returns all user with values for the given Set and rule" do
120
120
  Card::Auth.as_bot do
121
- Card.create(:name => "Book+*type+Joe User+*follow", :content => "[[Home]]")
121
+ Card.create(name: "Book+*type+Joe User+*follow", content: "[[Home]]")
122
122
  Card::Auth.current_id = Card.fetch('Joe Admin').id
123
- Card.create(:name => "Book+*type+Joe Admin+*follow", :content => "[[Home]]")
123
+ Card.create(name: "Book+*type+Joe Admin+*follow", content: "[[Home]]")
124
124
  user_ids = Card.all_user_ids_with_rule_for( Card.fetch("Book+*type"), :follow ).sort
125
125
  expect(user_ids).to eq [Card['Joe User'].id, Card['Joe Admin'].id].sort
126
126
  end