card 1.102.0 → 1.103.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (506) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/config/initializers/02_patches/active_record.rb +2 -2
  4. data/config/locales/en.yml +0 -144
  5. data/db/migrate_core_cards/20190417142612_reorganize_scripts_2.rb +1 -1
  6. data/db/migrate_core_cards/20200821231558_add_nest_list_type.rb +2 -2
  7. data/db/seed/new/card_actions.yml +3228 -2716
  8. data/db/seed/new/card_acts.yml +3 -3
  9. data/db/seed/new/card_references.yml +1898 -1387
  10. data/db/seed/new/cards.yml +6800 -5415
  11. data/db/seed/new/schema_migrations_core_cards.yml +20 -0
  12. data/db/seed/test/fixtures/card_actions.yml +4713 -4121
  13. data/db/seed/test/fixtures/card_acts.yml +755 -695
  14. data/db/seed/test/fixtures/card_changes.yml +103 -103
  15. data/db/seed/test/fixtures/card_references.yml +3185 -2632
  16. data/db/seed/test/fixtures/cards.yml +10085 -8448
  17. data/db/seed/test/fixtures/schema_migrations_core_cards.yml +20 -0
  18. data/db/test_seed.rb +6 -1
  19. data/lib/card/auth/current.rb +1 -1
  20. data/lib/card/cache.rb +1 -1
  21. data/lib/card/cache/persistent.rb +1 -1
  22. data/lib/card/cache/persistent_class.rb +1 -1
  23. data/lib/card/codename.rb +1 -1
  24. data/lib/card/director/all.rb +4 -4
  25. data/lib/card/error.rb +1 -1
  26. data/lib/card/format.rb +1 -1
  27. data/lib/card/format/error.rb +1 -1
  28. data/lib/card/format/nest/fetch.rb +1 -1
  29. data/lib/card/model/save_helper.rb +1 -1
  30. data/lib/card/model/save_helper/save_arguments.rb +3 -1
  31. data/lib/card/reference/all.rb +1 -1
  32. data/lib/card/set/format/haml_paths.rb +6 -5
  33. data/lib/card/set/type.rb +1 -1
  34. data/lib/card/tasks/card.rake +0 -18
  35. data/lib/card/tasks/card/asset.rake +22 -0
  36. data/lib/card/tasks/card/migrate.rake +7 -7
  37. data/lib/card/tasks/card/mod.rake +30 -0
  38. data/lib/cardio.rb +5 -10
  39. data/lib/cardio/all.rb +1 -0
  40. data/lib/cardio/application.rb +3 -132
  41. data/lib/cardio/delaying.rb +3 -3
  42. data/lib/cardio/generators/class_methods.rb +1 -1
  43. data/lib/cardio/migration.rb +8 -27
  44. data/lib/cardio/migration/deck_structure.rb +1 -1
  45. data/lib/cardio/mod.rb +55 -2
  46. data/lib/cardio/mod/dirs.rb +41 -41
  47. data/lib/cardio/mod/load_strategy.rb +1 -1
  48. data/lib/cardio/mod/load_strategy/eval.rb +1 -1
  49. data/lib/cardio/mod/load_strategy/pattern_tmp_files.rb +1 -1
  50. data/lib/cardio/mod/load_strategy/set_binding_magic.rb +1 -1
  51. data/lib/cardio/mod/load_strategy/set_tmp_files.rb +1 -1
  52. data/lib/cardio/mod/load_strategy/tmp_files.rb +1 -1
  53. data/lib/cardio/mod/loader.rb +2 -2
  54. data/lib/cardio/mod/loader/set_loader.rb +1 -1
  55. data/lib/cardio/mod/loader/set_pattern_loader.rb +1 -1
  56. data/lib/cardio/mod/loader/set_template.rb +1 -1
  57. data/lib/cardio/mod/modfile_api.rb +22 -0
  58. data/lib/cardio/mod/modfile_loader.rb +18 -0
  59. data/lib/cardio/mod/module_template.rb +1 -1
  60. data/lib/cardio/railtie.rb +134 -0
  61. data/lib/cardio/schema.rb +68 -69
  62. data/lib/cardio/utils.rb +22 -28
  63. data/lib/generators/migration/migration_generator.rb +1 -1
  64. data/lib/generators/mod/mod_generator.rb +10 -14
  65. data/mod/admin/locales/en.yml +4 -0
  66. data/mod/admin/set/self/admin.rb +2 -2
  67. data/mod/core/locales/en.yml +30 -0
  68. data/mod/core/set/all/initialize.rb +5 -1
  69. data/mod/core/set/all/name_events.rb +1 -1
  70. data/mod/core/set/all/utils.rb +2 -2
  71. data/tmpsets/set_pattern/100-all.rb +1 -1
  72. data/tmpsets/set_pattern/101-all_plus.rb +1 -1
  73. data/tmpsets/set_pattern/102-type.rb +1 -1
  74. data/tmpsets/set_pattern/103-star.rb +1 -1
  75. data/tmpsets/set_pattern/104-rstar.rb +1 -1
  76. data/tmpsets/set_pattern/105-rule.rb +1 -1
  77. data/tmpsets/set_pattern/106-right.rb +1 -1
  78. data/tmpsets/set_pattern/107-type_plus_right.rb +1 -1
  79. data/tmpsets/set_pattern/108-self.rb +1 -1
  80. metadata +50 -469
  81. data/lib/cardio/defaults.yml +0 -71
  82. data/tmpsets/set/mod001-admin/self/admin.rb +0 -155
  83. data/tmpsets/set/mod001-admin/self/admin_info.rb +0 -52
  84. data/tmpsets/set/mod001-admin/self/debugger.rb +0 -12
  85. data/tmpsets/set/mod002-core/all/abort.rb +0 -85
  86. data/tmpsets/set/mod002-core/all/assign_attributes.rb +0 -119
  87. data/tmpsets/set/mod002-core/all/autoname.rb +0 -26
  88. data/tmpsets/set/mod002-core/all/codename.rb +0 -39
  89. data/tmpsets/set/mod002-core/all/collection.rb +0 -62
  90. data/tmpsets/set/mod002-core/all/content.rb +0 -74
  91. data/tmpsets/set/mod002-core/all/debug.rb +0 -29
  92. data/tmpsets/set/mod002-core/all/initialize.rb +0 -93
  93. data/tmpsets/set/mod002-core/all/name_events.rb +0 -172
  94. data/tmpsets/set/mod002-core/all/reference_events.rb +0 -78
  95. data/tmpsets/set/mod002-core/all/states.rb +0 -93
  96. data/tmpsets/set/mod002-core/all/subcards.rb +0 -29
  97. data/tmpsets/set/mod002-core/all/trash.rb +0 -142
  98. data/tmpsets/set/mod002-core/all/type.rb +0 -70
  99. data/tmpsets/set/mod002-core/all/utils.rb +0 -104
  100. data/tmpsets/set/mod002-core/right/autoname.rb +0 -12
  101. data/tmpsets/set/mod002-core/self/autoname.rb +0 -12
  102. data/tmpsets/set/mod002-core/self/trash.rb +0 -73
  103. data/tmpsets/set/mod002-core/self/version.rb +0 -18
  104. data/tmpsets/set/mod002-core/type/cardtype.rb +0 -37
  105. data/tmpsets/set/mod004-email/abstract/email_field.rb +0 -49
  106. data/tmpsets/set/mod004-email/abstract/test_context.rb +0 -36
  107. data/tmpsets/set/mod004-email/all/email_html.rb +0 -18
  108. data/tmpsets/set/mod004-email/all/email_text.rb +0 -22
  109. data/tmpsets/set/mod004-email/right/bcc.rb +0 -10
  110. data/tmpsets/set/mod004-email/right/cc.rb +0 -10
  111. data/tmpsets/set/mod004-email/right/from.rb +0 -10
  112. data/tmpsets/set/mod004-email/right/html_message.rb +0 -23
  113. data/tmpsets/set/mod004-email/right/subject.rb +0 -10
  114. data/tmpsets/set/mod004-email/right/text_message.rb +0 -10
  115. data/tmpsets/set/mod004-email/right/to.rb +0 -10
  116. data/tmpsets/set/mod004-email/type/email_template.rb +0 -101
  117. data/tmpsets/set/mod004-email/type/email_template/email_config.rb +0 -92
  118. data/tmpsets/set/mod005-collection/abstract/items.rb +0 -215
  119. data/tmpsets/set/mod005-collection/abstract/paging.rb +0 -74
  120. data/tmpsets/set/mod005-collection/abstract/paging/paging_links.rb +0 -99
  121. data/tmpsets/set/mod005-collection/abstract/paging/paging_views.rb +0 -121
  122. data/tmpsets/set/mod005-collection/all/extended.rb +0 -59
  123. data/tmpsets/set/mod005-collection/all/item.rb +0 -145
  124. data/tmpsets/set/mod006-content/abstract/00_sources.rb +0 -33
  125. data/tmpsets/set/mod006-content/abstract/01_code_file.rb +0 -94
  126. data/tmpsets/set/mod006-content/abstract/asset_file.rb +0 -84
  127. data/tmpsets/set/mod006-content/abstract/haml_file.rb +0 -32
  128. data/tmpsets/set/mod006-content/abstract/lock.rb +0 -36
  129. data/tmpsets/set/mod006-content/abstract/read_only.rb +0 -23
  130. data/tmpsets/set/mod006-content/abstract/templated_nests.rb +0 -16
  131. data/tmpsets/set/mod006-content/abstract/vendor_code_file.rb +0 -18
  132. data/tmpsets/set/mod006-content/all/chunk.rb +0 -151
  133. data/tmpsets/set/mod006-content/all/contextual_content.rb +0 -29
  134. data/tmpsets/set/mod006-content/all/templating.rb +0 -79
  135. data/tmpsets/set/mod006-content/right/default.rb +0 -43
  136. data/tmpsets/set/mod006-content/right/structure.rb +0 -85
  137. data/tmpsets/set/mod006-content/self/default.rb +0 -11
  138. data/tmpsets/set/mod006-content/self/structure.rb +0 -13
  139. data/tmpsets/set/mod007-format/all/active_card.rb +0 -14
  140. data/tmpsets/set/mod007-format/all/base.rb +0 -148
  141. data/tmpsets/set/mod007-format/all/content.rb +0 -77
  142. data/tmpsets/set/mod007-format/all/css.rb +0 -45
  143. data/tmpsets/set/mod007-format/all/csv.rb +0 -103
  144. data/tmpsets/set/mod007-format/all/demo.rb +0 -45
  145. data/tmpsets/set/mod007-format/all/error.rb +0 -81
  146. data/tmpsets/set/mod007-format/all/export.rb +0 -79
  147. data/tmpsets/set/mod007-format/all/file.rb +0 -18
  148. data/tmpsets/set/mod007-format/all/frame.rb +0 -58
  149. data/tmpsets/set/mod007-format/all/haml.rb +0 -84
  150. data/tmpsets/set/mod007-format/all/head.rb +0 -170
  151. data/tmpsets/set/mod007-format/all/header.rb +0 -71
  152. data/tmpsets/set/mod007-format/all/html_content.rb +0 -178
  153. data/tmpsets/set/mod007-format/all/html_error.rb +0 -217
  154. data/tmpsets/set/mod007-format/all/html_show.rb +0 -62
  155. data/tmpsets/set/mod007-format/all/html_title.rb +0 -56
  156. data/tmpsets/set/mod007-format/all/html_wrapper.rb +0 -173
  157. data/tmpsets/set/mod007-format/all/js.rb +0 -18
  158. data/tmpsets/set/mod007-format/all/json.rb +0 -174
  159. data/tmpsets/set/mod007-format/all/links.rb +0 -160
  160. data/tmpsets/set/mod007-format/all/menu.rb +0 -138
  161. data/tmpsets/set/mod007-format/all/path.rb +0 -88
  162. data/tmpsets/set/mod007-format/all/rich_html.rb +0 -25
  163. data/tmpsets/set/mod007-format/all/rss.rb +0 -86
  164. data/tmpsets/set/mod007-format/all/text.rb +0 -15
  165. data/tmpsets/set/mod007-format/self/home.rb +0 -18
  166. data/tmpsets/set/mod007-format/type/cardtype.rb +0 -98
  167. data/tmpsets/set/mod007-format/type/html.rb +0 -36
  168. data/tmpsets/set/mod007-format/type/json.rb +0 -50
  169. data/tmpsets/set/mod007-format/type/number.rb +0 -33
  170. data/tmpsets/set/mod007-format/type/phrase.rb +0 -14
  171. data/tmpsets/set/mod007-format/type/plain_text.rb +0 -18
  172. data/tmpsets/set/mod007-format/type/toggle.rb +0 -47
  173. data/tmpsets/set/mod007-format/type/uri.rb +0 -24
  174. data/tmpsets/set/mod008-list/abstract/01_pointer.rb +0 -19
  175. data/tmpsets/set/mod008-list/abstract/01_pointer/events.rb +0 -80
  176. data/tmpsets/set/mod008-list/abstract/01_pointer/html_views.rb +0 -131
  177. data/tmpsets/set/mod008-list/abstract/01_pointer/html_views/filter.rb +0 -72
  178. data/tmpsets/set/mod008-list/abstract/01_pointer/options_api.rb +0 -87
  179. data/tmpsets/set/mod008-list/abstract/01_pointer/other_views.rb +0 -112
  180. data/tmpsets/set/mod008-list/abstract/code_pointer.rb +0 -44
  181. data/tmpsets/set/mod008-list/abstract/id_pointer.rb +0 -30
  182. data/tmpsets/set/mod008-list/all/supports_content_options.rb +0 -16
  183. data/tmpsets/set/mod008-list/right/content_option_view.rb +0 -19
  184. data/tmpsets/set/mod008-list/right/content_options.rb +0 -32
  185. data/tmpsets/set/mod008-list/self/content_option_view.rb +0 -18
  186. data/tmpsets/set/mod008-list/self/content_options.rb +0 -18
  187. data/tmpsets/set/mod008-list/self/input_options.rb +0 -23
  188. data/tmpsets/set/mod008-list/type/link_list.rb +0 -49
  189. data/tmpsets/set/mod008-list/type/list.rb +0 -25
  190. data/tmpsets/set/mod008-list/type/nest_list.rb +0 -55
  191. data/tmpsets/set/mod008-list/type/pointer.rb +0 -19
  192. data/tmpsets/set/mod009-permissions/abstract/permission.rb +0 -132
  193. data/tmpsets/set/mod009-permissions/all/permissions.rb +0 -240
  194. data/tmpsets/set/mod009-permissions/all/update_read_rules.rb +0 -20
  195. data/tmpsets/set/mod009-permissions/right/create.rb +0 -10
  196. data/tmpsets/set/mod009-permissions/right/delete.rb +0 -10
  197. data/tmpsets/set/mod009-permissions/right/read.rb +0 -86
  198. data/tmpsets/set/mod009-permissions/right/update.rb +0 -10
  199. data/tmpsets/set/mod009-permissions/self/create.rb +0 -12
  200. data/tmpsets/set/mod009-permissions/self/delete.rb +0 -12
  201. data/tmpsets/set/mod009-permissions/self/read.rb +0 -12
  202. data/tmpsets/set/mod009-permissions/self/update.rb +0 -12
  203. data/tmpsets/set/mod010-account/abstract/account_field.rb +0 -31
  204. data/tmpsets/set/mod010-account/abstract/accountable.rb +0 -62
  205. data/tmpsets/set/mod010-account/all/account.rb +0 -115
  206. data/tmpsets/set/mod010-account/right/account.rb +0 -62
  207. data/tmpsets/set/mod010-account/right/account/events.rb +0 -108
  208. data/tmpsets/set/mod010-account/right/account/views.rb +0 -74
  209. data/tmpsets/set/mod010-account/right/email.rb +0 -56
  210. data/tmpsets/set/mod010-account/right/password.rb +0 -61
  211. data/tmpsets/set/mod010-account/right/roles.rb +0 -36
  212. data/tmpsets/set/mod010-account/right/salt.rb +0 -22
  213. data/tmpsets/set/mod010-account/right/status.rb +0 -27
  214. data/tmpsets/set/mod010-account/self/signin.rb +0 -222
  215. data/tmpsets/set/mod010-account/type/role.rb +0 -30
  216. data/tmpsets/set/mod010-account/type/signup.rb +0 -63
  217. data/tmpsets/set/mod010-account/type/signup/views.rb +0 -107
  218. data/tmpsets/set/mod010-account/type/user.rb +0 -76
  219. data/tmpsets/set/mod010-account/type_plus_right/user/email.rb +0 -22
  220. data/tmpsets/set/mod011-edit/all/bridge.rb +0 -73
  221. data/tmpsets/set/mod011-edit/all/bridge/bridge_pills.rb +0 -56
  222. data/tmpsets/set/mod011-edit/all/bridge/follow_section.rb +0 -46
  223. data/tmpsets/set/mod011-edit/all/bridge/related_section.rb +0 -43
  224. data/tmpsets/set/mod011-edit/all/bridge/tab_views.rb +0 -50
  225. data/tmpsets/set/mod011-edit/all/bridge/tab_visibility.rb +0 -67
  226. data/tmpsets/set/mod011-edit/all/edit_content.rb +0 -69
  227. data/tmpsets/set/mod011-edit/all/edit_inline.rb +0 -65
  228. data/tmpsets/set/mod011-edit/all/edit_name.rb +0 -65
  229. data/tmpsets/set/mod011-edit/all/edit_type.rb +0 -129
  230. data/tmpsets/set/mod011-edit/all/editing.rb +0 -100
  231. data/tmpsets/set/mod011-edit/all/editor.rb +0 -63
  232. data/tmpsets/set/mod011-edit/all/form.rb +0 -257
  233. data/tmpsets/set/mod011-edit/all/form_buttons.rb +0 -82
  234. data/tmpsets/set/mod011-edit/all/form_elements.rb +0 -81
  235. data/tmpsets/set/mod011-edit/all/formgroup.rb +0 -46
  236. data/tmpsets/set/mod011-edit/all/new.rb +0 -195
  237. data/tmpsets/set/mod011-edit/all/overlay_guide.rb +0 -18
  238. data/tmpsets/set/mod011-edit/all/template_nest.rb +0 -51
  239. data/tmpsets/set/mod011-edit/right/input_type.rb +0 -44
  240. data/tmpsets/set/mod011-edit/self/input_type.rb +0 -21
  241. data/tmpsets/set/mod011-edit/type/list.rb +0 -24
  242. data/tmpsets/set/mod011-edit/type/plain_text.rb +0 -22
  243. data/tmpsets/set/mod011-edit/type/pointer.rb +0 -20
  244. data/tmpsets/set/mod012-history/all/history.rb +0 -119
  245. data/tmpsets/set/mod012-history/all/history/act_listing.rb +0 -136
  246. data/tmpsets/set/mod012-history/all/history/actions.rb +0 -137
  247. data/tmpsets/set/mod012-history/all/history/acts.rb +0 -17
  248. data/tmpsets/set/mod012-history/all/history/events.rb +0 -109
  249. data/tmpsets/set/mod012-history/all/history/last.rb +0 -107
  250. data/tmpsets/set/mod012-history/all/history/revision.rb +0 -74
  251. data/tmpsets/set/mod012-history/all/history/selected.rb +0 -73
  252. data/tmpsets/set/mod012-history/all/history/views.rb +0 -75
  253. data/tmpsets/set/mod012-history/all/history_bridge.rb +0 -88
  254. data/tmpsets/set/mod013-carrierwave/abstract/attachment.rb +0 -144
  255. data/tmpsets/set/mod013-carrierwave/abstract/attachment/cloud.rb +0 -146
  256. data/tmpsets/set/mod013-carrierwave/abstract/attachment/coded.rb +0 -36
  257. data/tmpsets/set/mod013-carrierwave/abstract/attachment/local.rb +0 -52
  258. data/tmpsets/set/mod013-carrierwave/abstract/attachment/paths.rb +0 -68
  259. data/tmpsets/set/mod013-carrierwave/abstract/attachment/storage_type.rb +0 -180
  260. data/tmpsets/set/mod013-carrierwave/abstract/attachment/upload_cache.rb +0 -98
  261. data/tmpsets/set/mod013-carrierwave/abstract/attachment/web.rb +0 -12
  262. data/tmpsets/set/mod013-carrierwave/all/file_utils.rb +0 -50
  263. data/tmpsets/set/mod013-carrierwave/self/admin.rb +0 -32
  264. data/tmpsets/set/mod013-carrierwave/self/favicon.rb +0 -26
  265. data/tmpsets/set/mod013-carrierwave/self/new_file.rb +0 -22
  266. data/tmpsets/set/mod013-carrierwave/self/new_image.rb +0 -22
  267. data/tmpsets/set/mod013-carrierwave/type/file.rb +0 -144
  268. data/tmpsets/set/mod013-carrierwave/type/image.rb +0 -113
  269. data/tmpsets/set/mod013-carrierwave/type/image/html_views.rb +0 -88
  270. data/tmpsets/set/mod014-virtual/abstract/virtual_cache.rb +0 -52
  271. data/tmpsets/set/mod015-machines/abstract/machine.rb +0 -230
  272. data/tmpsets/set/mod015-machines/abstract/machine/output_cache.rb +0 -25
  273. data/tmpsets/set/mod015-machines/abstract/machine/output_update.rb +0 -84
  274. data/tmpsets/set/mod015-machines/abstract/machine_input.rb +0 -82
  275. data/tmpsets/set/mod015-machines/all/reset_machines.rb +0 -31
  276. data/tmpsets/set/mod015-machines/right/machine_cache.rb +0 -14
  277. data/tmpsets/set/mod015-machines/right/machine_input.rb +0 -16
  278. data/tmpsets/set/mod015-machines/right/machine_output.rb +0 -53
  279. data/tmpsets/set/mod016-script/abstract/01_asset_java_script.rb +0 -32
  280. data/tmpsets/set/mod016-script/abstract/asset_coffee_script.rb +0 -34
  281. data/tmpsets/set/mod016-script/abstract/asset_list.rb +0 -98
  282. data/tmpsets/set/mod016-script/abstract/manifest_group.rb +0 -22
  283. data/tmpsets/set/mod016-script/abstract/mod_assets.rb +0 -145
  284. data/tmpsets/set/mod016-script/abstract/script.rb +0 -98
  285. data/tmpsets/set/mod016-script/right/script.rb +0 -30
  286. data/tmpsets/set/mod016-script/self/script.rb +0 -10
  287. data/tmpsets/set/mod016-script/self/script_html5shiv_printshiv.rb +0 -20
  288. data/tmpsets/set/mod016-script/self/script_mods.rb +0 -10
  289. data/tmpsets/set/mod016-script/type/01_coffee_script.rb +0 -35
  290. data/tmpsets/set/mod016-script/type/02_java_script.rb +0 -24
  291. data/tmpsets/set/mod016-script/type/local_folder_group.rb +0 -30
  292. data/tmpsets/set/mod016-script/type/local_manifest_group.rb +0 -35
  293. data/tmpsets/set/mod016-script/type/mod_script_assets.rb +0 -22
  294. data/tmpsets/set/mod016-script/type/remote_manifest_group.rb +0 -41
  295. data/tmpsets/set/mod017-ace_editor/all/ace_editor.rb +0 -20
  296. data/tmpsets/set/mod017-ace_editor/self/ace.rb +0 -16
  297. data/tmpsets/set/mod017-ace_editor/self/script_ace.rb +0 -12
  298. data/tmpsets/set/mod017-ace_editor/self/script_ace_config.rb +0 -12
  299. data/tmpsets/set/mod018-alias/all/alias.rb +0 -30
  300. data/tmpsets/set/mod018-alias/all_plus/alias.rb +0 -31
  301. data/tmpsets/set/mod018-alias/type/alias.rb +0 -42
  302. data/tmpsets/set/mod019-api_key/right/account.rb +0 -18
  303. data/tmpsets/set/mod019-api_key/right/api_key.rb +0 -103
  304. data/tmpsets/set/mod020-style/abstract/skin_box.rb +0 -44
  305. data/tmpsets/set/mod020-style/right/style.rb +0 -65
  306. data/tmpsets/set/mod020-style/self/style.rb +0 -13
  307. data/tmpsets/set/mod020-style/self/style_bootstrap_compatible.rb +0 -10
  308. data/tmpsets/set/mod020-style/self/style_cards.rb +0 -10
  309. data/tmpsets/set/mod020-style/self/style_jquery_ui_smoothness.rb +0 -10
  310. data/tmpsets/set/mod020-style/self/style_libraries.rb +0 -10
  311. data/tmpsets/set/mod020-style/self/style_mods.rb +0 -10
  312. data/tmpsets/set/mod020-style/type/css.rb +0 -95
  313. data/tmpsets/set/mod020-style/type/scss.rb +0 -30
  314. data/tmpsets/set/mod020-style/type/skin.rb +0 -18
  315. data/tmpsets/set/mod021-bar_and_box/abstract/media.rb +0 -26
  316. data/tmpsets/set/mod021-bar_and_box/all/bar.rb +0 -112
  317. data/tmpsets/set/mod021-bar_and_box/all/box.rb +0 -25
  318. data/tmpsets/set/mod021-bar_and_box/self/style_media.rb +0 -15
  319. data/tmpsets/set/mod021-bar_and_box/type/image.rb +0 -47
  320. data/tmpsets/set/mod022-bootstrap/abstract/bootstrap_code_file.rb +0 -65
  321. data/tmpsets/set/mod022-bootstrap/abstract/bootswatch_theme.rb +0 -167
  322. data/tmpsets/set/mod022-bootstrap/abstract/bootswatch_theme/html_views.rb +0 -39
  323. data/tmpsets/set/mod022-bootstrap/abstract/bs_badge.rb +0 -31
  324. data/tmpsets/set/mod022-bootstrap/all/bootstrap/accordion.rb +0 -72
  325. data/tmpsets/set/mod022-bootstrap/all/bootstrap/dropdown.rb +0 -93
  326. data/tmpsets/set/mod022-bootstrap/all/bootstrap/form.rb +0 -44
  327. data/tmpsets/set/mod022-bootstrap/all/bootstrap/helper.rb +0 -73
  328. data/tmpsets/set/mod022-bootstrap/all/bootstrap/icon.rb +0 -125
  329. data/tmpsets/set/mod022-bootstrap/all/bootstrap/navbar.rb +0 -55
  330. data/tmpsets/set/mod022-bootstrap/all/bootstrap/table.rb +0 -110
  331. data/tmpsets/set/mod022-bootstrap/all/bootstrap/tabs.rb +0 -49
  332. data/tmpsets/set/mod022-bootstrap/all/bootstrap/wrapper.rb +0 -27
  333. data/tmpsets/set/mod022-bootstrap/all/rich_bootstrap.rb +0 -24
  334. data/tmpsets/set/mod022-bootstrap/self/bootstrap_core.rb +0 -23
  335. data/tmpsets/set/mod022-bootstrap/self/bootstrap_functions.rb +0 -14
  336. data/tmpsets/set/mod022-bootstrap/self/font_awesome.rb +0 -11
  337. data/tmpsets/set/mod022-bootstrap/self/material_icons.rb +0 -11
  338. data/tmpsets/set/mod022-bootstrap/self/script_load_select2.rb +0 -11
  339. data/tmpsets/set/mod022-bootstrap/self/smartmenu_css.rb +0 -14
  340. data/tmpsets/set/mod022-bootstrap/self/smartmenu_js.rb +0 -14
  341. data/tmpsets/set/mod022-bootstrap/self/style_bootstrap_cards.rb +0 -10
  342. data/tmpsets/set/mod022-bootstrap/self/style_bootstrap_colorpicker.rb +0 -15
  343. data/tmpsets/set/mod022-bootstrap/self/style_select2.rb +0 -19
  344. data/tmpsets/set/mod022-bootstrap/self/style_select2_bootstrap.rb +0 -10
  345. data/tmpsets/set/mod022-bootstrap/type/bootswatch_skin.rb +0 -24
  346. data/tmpsets/set/mod022-bootstrap/type/customized_bootswatch_skin.rb +0 -129
  347. data/tmpsets/set/mod022-bootstrap/type/customized_bootswatch_skin/html_views.rb +0 -43
  348. data/tmpsets/set/mod022-bootstrap/type_plus_right/customized_bootswatch_skin/colors.rb +0 -123
  349. data/tmpsets/set/mod023-comment/all/comment.rb +0 -92
  350. data/tmpsets/set/mod023-comment/right/comment.rb +0 -10
  351. data/tmpsets/set/mod023-comment/right/discussion.rb +0 -18
  352. data/tmpsets/set/mod024-date/all/calendar.rb +0 -18
  353. data/tmpsets/set/mod024-date/right/when_created.rb +0 -16
  354. data/tmpsets/set/mod024-date/right/when_last_edited.rb +0 -16
  355. data/tmpsets/set/mod024-date/self/datepicker.rb +0 -15
  356. data/tmpsets/set/mod024-date/self/now.rb +0 -14
  357. data/tmpsets/set/mod024-date/self/script_datepicker_config.rb +0 -12
  358. data/tmpsets/set/mod024-date/self/style_datepicker.rb +0 -20
  359. data/tmpsets/set/mod024-date/type/date.rb +0 -14
  360. data/tmpsets/set/mod026-follow/abstract/follow_option.rb +0 -65
  361. data/tmpsets/set/mod026-follow/all/follow.rb +0 -42
  362. data/tmpsets/set/mod026-follow/all/follow/follow_link.rb +0 -70
  363. data/tmpsets/set/mod026-follow/all/follow/follow_link_views.rb +0 -38
  364. data/tmpsets/set/mod026-follow/all/follow/followed_by.rb +0 -79
  365. data/tmpsets/set/mod026-follow/all/follow/follower_ids.rb +0 -130
  366. data/tmpsets/set/mod026-follow/all/follow/start_follow_link.rb +0 -19
  367. data/tmpsets/set/mod026-follow/all/follow/stop_follow_link.rb +0 -20
  368. data/tmpsets/set/mod026-follow/all/notify.rb +0 -91
  369. data/tmpsets/set/mod026-follow/all/notify/base_views.rb +0 -137
  370. data/tmpsets/set/mod026-follow/all/notify/html_views.rb +0 -26
  371. data/tmpsets/set/mod026-follow/right/account.rb +0 -24
  372. data/tmpsets/set/mod026-follow/right/follow.rb +0 -127
  373. data/tmpsets/set/mod026-follow/right/follow_fields.rb +0 -12
  374. data/tmpsets/set/mod026-follow/right/followers.rb +0 -32
  375. data/tmpsets/set/mod026-follow/right/following.rb +0 -59
  376. data/tmpsets/set/mod026-follow/self/always.rb +0 -22
  377. data/tmpsets/set/mod026-follow/self/created.rb +0 -28
  378. data/tmpsets/set/mod026-follow/self/edited.rb +0 -29
  379. data/tmpsets/set/mod026-follow/self/follow.rb +0 -10
  380. data/tmpsets/set/mod026-follow/self/follow_defaults.rb +0 -98
  381. data/tmpsets/set/mod026-follow/self/follow_fields.rb +0 -10
  382. data/tmpsets/set/mod026-follow/self/never.rb +0 -22
  383. data/tmpsets/set/mod026-follow/type/cardtype.rb +0 -30
  384. data/tmpsets/set/mod026-follow/type/notification_template.rb +0 -42
  385. data/tmpsets/set/mod026-follow/type/set.rb +0 -62
  386. data/tmpsets/set/mod026-follow/type/user.rb +0 -16
  387. data/tmpsets/set/mod026-follow/type_plus_right/user/follow.rb +0 -87
  388. data/tmpsets/set/mod026-follow/type_plus_right/user/follow/follow_editor_helper.rb +0 -130
  389. data/tmpsets/set/mod027-google_analytics/all/google_analytics.rb +0 -51
  390. data/tmpsets/set/mod028-help/all/guide.rb +0 -60
  391. data/tmpsets/set/mod028-help/all/help.rb +0 -58
  392. data/tmpsets/set/mod028-help/right/guide.rb +0 -17
  393. data/tmpsets/set/mod028-help/right/help.rb +0 -24
  394. data/tmpsets/set/mod028-help/self/guide.rb +0 -11
  395. data/tmpsets/set/mod028-help/self/help.rb +0 -13
  396. data/tmpsets/set/mod029-integrate/all/observer.rb +0 -31
  397. data/tmpsets/set/mod029-integrate/self/on_create.rb +0 -11
  398. data/tmpsets/set/mod029-integrate/self/on_delete.rb +0 -11
  399. data/tmpsets/set/mod029-integrate/self/on_update.rb +0 -11
  400. data/tmpsets/set/mod029-integrate/self/thanks.rb +0 -13
  401. data/tmpsets/set/mod030-session/all/location_history.rb +0 -28
  402. data/tmpsets/set/mod030-session/type/session.rb +0 -70
  403. data/tmpsets/set/mod031-layout/abstract/account_dropdown.rb +0 -32
  404. data/tmpsets/set/mod031-layout/abstract/pointer/html_views.rb +0 -14
  405. data/tmpsets/set/mod031-layout/all/alert.rb +0 -32
  406. data/tmpsets/set/mod031-layout/all/layouts.rb +0 -43
  407. data/tmpsets/set/mod031-layout/all/modal.rb +0 -129
  408. data/tmpsets/set/mod031-layout/all/navbar_links.rb +0 -77
  409. data/tmpsets/set/mod031-layout/all/overlay.rb +0 -110
  410. data/tmpsets/set/mod031-layout/all/process_layout.rb +0 -88
  411. data/tmpsets/set/mod031-layout/all/tabs.rb +0 -61
  412. data/tmpsets/set/mod031-layout/right/enabled_roles.rb +0 -70
  413. data/tmpsets/set/mod031-layout/right/head.rb +0 -26
  414. data/tmpsets/set/mod031-layout/self/account_links.rb +0 -107
  415. data/tmpsets/set/mod031-layout/self/alerts.rb +0 -14
  416. data/tmpsets/set/mod031-layout/self/dropdown_divider.rb +0 -18
  417. data/tmpsets/set/mod031-layout/self/foot.rb +0 -14
  418. data/tmpsets/set/mod031-layout/self/head.rb +0 -35
  419. data/tmpsets/set/mod031-layout/self/layout.rb +0 -12
  420. data/tmpsets/set/mod031-layout/self/navbox.rb +0 -42
  421. data/tmpsets/set/mod031-layout/self/sidebar.rb +0 -14
  422. data/tmpsets/set/mod031-layout/type/html.rb +0 -23
  423. data/tmpsets/set/mod031-layout/type/layout_type.rb +0 -25
  424. data/tmpsets/set/mod032-legacy/abstract/table_of_contents.rb +0 -76
  425. data/tmpsets/set/mod032-legacy/self/csv_structure.rb +0 -10
  426. data/tmpsets/set/mod032-legacy/self/default_html_view.rb +0 -10
  427. data/tmpsets/set/mod032-legacy/self/table_of_contents.rb +0 -13
  428. data/tmpsets/set/mod032-legacy/type/basic.rb +0 -10
  429. data/tmpsets/set/mod033-markdown/type/markdown.rb +0 -26
  430. data/tmpsets/set/mod034-prosemirror_editor/all/prosemirror_editor.rb +0 -16
  431. data/tmpsets/set/mod034-prosemirror_editor/self/script_prosemirror.rb +0 -12
  432. data/tmpsets/set/mod034-prosemirror_editor/self/script_prosemirror_config.rb +0 -13
  433. data/tmpsets/set/mod034-prosemirror_editor/self/style_prosemirror.rb +0 -12
  434. data/tmpsets/set/mod035-recaptcha/all/recaptcha.rb +0 -111
  435. data/tmpsets/set/mod035-recaptcha/self/admin_info.rb +0 -36
  436. data/tmpsets/set/mod035-recaptcha/self/captcha.rb +0 -14
  437. data/tmpsets/set/mod035-recaptcha/self/recaptcha_proxy.rb +0 -12
  438. data/tmpsets/set/mod035-recaptcha/self/recaptcha_secret_key.rb +0 -18
  439. data/tmpsets/set/mod035-recaptcha/self/recaptcha_settings.rb +0 -40
  440. data/tmpsets/set/mod035-recaptcha/self/recaptcha_site_key.rb +0 -18
  441. data/tmpsets/set/mod036-search/abstract/00_filter_helper.rb +0 -55
  442. data/tmpsets/set/mod036-search/abstract/02_search_params.rb +0 -59
  443. data/tmpsets/set/mod036-search/abstract/03_filter.rb +0 -38
  444. data/tmpsets/set/mod036-search/abstract/03_filter/filter_form.rb +0 -110
  445. data/tmpsets/set/mod036-search/abstract/03_filter/form_helper.rb +0 -114
  446. data/tmpsets/set/mod036-search/abstract/03_filter/query_construction.rb +0 -47
  447. data/tmpsets/set/mod036-search/abstract/04_right_filter_form.rb +0 -35
  448. data/tmpsets/set/mod036-search/abstract/05_search.rb +0 -93
  449. data/tmpsets/set/mod036-search/abstract/05_search/views.rb +0 -174
  450. data/tmpsets/set/mod036-search/abstract/06_cql_search.rb +0 -102
  451. data/tmpsets/set/mod036-search/abstract/filterable.rb +0 -22
  452. data/tmpsets/set/mod036-search/abstract/filterable_bar.rb +0 -20
  453. data/tmpsets/set/mod036-search/right/children.rb +0 -13
  454. data/tmpsets/set/mod036-search/right/created.rb +0 -12
  455. data/tmpsets/set/mod036-search/right/edited.rb +0 -12
  456. data/tmpsets/set/mod036-search/right/editors.rb +0 -12
  457. data/tmpsets/set/mod036-search/right/follow.rb +0 -12
  458. data/tmpsets/set/mod036-search/right/linked_to_by.rb +0 -12
  459. data/tmpsets/set/mod036-search/right/links_to.rb +0 -14
  460. data/tmpsets/set/mod036-search/right/mates.rb +0 -12
  461. data/tmpsets/set/mod036-search/right/nested_by.rb +0 -12
  462. data/tmpsets/set/mod036-search/right/nests.rb +0 -12
  463. data/tmpsets/set/mod036-search/right/referred_to_by.rb +0 -12
  464. data/tmpsets/set/mod036-search/right/refers_to.rb +0 -12
  465. data/tmpsets/set/mod036-search/self/recent.rb +0 -44
  466. data/tmpsets/set/mod036-search/self/search.rb +0 -104
  467. data/tmpsets/set/mod036-search/type/cardtype.rb +0 -14
  468. data/tmpsets/set/mod036-search/type/search_type.rb +0 -90
  469. data/tmpsets/set/mod037-rules/all/related_sets.rb +0 -34
  470. data/tmpsets/set/mod037-rules/right/self.rb +0 -12
  471. data/tmpsets/set/mod037-rules/right/type_plus_right.rb +0 -13
  472. data/tmpsets/set/mod037-rules/rstar/rule_user.rb +0 -16
  473. data/tmpsets/set/mod037-rules/rule/bar_view.rb +0 -102
  474. data/tmpsets/set/mod037-rules/rule/bridge_rules_editor.rb +0 -37
  475. data/tmpsets/set/mod037-rules/rule/editor.rb +0 -119
  476. data/tmpsets/set/mod037-rules/rule/html_views.rb +0 -22
  477. data/tmpsets/set/mod037-rules/rule/quick_editor.rb +0 -48
  478. data/tmpsets/set/mod037-rules/rule/rule_form.rb +0 -65
  479. data/tmpsets/set/mod037-rules/rule/rule_form/buttons.rb +0 -54
  480. data/tmpsets/set/mod037-rules/rule/rule_form/form_elements.rb +0 -61
  481. data/tmpsets/set/mod037-rules/rule/rule_form/rule_set_radio.rb +0 -92
  482. data/tmpsets/set/mod037-rules/rule/rule_form/set_selection.rb +0 -48
  483. data/tmpsets/set/mod037-rules/rule/rules.rb +0 -118
  484. data/tmpsets/set/mod037-rules/self/cardtype.rb +0 -51
  485. data/tmpsets/set/mod037-rules/self/recent_settings.rb +0 -16
  486. data/tmpsets/set/mod037-rules/self/script_rules.rb +0 -12
  487. data/tmpsets/set/mod037-rules/type/cardtype.rb +0 -14
  488. data/tmpsets/set/mod037-rules/type/set.rb +0 -116
  489. data/tmpsets/set/mod037-rules/type/set/html_views.rb +0 -60
  490. data/tmpsets/set/mod037-rules/type/set/html_views/rule_lists.rb +0 -51
  491. data/tmpsets/set/mod037-rules/type/set/html_views/template.rb +0 -21
  492. data/tmpsets/set/mod037-rules/type/set/rules_filter.rb +0 -69
  493. data/tmpsets/set/mod037-rules/type/set/setting_lists.rb +0 -85
  494. data/tmpsets/set/mod037-rules/type/setting.rb +0 -86
  495. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor.rb +0 -53
  496. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor/link_editor.rb +0 -42
  497. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor/link_editor/link_parser.rb +0 -43
  498. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor/nest_editor.rb +0 -184
  499. data/tmpsets/set/mod038-tinymce_editor/all/reference_editor/nest_image.rb +0 -77
  500. data/tmpsets/set/mod038-tinymce_editor/all/tinymce_editor.rb +0 -15
  501. data/tmpsets/set/mod038-tinymce_editor/self/script_tinymce.rb +0 -12
  502. data/tmpsets/set/mod038-tinymce_editor/self/script_tinymce_config.rb +0 -12
  503. data/tmpsets/set/mod038-tinymce_editor/self/tiny_mce.rb +0 -16
  504. data/tmpsets/set/mod040-monkey/all/event_viz.rb +0 -73
  505. data/tmpsets/set/mod040-monkey/all/view_viz.rb +0 -34
  506. data/tmpsets/set/mod040-monkey/right/debug.rb +0 -96
