card 1.101.5 → 1.101.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (471) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/VERSION +1 -1
  4. data/config/locales/en.yml +1 -0
  5. data/db/migrate/20200805200729_add_unique_pair_indeces.rb +35 -1
  6. data/db/migrate_core_cards/20190829093961_cardtype_grouping.rb +7 -7
  7. data/db/test_seed.rb +2 -2
  8. data/lib/card/content/diff/result.rb +0 -125
  9. data/lib/card/content/diff/summary.rb +136 -0
  10. data/lib/card/mailer.rb +15 -12
  11. data/lib/card/query/act_query.rb +2 -2
  12. data/lib/card/query/action_query.rb +1 -1
  13. data/lib/card/query/card_query/conjunctions.rb +1 -1
  14. data/lib/card/query/card_query/reference_attributes.rb +1 -1
  15. data/lib/card/query/card_query/relational_attributes.rb +2 -2
  16. data/lib/card/set/advanced_api.rb +1 -2
  17. data/lib/card/set/event.rb +8 -4
  18. data/lib/cardio/mod.rb +1 -1
  19. data/mod/core/set/all/content.rb +0 -69
  20. data/mod/core/set/all/debug.rb +7 -10
  21. data/mod/core/set/all/initialize.rb +4 -0
  22. data/mod/core/set/all/trash.rb +4 -0
  23. data/mod/{admin → core}/set/self/trash.rb +0 -0
  24. data/mod/core/set/self/version.rb +0 -4
  25. data/mod/{admin → core}/spec/set/self/trash_spec.rb +0 -0
  26. data/tmpsets/set/mod001-admin/self/admin.rb +6 -3
  27. data/tmpsets/set/mod001-admin/self/admin_info.rb +3 -8
  28. data/tmpsets/set/mod002-core/all/abort.rb +8 -8
  29. data/tmpsets/set/mod002-core/all/assign_attributes.rb +12 -28
  30. data/tmpsets/set/mod002-core/all/autoname.rb +26 -0
  31. data/tmpsets/set/mod002-core/all/codename.rb +3 -2
  32. data/tmpsets/set/mod002-core/all/collection.rb +4 -6
  33. data/tmpsets/set/mod002-core/all/content.rb +55 -99
  34. data/tmpsets/set/mod002-core/all/contextual_content.rb +2 -4
  35. data/tmpsets/set/mod002-core/all/debug.rb +8 -10
  36. data/tmpsets/set/mod002-core/all/initialize.rb +13 -9
  37. data/tmpsets/set/mod002-core/all/name_events.rb +78 -58
  38. data/tmpsets/set/mod002-core/all/reference_events.rb +78 -0
  39. data/tmpsets/set/mod002-core/all/states.rb +4 -4
  40. data/tmpsets/set/mod002-core/all/subcards.rb +1 -101
  41. data/tmpsets/set/mod002-core/all/trash.rb +20 -14
  42. data/tmpsets/set/mod002-core/all/type.rb +11 -11
  43. data/tmpsets/set/mod002-core/all/utils.rb +4 -1
  44. data/tmpsets/set/mod002-core/right/autoname.rb +12 -0
  45. data/tmpsets/set/{mod003-settings → mod002-core}/self/autoname.rb +2 -2
  46. data/tmpsets/set/{mod001-admin → mod002-core}/self/trash.rb +5 -4
  47. data/tmpsets/set/mod002-core/self/version.rb +0 -4
  48. data/tmpsets/set/mod002-core/type/cardtype.rb +37 -0
  49. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/abstract/email_field.rb +1 -2
  50. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/abstract/test_context.rb +1 -0
  51. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/all/email_html.rb +0 -0
  52. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/all/email_text.rb +0 -1
  53. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/right/bcc.rb +0 -0
  54. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/right/cc.rb +0 -0
  55. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/right/from.rb +0 -0
  56. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/right/html_message.rb +1 -0
  57. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/right/subject.rb +0 -0
  58. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/right/text_message.rb +0 -0
  59. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/right/to.rb +0 -0
  60. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/type/email_template.rb +4 -3
  61. data/tmpsets/set/{mod005-card-mod-email → mod004-card-mod-email}/type/email_template/email_config.rb +3 -1
  62. data/tmpsets/set/{mod006-card-mod-collection → mod005-card-mod-collection}/abstract/items.rb +5 -1
  63. data/tmpsets/set/{mod006-card-mod-collection → mod005-card-mod-collection}/abstract/paging.rb +1 -0
  64. data/tmpsets/set/{mod006-card-mod-collection → mod005-card-mod-collection}/abstract/paging/paging_links.rb +1 -0
  65. data/tmpsets/set/{mod006-card-mod-collection → mod005-card-mod-collection}/abstract/paging/paging_views.rb +1 -0
  66. data/tmpsets/set/{mod006-card-mod-collection → mod005-card-mod-collection}/all/extended.rb +2 -1
  67. data/tmpsets/set/{mod006-card-mod-collection → mod005-card-mod-collection}/all/item.rb +7 -1
  68. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/abstract/code_file.rb +0 -1
  69. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/abstract/haml_file.rb +0 -1
  70. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/abstract/lock.rb +1 -0
  71. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/abstract/templated_nests.rb +0 -0
  72. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/abstract/vendor_code_file.rb +0 -0
  73. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/all/chunk.rb +8 -8
  74. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/all/templating.rb +1 -1
  75. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/right/default.rb +0 -0
  76. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/right/structure.rb +5 -1
  77. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/self/default.rb +0 -0
  78. data/tmpsets/set/{mod007-card-mod-content → mod006-card-mod-content}/self/structure.rb +0 -0
  79. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/active_card.rb +1 -2
  80. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/base.rb +3 -1
  81. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/css.rb +0 -1
  82. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/csv.rb +2 -1
  83. data/tmpsets/set/mod007-card-mod-format/all/demo.rb +45 -0
  84. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/error.rb +12 -19
  85. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/export.rb +2 -0
  86. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/file.rb +0 -0
  87. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/frame.rb +6 -10
  88. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/haml.rb +0 -0
  89. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/head.rb +5 -1
  90. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/header.rb +0 -0
  91. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/html_content.rb +2 -1
  92. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/html_error.rb +25 -10
  93. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/html_show.rb +0 -0
  94. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/html_title.rb +0 -0
  95. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/html_wrapper.rb +13 -8
  96. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/js.rb +0 -1
  97. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/json.rb +1 -2
  98. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/links.rb +5 -4
  99. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/menu.rb +1 -1
  100. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/path.rb +1 -0
  101. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/rich_html.rb +12 -0
  102. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/rss.rb +3 -2
  103. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/all/text.rb +0 -1
  104. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/self/home.rb +0 -0
  105. data/tmpsets/set/mod007-card-mod-format/type/cardtype.rb +98 -0
  106. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/type/html.rb +0 -0
  107. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/type/json.rb +1 -1
  108. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/type/number.rb +4 -2
  109. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/type/phrase.rb +0 -0
  110. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/type/plain_text.rb +0 -0
  111. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/type/toggle.rb +2 -2
  112. data/tmpsets/set/{mod008-card-mod-format → mod007-card-mod-format}/type/uri.rb +0 -0
  113. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/abstract/01_pointer.rb +0 -0
  114. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/abstract/01_pointer/events.rb +0 -0
  115. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/abstract/01_pointer/html_views.rb +1 -2
  116. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/abstract/01_pointer/html_views/filter.rb +1 -0
  117. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/abstract/01_pointer/options_api.rb +0 -0
  118. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/abstract/01_pointer/other_views.rb +1 -0
  119. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/abstract/code_pointer.rb +0 -0
  120. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/abstract/id_pointer.rb +1 -1
  121. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/all/supports_content_options.rb +0 -0
  122. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/right/content_option_view.rb +0 -0
  123. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/right/content_options.rb +0 -0
  124. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/self/content_option_view.rb +0 -0
  125. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/self/content_options.rb +0 -0
  126. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/self/input_options.rb +1 -0
  127. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/type/link_list.rb +0 -0
  128. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/type/list.rb +0 -0
  129. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/type/nest_list.rb +1 -1
  130. data/tmpsets/set/{mod009-card-mod-list → mod008-card-mod-list}/type/pointer.rb +0 -0
  131. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/abstract/permission.rb +3 -2
  132. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/all/permissions.rb +11 -7
  133. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/all/update_read_rules.rb +2 -3
  134. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/right/create.rb +0 -0
  135. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/right/delete.rb +0 -0
  136. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/right/read.rb +3 -5
  137. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/right/update.rb +0 -0
  138. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/self/create.rb +0 -0
  139. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/self/delete.rb +0 -0
  140. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/self/read.rb +0 -0
  141. data/tmpsets/set/{mod010-card-mod-permissions → mod009-card-mod-permissions}/self/update.rb +0 -0
  142. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/abstract/account_field.rb +5 -0
  143. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/abstract/accountable.rb +5 -1
  144. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/all/account.rb +16 -7
  145. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/right/account.rb +3 -8
  146. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/right/account/events.rb +2 -2
  147. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/right/account/views.rb +0 -0
  148. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/right/email.rb +5 -4
  149. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/right/password.rb +4 -3
  150. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/right/roles.rb +2 -2
  151. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/right/salt.rb +1 -1
  152. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/right/status.rb +1 -1
  153. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/self/signin.rb +37 -50
  154. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/type/role.rb +0 -0
  155. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/type/signup.rb +0 -0
  156. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/type/signup/views.rb +7 -2
  157. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/type/user.rb +1 -1
  158. data/tmpsets/set/{mod011-card-mod-account → mod010-card-mod-account}/type_plus_right/user/email.rb +0 -0
  159. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/bridge.rb +3 -3
  160. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/bridge/bridge_pills.rb +0 -0
  161. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/bridge/follow_section.rb +0 -0
  162. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/bridge/related_section.rb +2 -2
  163. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/bridge/tab_views.rb +0 -0
  164. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/bridge/tab_visibility.rb +10 -5
  165. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/edit_content.rb +0 -0
  166. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/edit_inline.rb +0 -0
  167. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/edit_name.rb +18 -20
  168. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/edit_type.rb +52 -33
  169. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/editing.rb +0 -0
  170. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/editor.rb +3 -5
  171. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/form.rb +14 -11
  172. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/form_buttons.rb +11 -2
  173. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/form_elements.rb +1 -0
  174. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/formgroup.rb +0 -0
  175. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/new.rb +2 -2
  176. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/overlay_guide.rb +0 -0
  177. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/all/template_nest.rb +0 -0
  178. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/right/input_type.rb +0 -0
  179. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/self/input_type.rb +0 -0
  180. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/type/list.rb +0 -0
  181. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/type/plain_text.rb +0 -0
  182. data/tmpsets/set/{mod012-card-mod-edit → mod011-card-mod-edit}/type/pointer.rb +0 -0
  183. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history.rb +2 -1
  184. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history/act_listing.rb +9 -6
  185. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history/actions.rb +8 -4
  186. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history/acts.rb +0 -0
  187. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history/events.rb +3 -3
  188. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history/last.rb +0 -0
  189. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history/revision.rb +0 -0
  190. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history/selected.rb +3 -3
  191. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history/views.rb +31 -0
  192. data/tmpsets/set/{mod013-card-mod-history → mod012-card-mod-history}/all/history_bridge.rb +31 -17
  193. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/abstract/attachment.rb +36 -13
  194. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/abstract/attachment/cloud.rb +5 -1
  195. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/abstract/attachment/coded.rb +7 -2
  196. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/abstract/attachment/local.rb +4 -1
  197. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/abstract/attachment/paths.rb +1 -0
  198. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/abstract/attachment/storage_type.rb +33 -32
  199. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/abstract/attachment/upload_cache.rb +4 -0
  200. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/abstract/attachment/web.rb +0 -0
  201. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/all/file_utils.rb +0 -0
  202. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/self/admin.rb +0 -0
  203. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/self/favicon.rb +1 -0
  204. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/self/new_file.rb +0 -0
  205. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/self/new_image.rb +0 -0
  206. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/type/file.rb +27 -10
  207. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/type/image.rb +7 -4
  208. data/tmpsets/set/{mod014-card-mod-carrierwave → mod013-card-mod-carrierwave}/type/image/html_views.rb +13 -3
  209. data/tmpsets/set/{mod015-card-mod-virtual → mod014-card-mod-virtual}/abstract/virtual_cache.rb +0 -0
  210. data/tmpsets/set/{mod016-card-mod-machines → mod015-card-mod-machines}/abstract/machine.rb +2 -2
  211. data/tmpsets/set/{mod016-card-mod-machines → mod015-card-mod-machines}/abstract/machine/output_cache.rb +0 -0
  212. data/tmpsets/set/{mod016-card-mod-machines → mod015-card-mod-machines}/abstract/machine/output_update.rb +7 -0
  213. data/tmpsets/set/{mod016-card-mod-machines → mod015-card-mod-machines}/abstract/machine_input.rb +1 -0
  214. data/tmpsets/set/{mod016-card-mod-machines → mod015-card-mod-machines}/all/reset_machines.rb +0 -0
  215. data/tmpsets/set/{mod016-card-mod-machines → mod015-card-mod-machines}/right/machine_cache.rb +0 -0
  216. data/tmpsets/set/{mod016-card-mod-machines → mod015-card-mod-machines}/right/machine_input.rb +0 -0
  217. data/tmpsets/set/{mod016-card-mod-machines → mod015-card-mod-machines}/right/machine_output.rb +0 -0
  218. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/abstract/script.rb +1 -1
  219. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/right/script.rb +0 -0
  220. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/01_script_libraries.rb +0 -0
  221. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/script.rb +0 -0
  222. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/script_decko.rb +0 -0
  223. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/script_editors.rb +0 -0
  224. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/script_html5shiv_printshiv.rb +0 -0
  225. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/script_jquery.rb +0 -0
  226. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/script_jquery_helper.rb +0 -0
  227. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/script_mods.rb +0 -0
  228. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/self/script_pointer_config.rb +0 -0
  229. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/type/coffee_script.rb +1 -1
  230. data/tmpsets/set/{mod017-card-mod-script → mod016-card-mod-script}/type/java_script.rb +0 -0
  231. data/tmpsets/set/{mod018-card-mod-ace_editor → mod017-card-mod-ace_editor}/all/ace_editor.rb +0 -1
  232. data/tmpsets/set/{mod018-card-mod-ace_editor → mod017-card-mod-ace_editor}/self/ace.rb +0 -0
  233. data/tmpsets/set/{mod018-card-mod-ace_editor → mod017-card-mod-ace_editor}/self/script_ace.rb +0 -0
  234. data/tmpsets/set/{mod018-card-mod-ace_editor → mod017-card-mod-ace_editor}/self/script_ace_config.rb +0 -0
  235. data/tmpsets/set/mod018-card-mod-alias/all/alias.rb +30 -0
  236. data/tmpsets/set/mod018-card-mod-alias/all_plus/alias.rb +31 -0
  237. data/tmpsets/set/mod018-card-mod-alias/type/alias.rb +42 -0
  238. data/tmpsets/set/mod019-card-mod-api_key/right/account.rb +18 -0
  239. data/tmpsets/set/mod019-card-mod-api_key/right/api_key.rb +103 -0
  240. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/abstract/skin_box.rb +2 -0
  241. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/right/style.rb +0 -0
  242. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/self/style.rb +0 -0
  243. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/self/style_bootstrap_compatible.rb +0 -0
  244. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/self/style_cards.rb +0 -0
  245. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/self/style_jquery_ui_smoothness.rb +0 -0
  246. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/self/style_libraries.rb +0 -0
  247. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/self/style_mods.rb +0 -0
  248. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/type/css.rb +5 -4
  249. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/type/scss.rb +1 -1
  250. data/tmpsets/set/{mod019-card-mod-style → mod020-card-mod-style}/type/skin.rb +0 -0
  251. data/tmpsets/set/{mod020-card-mod-bar_and_box → mod021-card-mod-bar_and_box}/abstract/media.rb +0 -0
  252. data/tmpsets/set/{mod020-card-mod-bar_and_box → mod021-card-mod-bar_and_box}/all/bar.rb +1 -1
  253. data/tmpsets/set/{mod020-card-mod-bar_and_box → mod021-card-mod-bar_and_box}/all/box.rb +0 -0
  254. data/tmpsets/set/{mod020-card-mod-bar_and_box → mod021-card-mod-bar_and_box}/self/style_media.rb +0 -0
  255. data/tmpsets/set/{mod020-card-mod-bar_and_box → mod021-card-mod-bar_and_box}/type/image.rb +1 -1
  256. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/abstract/bootstrap_code_file.rb +0 -1
  257. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/abstract/bootswatch_theme.rb +1 -0
  258. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/abstract/bootswatch_theme/html_views.rb +0 -0
  259. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/abstract/bs_badge.rb +0 -0
  260. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/accordion.rb +0 -0
  261. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/dropdown.rb +13 -15
  262. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/form.rb +0 -0
  263. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/helper.rb +23 -12
  264. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/icon.rb +16 -11
  265. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/navbar.rb +8 -28
  266. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/table.rb +9 -7
  267. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/tabs.rb +0 -0
  268. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/bootstrap/wrapper.rb +2 -3
  269. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/all/rich_bootstrap.rb +0 -0
  270. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/bootstrap_core.rb +7 -6
  271. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/bootstrap_functions.rb +0 -0
  272. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/font_awesome.rb +0 -0
  273. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/material_icons.rb +0 -0
  274. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/script_bootstrap.rb +0 -0
  275. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/script_load_select2.rb +0 -0
  276. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/script_select2.rb +0 -0
  277. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/smartmenu_css.rb +0 -0
  278. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/smartmenu_js.rb +0 -0
  279. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/style_bootstrap_cards.rb +0 -0
  280. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/style_bootstrap_colorpicker.rb +0 -0
  281. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/style_select2.rb +0 -0
  282. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/self/style_select2_bootstrap.rb +0 -0
  283. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/type/bootswatch_skin.rb +0 -0
  284. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/type/customized_bootswatch_skin.rb +11 -7
  285. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/type/customized_bootswatch_skin/html_views.rb +0 -0
  286. data/tmpsets/set/{mod021-card-mod-bootstrap → mod022-card-mod-bootstrap}/type_plus_right/customized_bootswatch_skin/colors.rb +3 -2
  287. data/tmpsets/set/{mod022-card-mod-comment → mod023-card-mod-comment}/all/comment.rb +4 -1
  288. data/tmpsets/set/{mod022-card-mod-comment → mod023-card-mod-comment}/right/comment.rb +0 -0
  289. data/tmpsets/set/{mod022-card-mod-comment → mod023-card-mod-comment}/right/discussion.rb +0 -0
  290. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/all/calendar.rb +0 -0
  291. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/right/when_created.rb +1 -0
  292. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/right/when_last_edited.rb +1 -0
  293. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/self/datepicker.rb +1 -1
  294. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/self/now.rb +0 -1
  295. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/self/script_datepicker.rb +0 -0
  296. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/self/script_datepicker_config.rb +0 -0
  297. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/self/style_datepicker.rb +0 -0
  298. data/tmpsets/set/{mod023-card-mod-date → mod024-card-mod-date}/type/date.rb +0 -0
  299. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/abstract/follow_option.rb +0 -0
  300. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/follow.rb +0 -0
  301. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/follow/follow_link.rb +3 -2
  302. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/follow/follow_link_views.rb +0 -0
  303. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/follow/followed_by.rb +0 -0
  304. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/follow/follower_ids.rb +0 -0
  305. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/follow/start_follow_link.rb +0 -0
  306. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/follow/stop_follow_link.rb +0 -0
  307. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/notify.rb +1 -0
  308. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/notify/base_views.rb +1 -0
  309. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/all/notify/html_views.rb +0 -0
  310. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/right/account.rb +0 -0
  311. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/right/follow.rb +1 -1
  312. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/right/follow_fields.rb +0 -0
  313. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/right/followers.rb +0 -0
  314. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/right/following.rb +0 -0
  315. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/self/always.rb +0 -0
  316. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/self/created.rb +0 -0
  317. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/self/edited.rb +0 -0
  318. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/self/follow.rb +0 -0
  319. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/self/follow_defaults.rb +5 -4
  320. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/self/follow_fields.rb +0 -0
  321. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/self/never.rb +0 -0
  322. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/type/cardtype.rb +1 -1
  323. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/type/notification_template.rb +0 -0
  324. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/type/set.rb +0 -0
  325. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/type/user.rb +0 -0
  326. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/type_plus_right/user/follow.rb +3 -2
  327. data/tmpsets/set/{mod025-card-mod-follow → mod026-card-mod-follow}/type_plus_right/user/follow/follow_editor_helper.rb +0 -0
  328. data/tmpsets/set/{mod026-card-mod-google_analytics → mod027-card-mod-google_analytics}/all/google_analytics.rb +0 -0
  329. data/tmpsets/set/{mod027-card-mod-help → mod028-card-mod-help}/all/guide.rb +0 -0
  330. data/tmpsets/set/{mod027-card-mod-help → mod028-card-mod-help}/all/help.rb +0 -0
  331. data/tmpsets/set/{mod027-card-mod-help → mod028-card-mod-help}/right/guide.rb +0 -0
  332. data/tmpsets/set/{mod027-card-mod-help → mod028-card-mod-help}/right/help.rb +1 -1
  333. data/tmpsets/set/{mod027-card-mod-help → mod028-card-mod-help}/self/guide.rb +0 -0
  334. data/tmpsets/set/{mod027-card-mod-help → mod028-card-mod-help}/self/help.rb +0 -0
  335. data/tmpsets/set/{mod028-card-mod-integrate → mod029-card-mod-integrate}/all/observer.rb +0 -0
  336. data/tmpsets/set/{mod028-card-mod-integrate → mod029-card-mod-integrate}/self/on_create.rb +0 -0
  337. data/tmpsets/set/{mod028-card-mod-integrate → mod029-card-mod-integrate}/self/on_delete.rb +0 -0
  338. data/tmpsets/set/{mod028-card-mod-integrate → mod029-card-mod-integrate}/self/on_update.rb +0 -0
  339. data/tmpsets/set/{mod028-card-mod-integrate → mod029-card-mod-integrate}/self/thanks.rb +0 -0
  340. data/tmpsets/set/{mod029-card-mod-session → mod030-card-mod-session}/all/location_history.rb +0 -0
  341. data/tmpsets/set/{mod029-card-mod-session → mod030-card-mod-session}/type/session.rb +0 -0
  342. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/abstract/account_dropdown.rb +2 -4
  343. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/abstract/pointer/html_views.rb +0 -0
  344. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/all/alert.rb +0 -0
  345. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/all/layouts.rb +0 -0
  346. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/all/modal.rb +1 -0
  347. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/all/navbar_links.rb +0 -0
  348. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/all/overlay.rb +7 -10
  349. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/all/process_layout.rb +31 -29
  350. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/all/tabs.rb +1 -0
  351. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/right/enabled_roles.rb +0 -0
  352. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/right/head.rb +0 -0
  353. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/self/account_links.rb +6 -7
  354. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/self/alerts.rb +0 -0
  355. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/self/dropdown_divider.rb +0 -0
  356. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/self/foot.rb +0 -1
  357. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/self/head.rb +1 -1
  358. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/self/layout.rb +0 -0
  359. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/self/navbox.rb +0 -0
  360. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/self/sidebar.rb +0 -0
  361. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/type/html.rb +0 -0
  362. data/tmpsets/set/{mod030-card-mod-layout → mod031-card-mod-layout}/type/layout_type.rb +0 -0
  363. data/tmpsets/set/{mod031-card-mod-legacy → mod032-card-mod-legacy}/abstract/table_of_contents.rb +9 -6
  364. data/tmpsets/set/{mod031-card-mod-legacy → mod032-card-mod-legacy}/self/csv_structure.rb +0 -0
  365. data/tmpsets/set/{mod031-card-mod-legacy → mod032-card-mod-legacy}/self/default_html_view.rb +0 -0
  366. data/tmpsets/set/{mod031-card-mod-legacy → mod032-card-mod-legacy}/self/table_of_contents.rb +0 -0
  367. data/tmpsets/set/{mod031-card-mod-legacy → mod032-card-mod-legacy}/type/basic.rb +0 -0
  368. data/tmpsets/set/{mod032-card-mod-markdown → mod033-card-mod-markdown}/type/markdown.rb +0 -0
  369. data/tmpsets/set/{mod033-card-mod-prosemirror_editor → mod034-card-mod-prosemirror_editor}/all/prosemirror_editor.rb +0 -1
  370. data/tmpsets/set/{mod033-card-mod-prosemirror_editor → mod034-card-mod-prosemirror_editor}/self/script_prosemirror.rb +0 -0
  371. data/tmpsets/set/{mod033-card-mod-prosemirror_editor → mod034-card-mod-prosemirror_editor}/self/script_prosemirror_config.rb +0 -0
  372. data/tmpsets/set/{mod033-card-mod-prosemirror_editor → mod034-card-mod-prosemirror_editor}/self/style_prosemirror.rb +0 -0
  373. data/tmpsets/set/{mod034-card-mod-recaptcha → mod035-card-mod-recaptcha}/all/recaptcha.rb +6 -6
  374. data/tmpsets/set/{mod034-card-mod-recaptcha → mod035-card-mod-recaptcha}/self/admin_info.rb +6 -11
  375. data/tmpsets/set/{mod011-card-mod-account → mod035-card-mod-recaptcha}/self/captcha.rb +2 -2
  376. data/tmpsets/set/{mod034-card-mod-recaptcha → mod035-card-mod-recaptcha}/self/recaptcha_proxy.rb +0 -0
  377. data/tmpsets/set/{mod034-card-mod-recaptcha → mod035-card-mod-recaptcha}/self/recaptcha_secret_key.rb +0 -0
  378. data/tmpsets/set/{mod034-card-mod-recaptcha → mod035-card-mod-recaptcha}/self/recaptcha_settings.rb +9 -22
  379. data/tmpsets/set/{mod034-card-mod-recaptcha → mod035-card-mod-recaptcha}/self/recaptcha_site_key.rb +0 -0
  380. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/00_filter_helper.rb +0 -0
  381. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/02_search_params.rb +1 -3
  382. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/03_filter.rb +0 -0
  383. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/03_filter/filter_form.rb +0 -0
  384. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/03_filter/form_helper.rb +1 -1
  385. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/03_filter/query_construction.rb +0 -0
  386. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/04_right_filter_form.rb +0 -0
  387. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/05_search.rb +4 -0
  388. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/05_search/views.rb +3 -5
  389. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/06_cql_search.rb +2 -0
  390. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/filterable.rb +0 -0
  391. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/abstract/filterable_bar.rb +0 -0
  392. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/children.rb +0 -0
  393. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/created.rb +0 -0
  394. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/edited.rb +0 -0
  395. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/editors.rb +0 -0
  396. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/follow.rb +0 -0
  397. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/linked_to_by.rb +0 -0
  398. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/links_to.rb +0 -0
  399. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/mates.rb +0 -0
  400. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/nested_by.rb +0 -0
  401. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/nests.rb +0 -0
  402. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/referred_to_by.rb +0 -0
  403. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/right/refers_to.rb +0 -0
  404. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/self/recent.rb +0 -0
  405. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/self/search.rb +3 -1
  406. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/type/cardtype.rb +0 -0
  407. data/tmpsets/set/{mod035-card-mod-search → mod036-card-mod-search}/type/search_type.rb +1 -0
  408. data/tmpsets/set/mod037-card-mod-rules/all/related_sets.rb +34 -0
  409. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/right/self.rb +0 -0
  410. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/right/type_plus_right.rb +0 -0
  411. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rstar/rule_user.rb +2 -3
  412. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/bar_view.rb +0 -0
  413. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/bridge_rules_editor.rb +0 -0
  414. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/editor.rb +1 -1
  415. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/html_views.rb +0 -0
  416. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/quick_editor.rb +0 -0
  417. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/rule_form.rb +2 -3
  418. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/rule_form/buttons.rb +1 -2
  419. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/rule_form/form_elements.rb +2 -2
  420. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/rule_form/rule_set_radio.rb +1 -0
  421. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/rule_form/set_selection.rb +0 -0
  422. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/rule/rules.rb +5 -5
  423. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/self/cardtype.rb +0 -0
  424. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/self/recent_settings.rb +0 -0
  425. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/self/script_rules.rb +0 -0
  426. data/tmpsets/set/mod037-card-mod-rules/type/cardtype.rb +14 -0
  427. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/type/set.rb +1 -1
  428. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/type/set/html_views.rb +0 -0
  429. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/type/set/html_views/rule_lists.rb +0 -0
  430. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/type/set/html_views/template.rb +0 -0
  431. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/type/set/rules_filter.rb +0 -0
  432. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/type/set/setting_lists.rb +1 -1
  433. data/tmpsets/set/{mod036-card-mod-rules → mod037-card-mod-rules}/type/setting.rb +5 -7
  434. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/all/reference_editor.rb +18 -6
  435. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/all/reference_editor/link_editor.rb +0 -0
  436. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/all/reference_editor/link_editor/link_parser.rb +0 -0
  437. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/all/reference_editor/nest_editor.rb +1 -2
  438. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/all/reference_editor/nest_image.rb +0 -2
  439. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/all/tinymce_editor.rb +0 -1
  440. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/self/script_tinymce.rb +0 -0
  441. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/self/script_tinymce_config.rb +0 -0
  442. data/tmpsets/set/{mod037-card-mod-tinymce_editor → mod038-card-mod-tinymce_editor}/self/tiny_mce.rb +2 -2
  443. data/tmpsets/set/{mod039-card-mod-monkey → mod040-card-mod-monkey}/all/event_viz.rb +3 -3
  444. data/tmpsets/set/{mod039-card-mod-monkey → mod040-card-mod-monkey}/all/view_viz.rb +2 -0
  445. data/tmpsets/set/{mod039-card-mod-monkey → mod040-card-mod-monkey}/right/debug.rb +2 -3
  446. data/tmpsets/set_pattern/100-all.rb +0 -1
  447. data/tmpsets/set_pattern/101-all_plus.rb +0 -1
  448. data/tmpsets/set_pattern/102-type.rb +0 -1
  449. data/tmpsets/set_pattern/103-star.rb +0 -1
  450. data/tmpsets/set_pattern/104-rstar.rb +0 -1
  451. data/tmpsets/set_pattern/105-rule.rb +1 -2
  452. data/tmpsets/set_pattern/106-right.rb +0 -1
  453. data/tmpsets/set_pattern/107-type_plus_right.rb +0 -1
  454. data/tmpsets/set_pattern/108-self.rb +0 -1
  455. metadata +410 -412
  456. data/mod/core/set/all/contextual_content.rb +0 -26
  457. data/tmpsets/set/mod002-core/all/actify.rb +0 -77
  458. data/tmpsets/set/mod002-core/all/cache.rb +0 -118
  459. data/tmpsets/set/mod002-core/all/event_conditions.rb +0 -181
  460. data/tmpsets/set/mod002-core/all/fetch.rb +0 -131
  461. data/tmpsets/set/mod002-core/all/fetch_helper.rb +0 -44
  462. data/tmpsets/set/mod002-core/all/i18n.rb +0 -20
  463. data/tmpsets/set/mod002-core/all/name.rb +0 -238
  464. data/tmpsets/set/mod002-core/all/pattern.rb +0 -63
  465. data/tmpsets/set/mod002-core/all/references.rb +0 -200
  466. data/tmpsets/set/mod002-core/all/rename.rb +0 -42
  467. data/tmpsets/set/mod002-core/all/rules.rb +0 -90
  468. data/tmpsets/set/mod003-settings/right/autoname.rb +0 -12
  469. data/tmpsets/set/mod004-standard/all/rich_html/html_views/info.rb +0 -93
  470. data/tmpsets/set/mod004-standard/type/cardtype.rb +0 -128
  471. data/tmpsets/set/mod011-card-mod-account/right/api_key.rb +0 -57