@@ -316,4 +316,24 @@ schema_migrations_core_cards_157:
316
316
  schema_migrations_core_cards_158:
317
317
  version: '20191118145629'
318
318
  schema_migrations_core_cards_159:
319
+ version: '20200804112345'
320
+ schema_migrations_core_cards_160:
321
+ version: '20200804112346'
322
+ schema_migrations_core_cards_161:
323
+ version: '20200804112347'
324
+ schema_migrations_core_cards_162:
325
+ version: '20200804112348'
326
+ schema_migrations_core_cards_163:
327
+ version: '20200805112346'
328
+ schema_migrations_core_cards_164:
329
+ version: '20200806112346'
330
+ schema_migrations_core_cards_165:
331
+ version: '20200809112346'
332
+ schema_migrations_core_cards_166:
319
333
  version: '20200821231558'
334
+ schema_migrations_core_cards_167:
335
+ version: '20201115133753'
336
+ schema_migrations_core_cards_168:
337
+ version: '20201129140917'
338
+ schema_migrations_core_cards_169:
339
+ version: '20210509141814'
data/db/test_seed.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  require "timecop"
4
+ require "active_support/core_ext/numeric/time"
4
5
 
5
6
  # noinspection RubyResolve
6
7
  class SharedData
@@ -12,7 +13,7 @@ class SharedData
12
13
  "Big Brother", "Optic fan", "Sunglasses fan", "Narcissist"
13
14
  ].freeze
14
15
 
15
- CARDTYPE_COUNT = 44
16
+ CARDTYPE_COUNT = 54
16
17
 
17
18
  class << self
18
19
  def create_user name, args
@@ -210,6 +211,10 @@ class SharedData
210
211
  create "Cardtype E+*type+*default"
211
212
  end
212
213
 
214
+ def future_stamp
215
+ Time.zone.local 2020, 1, 1, 0, 0, 0
216
+ end
217
+
213
218
  def notification_cards
214
219
  Timecop.freeze(Cardio.future_stamp - 1.day) do
215
220
  # fwiw Timecop is apparently limited by ruby Time object,
@@ -76,7 +76,7 @@ class Card
76
76
  end
77
77
 
78
78
  def session_user_key
79
- "user_#{Cardio.database_name.underscore}".to_sym
79
+ "user_#{Cardio.database.underscore}".to_sym
80
80
  end
81
81
 
82
82
  private
data/lib/card/cache.rb CHANGED
@@ -107,7 +107,7 @@ class Card
107
107
  # (the non-standard caches)
108
108
  def reset_other
109
109
  Card::Codename.reset_cache
110
- Cardio.delete_tmp_files!
110
+ Cardio::Utils.delete_tmp_files!
111
111
  end