@@ -0,0 +1,26 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class Card; module Set; class All
3
+ # Set: All cards (Autoname)
4
+ #
5
+ module Autoname;
6
+ extend Card::Set
7
+ def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/core/set/all/autoname.rb"; end
8
+ event :set_autoname, :prepare_to_store, on: :create, when: :autoname? do
9
+ self.name = autoname rule(:autoname)
10
+ autoname_card = rule_card :autoname
11
+ autoname_card.update_column :db_content, name
12
+ autoname_card.expire
13
+ pull_from_trash!
14
+ Card.write_to_soft_cache self
15
+ end
16
+
17
+ def no_autoname?
18
+ !autoname?
19
+ end
20
+
21
+ def autoname?
22
+ name.blank? &&
23
+ (@autoname_rule.nil? ? (@autoname_rule = rule(:autoname).present?) : @autoname_rule)
24
+ end
25
+ end;end;end;end;
26
+ # ~~ generated from /Users/ethan/dev/decko/gem/card/mod/core/set/all/autoname.rb ~~
@@ -26,13 +26,14 @@ private
26
26
  def validate_codename_permission
27
27
  return if Auth.always_ok? || Auth.as_id == creator_id
28
28
 
29
- errors.add :codename, tr(:only_admins_codename)
29
+ errors.add :codename, t(:core_only_admins_codename)
30
30
  end