112
112
 
113
113
  # generate a cache key from an object
@@ -27,7 +27,7 @@ class Card
27
27
  @store = opts[:store]
28
28
  @klass = opts[:class]
29
29
  @class_key = @klass.to_s.to_name.key
30
- @database = opts[:database] || Cardio.database_name
30
+ @database = opts[:database] || Cardio.database
31
31
  end
32
32
 
33
33
  # renew insures you're using the most current cache version by
@@ -12,7 +12,7 @@ class Card
12
12
  end
13
13
 
14
14
  def stamp_key
15
- "#{Cardio.database_name}-stamp"
15
+ "#{Cardio.database}-stamp"
16
16
  end
17
17
 
18
18
  def renew
data/lib/card/codename.rb CHANGED
@@ -138,7 +138,7 @@ class Card
138
138
 
139
139
  def unknown_codename! mark
140
140
  raise Card::Error::CodenameNotFound,
141
- Cardio.t(:lib_exception_unknown_codename, codename: mark)
141
+ ::I18n.t(:lib_exception_unknown_codename, codename: mark)
142
142
  end
143
143
 
144
144
  def id_constant codename, id=nil
@@ -23,19 +23,19 @@ class Card
23
23
  act(as_subcard: as_subcard) { super **args }
24
24
  end