31
31
 
32
32
  def validate_codename_uniqueness
33
33
  return (self.codename = nil) if codename.blank?
34
34
  return if errors.present? || !Card.find_by_codename(codename)
35
- errors.add :codename, tr(:error_code_in_use, codename: codename)
35
+
36
+ errors.add :codename, t(:core_error_code_in_use, codename: codename)
36
37
  end
37
38
  end;end;end;end;
38
39
  # ~~ generated from /Users/ethan/dev/decko/gem/card/mod/core/set/all/codename.rb ~~
@@ -7,11 +7,9 @@ module Collection;
7
7
  extend Card::Set
8
8
  def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/core/set/all/collection.rb"; end
9
9
  module ClassMethods
10
- def search spec, comment=nil
10
+ def search spec, comment=nil, &block
11
11
  results = ::Card::Query.run(spec, comment)
12
- if block_given? && results.is_a?(Array)
13
- results.each { |result| yield result }
14
- end
12
+ results.each(&block) if block_given? && results.is_a?(Array)
15
13
  results
16
14
  end
17
15
 
@@ -21,11 +19,11 @@ module ClassMethods
21
19
  search spec.merge(return: "count")
22
20
  end
23
21
 
24
- def find_each options={}
22
+ def find_each options={}, &block
25
23
  # this is a copy from rails (3.2.16) and is needed because this
26
24
  # is performed by a relation (ActiveRecord::Relation)
27
25
  find_in_batches(options) do |records|
28
- records.each { |record| yield record }
26
+ records.each(&block)
29
27
  end
30
28
  end
31
29
 
@@ -5,39 +5,77 @@ class Card; module Set; class All
5
5
  module Content;
6
6
  extend Card::Set
7
7
  def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/core/set/all/content.rb"; end
8
- def content= value
9
- self.db_content = standardize_content(value)
8
+ event :set_content, :store, on: :save do
9
+ self.db_content = prepare_db_content
10
+ @selected_action_id = @selected_content = nil
11
+ clear_drafts
12
+ end
13
+
14
+ event :save_draft, :store, on: :update, when: :draft? do
15
+ save_content_draft content
16
+ abort :success
17
+ end
18
+
19
+ event :set_default_content,
20
+ :prepare_to_validate,
21
+ on: :create, when: :use_default_content? do
22
+ self.db_content = template.db_content
23
+ end
24
+
25
+ def draft?
26
+ Env.params["draft"] == "true"
27
+ end
28
+
29
+ def clean_html?
30
+ true
31
+ end
32
+
33
+ def use_default_content?
34
+ !db_content_changed? && template && template.db_content.present?
35
+ end
36
+
37
+ def unfilled?
38
+ blank_content? && blank_comment? && !subcards?
10
39
  end