25
25
 
26
- def save *args
26
+ def save *_args
27
27
  act { super }
28
28
  end
29
29
 
30
- def valid? *args
30
+ def valid? *_args
31
31
  act(validating: true) { super }
32
32
  end
33
33
 
34
- def update *args
34
+ def update *_args
35
35
  act { super }
36
36
  end
37
37
 
38
- def update! *args
38
+ def update! *_args
39
39
  act { super }
40
40
  end
41
41
 
data/lib/card/error.rb CHANGED
@@ -22,7 +22,7 @@ class Card
22
22
  end
23
23
 
24
24
  def message_from_card
25
- Cardio.t :lib_exception_for_card, cardname: card.name, message: card_message_text
25
+ ::I18n.t :lib_exception_for_card, cardname: card.name, message: card_message_text
26
26
  end
27
27
 
28
28
  def backtrace
data/lib/card/format.rb CHANGED
@@ -47,7 +47,7 @@ class Card
47
47
  def require_card_to_initialize!
48
48
  return if @card
49
49
 
50
- raise Card::Error, Cardio.t(:lib_exception_init_without_card)
50
+ raise Card::Error, ::I18n.t(:lib_exception_init_without_card)
51
51
  end
52
52
 
53
53
  def include_set_format_modules
@@ -47,7 +47,7 @@ class Card
47
47
  if card&.name.present?