11
40
 
12
- def content
13
- structured_content || standard_content
41
+ def blank_comment?
42
+ comment.blank? || comment.strip.blank?
14
43
  end
15
- alias raw_content content #DEPRECATED!
16
44
 
17
- def content?
18
- content.present?
45
+ def prepare_db_content
46
+ cont = standard_db_content || "" # necessary?
47
+ clean_html? ? Card::Content.clean!(cont) : cont
19
48
  end
20
49
 
21
- def standard_content
22
- db_content || (new_card? && template.db_content)
50
+ def standard_db_content
51
+ if structure
52
+ # do not override db_content with content from structure
53
+ db_content
54
+ else
55
+ standard_content
56
+ end
23
57
  end
24
58
 
25
- def standardize_content value
26
- value.is_a?(Array) ? value.join("\n") : value
59
+ # seems like this should be moved to format so we can fall back on title
60
+ # rather than name. (In fact, name, title, AND label is a bit much.
61
+ # Trim to 2?)
62
+ def label
63
+ name
27
64
  end
28
65
 
29
- def structured_content
30
- structure && template.db_content
66
+ def creator
67
+ Card[creator_id]
31
68
  end
32
69
 
33
- def refresh_content
34
- self.content = Card.find(id)&.db_content
70
+ def updater
71
+ Card[updater_id]
35
72
  end
36
73
 
37
74
  module Format; module_parent.send :register_set_format, Card::Format, self; extend Card::Set::AbstractFormat
38
75
  ONE_LINE_CHARACTER_LIMIT = 60
39
76
 
40
- def chunk_list # override to customize by set
77
+ # override to customize by set
78
+ def chunk_list
41
79
  :default
42
80
  end
43
81
 
@@ -87,7 +125,7 @@ module Format; module_parent.send :register_set_format, Card::Format, self; exte
87
125
  if text.size <= limit
88
126
  text
89
127
  else
90
- text[0..(limit - 3)] + "..."
128
+ "#{text[0..(limit - 3)]}..."
91
129
  end
92
130
  end
93
131
 
@@ -101,87 +139,5 @@ module HtmlFormat; module_parent.send :register_set_format, Card::Format::HtmlFo
101
139
  hidden_field :content, class: "d0-card-content"
102
140
  end
103
141
  end
104
-
105
- # seems like this should be moved to format so we can fall back on title
106
- # rather than name. (In fact, name, title, AND label is a bit much.
107
- # Trim to 2?)
108
- def label
109
- name
110
- end
111
-
112
- def creator
113
- Card[creator_id]
114
- end
115
-
116
- def updater
117
- Card[updater_id]
118
- end
119
-
120
- def save_content_draft _content
121
- clear_drafts
122
- end
123
-
124
- def clear_drafts
125
- drafts.created_by(Card::Auth.current_id).each(&:delete)
126
- end
127
-
128
- def last_draft_content
129
- drafts.last.card_changes.last.value
130
- end
131
-
132
- event :set_content, :store, on: :save do
133
- self.db_content = prepare_db_content
134
- @selected_action_id = @selected_content = nil
135
- clear_drafts
136
- end
137
-
138
- event :save_draft, :store, on: :update, when: :draft? do
139
- save_content_draft content
140
- abort :success
141
- end
142
-
143
- event :set_default_content,
144
- :prepare_to_validate,
145
- on: :create, when: :use_default_content? do
146
- self.db_content = template.db_content
147
- end
148
-
149
- def draft?
150
- Env.params["draft"] == "true"
151
- end
152
-
153
- def prepare_db_content
154
- cont = standard_db_content || "" # necessary?
155
- clean_html? ? Card::Content.clean!(cont) : cont
156
- end
157
-
158
- def standard_db_content
159
- if structure
160
- # do not override db_content with content from structure
161
- db_content
162
- else
163
- standard_content
164
- end
165
- end
166
-
167
- def clean_html?
168
- true
169
- end
170
-
171
- def use_default_content?
172
- !db_content_changed? && template && template.db_content.present?
173
- end
174
-
175
- def unfilled?
176
- blank_content? && blank_comment? && !subcards?
177
- end
178
-
179
- def blank_content?
180
- content.blank? || content.strip.blank?
181
- end
182
-
183
- def blank_comment?
184
- comment.blank? || comment.strip.blank?
185
- end
186
142
  end;end;end;end;