48
48
  safe_name
49
49
  else
50
- Cardio.t :lib_no_cardname
50
+ ::I18n.t :lib_no_cardname
51
51
  end
52
52
  end
53
53
 
@@ -24,7 +24,7 @@ class Card
24
24
  end
25
25
 
26
26
  def not_found_codename_error codename
27
- Cardio.t :lib_exception_unknown_codename, codename: codename
27
+ ::I18n.t :lib_exception_unknown_codename, codename: codename
28
28
  end
29
29
 
30
30
  def new_card cardish
@@ -60,7 +60,7 @@ class Card
60
60
 
61
61
  card = Card[name]
62
62
  card.update! codename: nil
63
- card.delete!
63
+ card.delete! update_referers: true
64
64
  end
65
65
 
66
66
  # create if card doesn't exist
@@ -86,7 +86,9 @@ class Card
86
86
  end
87
87
 
88
88
  def standard_changing_arg card, key, value
89
- card.send(key) != value unless value.is_a? ::File
89
+ return true if value.is_a? ::File
90
+
91
+ card.send(key) != value
90
92
  end
91
93
  end
92
94
  end
@@ -64,7 +64,7 @@ class Card
64
64
 
65
65
  # delete references from this card
66
66
  def delete_references_out
67
- raise "id required to delete references" if id.nil?
67
+ return unless id.present?
68
68
 
69
69
  Reference.where(referer_id: id).delete_all
70
70
  end
@@ -3,6 +3,7 @@ class Card
3
3
  module Format
4
4
  # methods for handling paths to HAML templates
5
5
  module HamlPaths
6
+ CORE_MODS = ::Set.new %w[core admin].freeze
6
7
  TEMPLATE_DIR = %w[template set].freeze
7
8
 
8
9
  delegate :tmp_files?, to: Cardio::Mod::LoadStrategy
@@ -60,11 +61,11 @@ class Card
60
61
  end
61
62
 
62
63
  def source_mod_dir modname, carddir
63
- if (m = modname.match(/^card-mod-(?<shortname>.*)/))
64
- "/mod/#{m[:shortname]}/set/"
65
- else
66
- "#{carddir}/mod/#{modname}/set/"
67
- end
64
+ # TODO: handle non-standard mod dirs
65
+ dir = "/mod/#{modname}/set/"
66
+ return dir unless modname.in? CORE_MODS
67
+
68
+ "#{carddir}/#{dir}/"
68
69
  end
69
70
 
70
71
  def try_haml_template_path template_path, view, source_dir, ext="haml"
data/lib/card/set/type.rb CHANGED
@@ -33,7 +33,7 @@ class Card
33
33
  end
34
34
 
35
35
  def default_type_code card
36
- card.rule_card(:default)&.type_code
36
+ card.rule_card(:default, skip_modules: true)&.type_code
37
37
  end
38
38
 
39
39
  def mods_exist_for_key? mod_key
@@ -102,22 +102,4 @@ namespace :card do
102
102
  task reset_cache: :environment do
103
103
  Card::Cache.reset_all
104
104
  end
105
-
106
- desc "reset machine output"
107
- task reset_machine_output: :environment do
108
- Card.reset_all_machines
109
- end
110
-
111
- desc "refresh machine output"
112
- task refresh_machine_output: :environment do
113
- Card.reset_all_machines
114
- Card::Auth.as_bot do
115
- [%i[all script],
116
- %i[all style],
117
- %i[script_html5shiv_printshiv]].each do |name_parts|
118
- Card[*name_parts].update_machine_output
119
- end
120
- end
121
- Card::Cache.reset_all # should not be necessary but breaking without...
122
- end
123
105
  end
@@ -0,0 +1,22 @@
1
+ namespace :card do
2
+ namespace :asset do
3
+ desc "reset style and script machine outputs"
4
+ task reset: :environment do
5
+ Card::Machine.reset_all
6
+ end
7
+
8
+ desc "refresh style and script machine output (regenerate if needed)"
9
+ task refresh: :environment do
10
+ Card::Cache.reset_all
11
+ Card::Machine.refresh_assets
12
+ Card::Cache.reset_all # should not be necessary but breaking without...
13
+ end
14
+
15
+ desc "refresh style and script machine output (regenerate if needed)"
16
+ task refresh!: :environment do
17
+ Card::Cache.reset_all
18
+ Card::Machine.refresh_assets!
19
+ Card::Cache.reset_all # should not be necessary but breaking without...
20
+ end
21
+ end
22
+ end
@@ -1,7 +1,7 @@
1
1
  def run_card_migration core_or_deck
2
2
  prepare_migration
3
3
  verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
4
- Cardio.migrate core_or_deck, version, verbose
4
+ Cardio::Schema.migrate core_or_deck, version, verbose
5
5
  end
6
6
 
7
7
  def prepare_migration
@@ -41,7 +41,7 @@ namespace :card do
41
41
  task structure: :environment do
42
42
  ENV["SCHEMA"] ||= "#{Cardio.gem_root}/db/schema.rb"
43
43
  without_dumping do
44
- Cardio.migrate :structure, version
44
+ Cardio::Schema.migrate :structure, version
45
45
  end
46
46
  end
47
47
 
@@ -62,7 +62,7 @@ namespace :card do
62
62
  def migrate_deck_structure
63
63
  require "cardio/migration/deck_structure"
64
64
  set_schema_path
65
- Cardio.migrate :deck, version
65
+ Cardio::Schema.migrate :deck, version
66
66
  Rake::Task["db:_dump"].invoke # write schema.rb
67
67
  reset_column_information true
68
68
  end
@@ -87,18 +87,18 @@ namespace :card do
87
87
 
88
88
  ActiveRecord::Migration.verbose = verbose
89
89
  ActiveRecord::SchemaMigration.where(version: version.to_s).delete_all
90
- Cardio.migrate :deck_cards, version
90
+ Cardio::Schema.migrate :deck_cards, version
91
91
  end
92
92
 
93
93
  # maybe we should move this to a method?
94
94
  desc "write the version to a file (not usually called directly)"
95
- task :stamp, :type do |_t, args|
95
+ task :stamp, [:type] => [:environment] do |_t, args|
96
96
  ENV["SCHEMA"] ||= "#{Cardio.gem_root}/db/schema.rb"
97
97
  Cardio.config.action_mailer.perform_deliveries = false
98
98
 
99
- stamp_file = Cardio.schema_stamp_path(args[:type])
99
+ stamp_file = Cardio::Schema.stamp_path args[:type]
100
100
 
101
- Cardio.schema_mode args[:type] do
101
+ Cardio::Schema.mode args[:type] do
102
102
  version = ActiveRecord::Migrator.current_version