187
143
  # ~~ generated from /Users/ethan/dev/decko/gem/card/mod/core/set/all/content.rb ~~
@@ -22,10 +22,8 @@ module Format; module_parent.send :register_set_format, Card::Format, self; exte
22
22
  card.context_card
23
23
  end
24
24
 
25
- def with_context context_card
26
- card.with_context context_card do
27
- yield
28
- end
25
+ def with_context context_card, &block
26
+ card.with_context context_card, &block
29
27
  end
30
28
 
31
29
  def contextual_content context_card, options={}
@@ -10,21 +10,19 @@ def to_s
10
10
  end
11
11
 
12
12
  def inspect
13
- tags = []
14
- tags << "trash" if trash
15
- tags << "new" if new_card?
16
- tags << "frozen" if frozen?
17
- tags << "readonly" if readonly?
18
- tags << "virtual" if @virtual
19
- tags << "set_mods_loaded" if @set_mods_loaded
20
-
21
13
  error_messages = errors.any? ? "<E*#{errors.full_messages * ', '}*>" : ""
22
-
23
- "#<Card##{id}[#{debug_type}](#{name})#{error_messages}{#{tags * ','}}"
14
+ "#<Card##{id}[#{debug_type}](#{name})#{error_messages}{#{inspect_tags * ','}}"
24
15
  end
25
16
 
26
17
  private
27
18
 
19
+ def inspect_tags
20
+ # trash
21
+ %w[new frozen readonly virtual set_mods_loaded].map do |tag|
22
+ tag if send "#{tag}?"
23
+ end.compact
24
+ end
25
+
28
26
  def debug_type
29
27
  "#{type_code || ''}:#{type_id}"
30
28
  end
@@ -5,7 +5,7 @@ class Card; module Set; class All
5
5
  module Initialize;
6
6
  extend Card::Set
7
7
  def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/core/set/all/initialize.rb"; end
8
- JUNK_INIT_ARGS = %w[missing skip_virtual id].freeze
8
+ JUNK_INIT_ARGS = %i[missing skip_virtual id].freeze
9
9
 
10
10
  module ClassMethods
11
11
  def new args={}, _options={}
@@ -15,7 +15,7 @@ module ClassMethods
15
15
  end
16
16
 
17
17
  def with_normalized_new_args args={}
18
- args = (args || {}).stringify_keys
18
+ args = (args || {}).symbolize_keys
19
19
  delete_junk_args args
20
20
  normalize_type_args args
21
21
  normalize_content_args args
@@ -29,17 +29,17 @@ module ClassMethods
29
29
  end
30
30
 
31
31
  def normalize_type_args args
32
- %w[type type_code].each { |k| args.delete(k) if args[k].blank? }
32
+ %i[type type_code].each { |k| args.delete(k) if args[k].blank? }
33
33
  end
34
34
 
35
35
  def normalize_content_args args
36
- args.delete("content") if args["attach"] # should not be handled here!
37
- args["db_content"] = args.delete "content" if args["content"]
36
+ args.delete(:content) if args[:attach] # should not be handled here!
37
+ args[:db_content] = args.delete :content if args[:content]
38
38
  end
39
39
  end
40
40
 
41
41
  def initialize args={}
42
- args["name"] = initial_name args["name"]
42
+ args[:name] = initial_name args[:name]
43
43
 
44
44
  handle_set_modules args do
45
45
  handle_type args do
@@ -50,14 +50,14 @@ def initialize args={}
50
50
  end
51
51
 
52
52
  def handle_set_modules args
53
- skip_modules = args.delete "skip_modules"
53
+ skip_modules = args.delete :skip_modules
54
54
  yield
55
55
  include_set_modules unless skip_modules
56
56
  end
57
57
 
58
58
  def handle_type args
59
- type_lookup = args["type_lookup"]
60
- @supercard = args.delete "supercard"
59
+ type_lookup = args[:type_lookup]
60
+ @supercard = args.delete :supercard
61
61
 
62
62
  yield
63
63
  type_id_from_template if type_lookup == :force || (!type_id && type_lookup != :skip)
@@ -78,6 +78,10 @@ def include_set_modules
78
78
  self
79
79
  end
80
80
 
81
+ def set_mods_loaded?
82
+ @set_mods_loaded == true
83
+ end
84
+
81
85
  def uncacheable?
82
86
  @uncacheable == true
83
87
  end
@@ -10,121 +10,119 @@ def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/core/set/all/name
10
10
  event :validate_name, :validate, on: :save, changed: :name, when: :no_autoname? do
11
11
  validate_legality_of_name
12
12
  return if errors.any?
13
+
13
14
  Card.write_to_soft_cache self
14
15
  validate_uniqueness_of_name
15
16
  end
16
17
 
18
+ # called by validate_name
17
19
  event :validate_uniqueness_of_name, skip: :allowed do
18
- # validate uniqueness of name
19
-
20
20
  return unless (existing_id = Card::Lexicon.id key) && existing_id != id
21
21
  # The above is a fast check but cannot detect if card is in trash
22
22
 
23
23
  # TODO: perform the following as a remote-only fetch (not yet supported)
24
24
  return unless (existing_card = Card.where(id: existing_id, trash: false).take)
25
25
 
26
- errors.add :name, tr(:error_name_exists, name: existing_card.name)
26
+ errors.add :name, t(:core_error_name_exists, name: existing_card.name)
27
27
  end
28
28
 
29
+ # called by validate_name
29
30
  event :validate_legality_of_name do
30
31
  if name.length > 255
31
- errors.add :name, tr(:error_too_long, length: name.length)
32
+ errors.add :name, t(:core_error_too_long, length: name.length)
32
33
  elsif name.blank?
33
- errors.add :name, tr(:error_blank_name)
34
+ errors.add :name, t(:core_error_blank_name)
34
35
  elsif name_incomplete?
35
- errors.add :name, tr(:is_incomplete)
36
+ errors.add :name, t(:core_is_incomplete)
36
37
  elsif !name.valid?
37
- errors.add :name, tr(:error_banned_characters, banned: Card::Name.banned_array * " ")
38
- elsif changing_existing_tag_to_junction?
39
- errors.add :name, tr(:error_name_tag, name: name)
38
+ errors.add :name, t(:core_error_banned_characters,
39
+ banned: Card::Name.banned_array * " ")
40
+ elsif changing_existing_tag_to_compound?
41
+ errors.add :name, t(:core_error_name_tag, name: name)
40
42
  end
41
43
  end
42
44
 
43
45
  event :validate_key, after: :validate_name, on: :save, when: :no_autoname? do
44
46
  if key.empty?
45
- errors.add :key, tr(:error_blank_key) if errors.empty?
47
+ errors.add :key, t(:core_error_blank_key) if errors.empty?
46
48
  elsif key != name.key
47
- errors.add :key, tr(:error_wrong_key, key: key, name: name)
49
+ errors.add :key, t(:core_error_wrong_key, key: key, name: name)
48
50
  end
49
51
  end
50
52
 
51
- # STAGE: store
53
+ event :validate_renaming, :validate, on: :update, changed: :name, skip: :allowed do
54
+ return if name_before_act&.to_name == name # just changing to new variant
52
55
 
53
- event :set_autoname, :prepare_to_store, on: :create, when: :autoname? do
54
- self.name = autoname rule(:autoname)
55
- rule_card(:autoname).update_column :db_content, name
56
- pull_from_trash!
57
- Card.write_to_soft_cache self
56
+ errors.add :content, t(:core_cannot_change_content) if content_is_changing?
57
+ errors.add :type, t(:core_cannot_change_type) if type_is_changing?
58
+ detect_illegal_compound_names
58
59
  end
59
60
 
61
+ # STAGE: store
62
+
60
63
  event :expire_old_name, :store, changed: :name, on: :update do
61
64
  Director.expirees << name_before_act
62
65
  end
63
66
 
64
- event :update_lexicon_on_create, :finalize, changed: :name, on: :create do
65
- Card::Lexicon.add self
66
- end
67
+ event :rename_in_trash, after: :expire_old_name, on: :update do
68
+ existing_card = Card.find_by_key_and_trash name.key, true
69
+ return if !existing_card || existing_card == self
67
70
 
68
- event :update_lexicon_on_rename, :finalize, changed: :name, on: :update do
69
- Card::Lexicon.update self
70
- end
71
-
72
- def lex
73
- simple? ? name : [left_id, right_id]
74
- end
75
-
76
- def old_lex
77
- if (old_left_id = left_id_before_act)
78
- [old_left_id, right_id_before_act]
79
- else
80
- name_before_act
81
- end
71
+ existing_card.rename_as_trash_obstacle
82
72
  end
83
73
 
84
74
  event :prepare_left_and_right, :store, changed: :name, on: :save do
85
75
  return if name.simple?
76
+
86
77
  prepare_side :left
87
78
  prepare_side :right
88
79
  end
89
80
 
90
- def prepare_side side
91
- side_id = send "#{side}_id"
92
- sidename = name.send "#{side}_name"
93
- prepare_obstructed_side(side, side_id, sidename) ||
94
- prepare_new_side(side, side_id, sidename)
81
+ event :update_lexicon, :finalize, changed: :name, on: :save do
82
+ lexicon_action = @action == :create ? :add : :update
83
+ Card::Lexicon.send lexicon_action, self
95
84
  end
96
85
 
97
- def prepare_new_side side, side_id, sidename
98
- return unless side_id == -1 || !Card[side_id]&.real?
86
+ event :cascade_name_changes, :finalize, on: :update, changed: :name do
87
+ each_descendant { |d| d.rename_as_descendant update_referers }
88
+ end
99
89
 
100
- sidecard = Director.card(sidename) || add_subcard(sidename)
101
- send "#{side}_id=", sidecard
90
+ protected
91
+
92
+ def rename_as_trash_obstacle
93
+ self.name = "#{name}*trash"
94
+ rename_in_trash_without_callbacks
95
+ save!
102
96
  end
103
97
 
104
- def prepare_obstructed_side side, side_id, sidename
105
- return unless side_id && side_id == id
106
- clear_name sidename
107
- send "#{side}_id=", add_subcard(sidename)
108
- true
98
+ def rename_as_descendant referers=true
99
+ self.action = :update
100
+ referers ? update_referers : update_referer_references_out
101
+ refresh_references_in
102
+ refresh_references_out
103
+ expire
104
+ Card::Lexicon.update self
109
105
  end
110
106
 
107
+ private
108
+
111
109
  def name_incomplete?
112
110
  name.parts.include?("") && !superleft&.autoname?
113
111
  end
114
112
 
115
- def no_autoname?
116
- !autoname?
113
+ def changed_from_simple_to_compound?
114
+ name.compound? && name_before_act.to_name.simple?
117
115
  end
118
116
 
119
- def autoname?
120
- name.blank? &&
121
- (@autoname_rule.nil? ? (@autoname_rule = rule(:autoname).present?) : @autoname_rule)
117
+ def detect_illegal_compound_names
118
+ return unless changed_from_simple_to_compound? && child_ids(:right).present?
119
+
120
+ errors.add :name, "illegal name change; existing names end in +#{name_before_act}"
122
121
  end
123
122
 
124
- private
123
+ def changing_existing_tag_to_compound?
124
+ return false unless changing_name_to_compound?
125
125
 
126
- def changing_existing_tag_to_junction?
127
- return false unless changing_name_to_junction?
128
126
  name_in_use_as_tag?
129
127
  end
130
128
 
@@ -132,8 +130,8 @@ def name_in_use_as_tag?
132
130
  !Card.where(right_id: id, trash: false).take.nil?
133
131
  end
134
132
 
135
- def changing_name_to_junction?
136
- name.junction? && simple?
133
+ def changing_name_to_compound?
134
+ name.compound? && simple?
137
135
  end
138
136
 
139
137
  def old_name_in_way? sidecard
@@ -148,5 +146,27 @@ def clear_name name
148
146
  Card::Lexicon.cache.reset # probably overkill, but this for an edge case...
149
147
  # Card::Lexicon.delete id, key
150
148
  end
149
+
150
+ def prepare_side side
151
+ side_id = send "#{side}_id"
152
+ sidename = name.send "#{side}_name"
153
+ prepare_obstructed_side(side, side_id, sidename) ||
154
+ prepare_new_side(side, side_id, sidename)
155
+ end
156
+
157
+ def prepare_new_side side, side_id, sidename
158
+ return unless side_id == -1 || !Card[side_id]&.real?
159
+
160
+ sidecard = Director.card(sidename) || add_subcard(sidename)
161
+ send "#{side}_id=", sidecard
162
+ end
163
+
164
+ def prepare_obstructed_side side, side_id, sidename
165
+ return unless side_id && side_id == id
166
+
167
+ clear_name sidename
168
+ send "#{side}_id=", add_subcard(sidename)
169
+ true
170
+ end
151
171
  end;end;end;end;
152
172
  # ~~ generated from /Users/ethan/dev/decko/gem/card/mod/core/set/all/name_events.rb ~~