103
103
  if version.to_i.positive? && (file = ::File.open(stamp_file, "w"))
104
104
  puts ">> writing version: #{version} to #{stamp_file}"
@@ -0,0 +1,30 @@
1
+ namespace :card do
2
+ namespace :mod do
3
+ desc "symlink from deck public/{modname} to mod's public directory"
4
+ task symlink: :environment do
5
+ FileUtils.rm_rf public_mod_dir
6
+ FileUtils.mkdir_p public_mod_dir
7
+ Cardio::Mod.dirs.each_public_path do |mod, target|
8
+ link = public_mod_dir mod
9
+ FileUtils.rm_rf link
10
+ FileUtils.ln_sf target, link
11
+ end
12
+ end
13
+
14
+ desc "install all mods"
15
+ task install: :environment do
16
+ Card::Machine.reset_script
17
+ Card::Cache.reset_all
18
+ puts "installing card mods".green
19
+ Cardio::Mod.dirs.mods.each do |mod|
20
+ mod.ensure_mod_installed
21
+ Card::Cache.reset_all
22
+ end
23
+ end
24
+
25
+ def public_mod_dir subdir=nil
26
+ parts = [Rails.public_path, "mod", subdir].compact
27
+ File.join(*parts)
28
+ end
29
+ end
30
+ end
data/lib/cardio.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
- require "active_support/core_ext/numeric/time"
4
- require "cardio/schema"
5
- require "cardio/utils"
3
+ require "active_support"
4
+ require "active_support/core_ext/module/delegation"
6
5
  require "cardio/delaying"
7
6
 
8
7
  ActiveSupport.on_load :after_card do
@@ -10,17 +9,14 @@ ActiveSupport.on_load :after_card do
10
9
  end
11
10
 
12
11
  module Cardio
13
- extend Schema
14
- extend Utils
15
12
  extend Delaying
16
- CARD_GEM_ROOT = File.expand_path("..", __dir__)
17
13
 
18
14
  class << self
19
15
  delegate :application, :root, to: :Rails
20
16
  delegate :config, :paths, to: :application
21
17
 
22
18
  def gem_root
23
- CARD_GEM_ROOT
19
+ @gem_root ||= File.expand_path "..", __dir__
24
20
  end
25
21
 
26
22
  def card_defined?
@@ -42,9 +38,8 @@ module Cardio
42
38
  @cache ||= ::Rails.cache
43
39
  end
44
40
 
45
- def future_stamp
46
- # # used in test data
47
- @future_stamp ||= Time.zone.local 2020, 1, 1, 0, 0, 0
41
+ def database
42
+ @database ||= config.database_configuration.dig Rails.env, "database"
48
43
  end
49
44
  end
50
45
  end
data/lib/cardio/all.rb CHANGED
@@ -11,6 +11,7 @@ require "cardio/mod"
11
11
  action_mailbox/engine
12
12
  rails/test_unit/railtie
13
13
  sprockets/railtie
14
+ cardio/railtie
14
15
  ].each do |railtie|
15
16
  require railtie
16
17
  end
@@ -2,140 +2,11 @@ require "cardio/all"
2
2
 
3
3
  Bundler.require :default, *Rails.groups
4
4
 
5
- # these two have railties and likely need to be loaded before application so they
6
- # don't override configuration later
5
+ # these two have railties and need to be loaded before application
7
6
  require "haml"
8
7
  require "kaminari"
9
8
 
10
9
  require "bootstrap4-kaminari-views"
11
10
 
12
- module Cardio
13
- # handles config and path defaults
14
- class Application < Rails::Application
15
- def self.card_environment_initializer
16
- initializer "card.load_environment_config",
17
- before: :load_environment_config, group: :all do
18
- paths["card/config/environments"].existent.each do |environment|
19
- require environment
20
- end
21
- end
22
- end
23
- card_environment_initializer
24
-
25
- def config
26
- @config ||= super.tap do |config|
27
- simple_configs config
28
- coded_configs config
29
- end
30
- end
31
-
32
- private
33
-
34
- def simple_configs config
35
- config_from_yaml.each_pair do |setting, value|
36
- config.send "#{setting}=", *value
37
- end
38
- end
39
-
40
- # TODO: many of these defaults should be in mods!
41
- def config_from_yaml
42
- YAML.load_file File.expand_path("defaults.yml", __dir__)
43
- end
44
-
45
- def coded_configs config
46
- config.autoloader = :zeitwerk
47
- config.i18n.enforce_available_locales = true
48
- config.read_only = !ENV["DECKO_READ_ONLY"].nil?
49
- config.load_strategy = (ENV["REPO_TMPSETS"] || ENV["TMPSETS"] ? :tmp_files : :eval)
50
- config.autoload_paths += Dir["#{Cardio.gem_root}/lib"]
51
- Paths.new(config).assign
52
- Cardio::Mod.each_path do |mod_path|
53
- config.autoload_paths += Dir["#{mod_path}/lib"]
54
- config.watchable_dirs["#{mod_path}/set"] = %i[rb haml]
55
- end
56
- end
57
-
58
- class Paths
59
- attr_reader :config, :paths
60
-
61
- def initialize config
62
- @config = config
63
- @paths = config.paths
64
- end
65
-
66
- def assign
67
- add_tmppaths
68
- add_path "mod" # add card gem's mod path
69
- paths["mod"] << "mod" # add deck's mod path
70
- paths.add "files"
71
-
72
- add_db_paths
73
- add_initializer_paths
74
- add_mod_initializer_paths
75
- add_gem_environment_path
76
-
77
- paths["app/models"] = []
78
- paths["app/mailers"] = []
79
- paths["app/controllers"] = []
80
- end
81
-
82
- def add_tmppaths
83
- %w[set set_pattern].each do |dir|
84
- opts = tmppath_opts dir
85
- add_path "tmp/#{dir}", opts if opts
86
- end
87
- end
88
-
89
- def tmppath_opts dir
90
- if ENV["REPO_TMPSETS"]
91
- { with: "tmpsets/#{dir}" }
92
- elsif ENV["TMPSETS"]
93
- { root: config.root }
94
- end
95
- end
96
-
97
- def add_db_paths
98
- add_path "db"
99
- add_path "db/migrate"
100
- add_path "db/migrate_core_cards"
101
- add_path "db/migrate_deck", root: config.root, with: "db/migrate"
102
- add_path "db/migrate_deck_cards", root: config.root, with: "db/migrate_cards"
103
- add_path "db/seeds.rb", with: "db/seeds.rb"
104
- end
105
-
106
- def add_initializer_paths
107
- add_path "config/initializers", glob: "**/*.rb"
108
- add_initializers config.root
109
- Cardio::Mod.each_path do |mod_path|
110
- add_initializers mod_path, false, "core_initializers"
111
- end
112
- end
113
-
114
- def add_mod_initializer_paths
115
- add_path "mod/config/initializers", glob: "**/*.rb"
116
- Cardio::Mod.each_path do |mod_path|
117
- add_initializers mod_path, true
118
- end
119
- end
120
-
121
- def add_initializers base_dir, mod=false, init_dir="initializers"
122
- Dir.glob("#{base_dir}/config/#{init_dir}").each do |initializers_dir|
123
- path_mark = mod ? "mod/config/initializers" : "config/initializers"
124
- paths[path_mark] << initializers_dir
125
- end
126
- end
127
-
128
- def add_gem_environment_path
129
- add_path "card/config/environments",
130
- glob: "#{Rails.env}.rb",
131
- with: "config/environments"
132
- end
133
-
134
- def add_path path, options={}
135
- root = options.delete(:root) || Cardio.gem_root
136
- options[:with] = File.join(root, (options[:with] || path))
137
- paths.add path, options
138
- end
139
- end
140
- end
141
- end
11
+ # The application class from which card applications inherit
12
+ Cardio::Application = Rails::Application