card 1.104.2 → 1.105.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (398) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -6
  3. data/VERSION +1 -1
  4. data/config/environments/development.rb +1 -1
  5. data/config/environments/test.rb +1 -0
  6. data/config/initializers/01_core_extensions/object.rb +10 -0
  7. data/config/initializers/01_core_extensions/string.rb +9 -0
  8. data/config/initializers/core_extensions.rb +1 -0
  9. data/db/migrate/{20160122153608_new_indeces.rb → 20160122153608_new_indices.rb} +2 -2
  10. data/db/migrate/{20200805200729_add_unique_pair_indeces.rb → 20200805200729_add_unique_pair_indices.rb} +1 -1
  11. data/db/migrate/20221031182227_remove_referee_key_requirement.rb +11 -0
  12. data/db/migrate_core_cards/20130920291703_update_stylesheets.rb +1 -9
  13. data/db/migrate_core_cards/20140307231621_user_data_to_cards.rb +1 -38
  14. data/db/migrate_core_cards/20161103154836_update_keys.rb +1 -1
  15. data/db/migrate_core_cards/20180905061537_migrate_layouts.rb +1 -1
  16. data/db/migrate_core_cards/20190125125150_add_script_rules_card.rb +1 -1
  17. data/db/migrate_core_cards/20190320091257_upgrade_recaptcha_to_v3.rb +1 -1
  18. data/db/migrate_core_cards/20190502130029_add_shark_and_help_desk_role.rb +2 -20
  19. data/db/migrate_core_cards/20190528131330_enabled_roles.rb +0 -3
  20. data/db/migrate_core_cards/20190625153616_pointer_overhaul.rb +0 -2
  21. data/db/migrate_core_cards/20190718140126_add_guides.rb +1 -1
  22. data/db/migrate_core_cards/20190822093633_move_help_text_to_code.rb +1 -1
  23. data/db/migrate_core_cards/20190829205148_remove_add_help.rb +1 -1
  24. data/db/migrate_core_cards/20190902193208_input_type.rb +1 -1
  25. data/db/migrate_core_cards/20190909104250_add_cardtype_input_types.rb +2 -2
  26. data/db/schema.rb +2 -2
  27. data/db/seeds.rb +14 -1
  28. data/db/version.txt +1 -1
  29. data/lib/card/auth/current.rb +4 -2
  30. data/lib/card/auth/permissions.rb +1 -1
  31. data/lib/card/auth/setup.rb +1 -1
  32. data/lib/card/auth/token.rb +1 -1
  33. data/lib/card/cache/persistent.rb +4 -1
  34. data/lib/card/codename.rb +2 -6
  35. data/lib/card/content/all.rb +2 -2
  36. data/lib/card/content/clean.rb +1 -1
  37. data/lib/card/content/parser.rb +0 -2
  38. data/lib/card/content.rb +1 -8
  39. data/lib/card/director/all.rb +67 -0
  40. data/lib/card/director/card_class.rb +161 -2
  41. data/lib/card/director/{act_direction.rb → class_methods.rb} +13 -3
  42. data/lib/card/director/phases.rb +7 -4
  43. data/lib/card/director/run.rb +51 -50
  44. data/lib/card/director/stages.rb +18 -16
  45. data/lib/card/director/store.rb +1 -1
  46. data/lib/card/director.rb +6 -7
  47. data/lib/card/env/location.rb +1 -1
  48. data/lib/card/env/serializable.rb +2 -0
  49. data/lib/card/env/serialization.rb +2 -3
  50. data/lib/card/env.rb +2 -2
  51. data/lib/card/error.rb +9 -5
  52. data/lib/card/fetch/card_class.rb +19 -13
  53. data/lib/card/format/error.rb +6 -12
  54. data/lib/card/format/nest.rb +1 -1
  55. data/lib/card/format/wrapper.rb +1 -1
  56. data/lib/card/format.rb +4 -0
  57. data/lib/card/model/save_helper/save_arguments.rb +0 -44
  58. data/lib/card/model/save_helper/save_helper_helper.rb +0 -37
  59. data/lib/card/model/save_helper.rb +0 -82
  60. data/lib/card/name/all.rb +1 -4
  61. data/lib/card/name/card_class.rb +0 -2
  62. data/lib/card/name/name_variants.rb +4 -0
  63. data/lib/card/name.rb +3 -8
  64. data/lib/card/query/abstract_query/query_helper.rb +3 -5
  65. data/lib/card/query/abstract_query/tie.rb +1 -1
  66. data/lib/card/query/abstract_query.rb +36 -17
  67. data/lib/card/query/card_class.rb +36 -0
  68. data/lib/card/query/card_query/custom.rb +12 -0
  69. data/lib/card/query/card_query/interpretation.rb +1 -0
  70. data/lib/card/query/card_query/normalization.rb +11 -3
  71. data/lib/card/query/card_query/reference_attributes.rb +3 -2
  72. data/lib/card/query/card_query/sorting.rb +5 -4
  73. data/lib/card/query/card_query.rb +1 -0
  74. data/lib/card/query/sql_statement/order.rb +12 -10
  75. data/lib/card/query/sql_statement/where.rb +2 -2
  76. data/lib/card/query.rb +13 -6
  77. data/lib/card/reference/all.rb +10 -10
  78. data/lib/card/set/abstract.rb +1 -0
  79. data/lib/card/set/advanced_api.rb +1 -1
  80. data/lib/card/set/event/all.rb +9 -1
  81. data/lib/card/set/event/delayed_event.rb +4 -2
  82. data/lib/card/set/event/options.rb +1 -1
  83. data/lib/card/set/event/skip_and_trigger.rb +34 -10
  84. data/lib/card/set/format/abstract_format/haml_views.rb +3 -3
  85. data/lib/card/set/format/abstract_format/wrapper.rb +0 -1
  86. data/lib/card/set/format/abstract_format.rb +5 -4
  87. data/lib/card/set/format/haml_paths.rb +5 -21
  88. data/lib/card/set/format.rb +46 -20
  89. data/lib/card/set/helpers.rb +49 -36
  90. data/lib/card/set/inheritance.rb +4 -4
  91. data/lib/card/set/pattern/all.rb +1 -1
  92. data/lib/card/set/pattern/base.rb +1 -1
  93. data/lib/card/set/pattern/class_methods.rb +4 -4
  94. data/lib/card/set/registrar.rb +3 -5
  95. data/lib/card/set/required_field.rb +3 -2
  96. data/lib/card/set/trait.rb +1 -1
  97. data/lib/card/set/type.rb +1 -41
  98. data/lib/card/set.rb +67 -21
  99. data/lib/card/setting.rb +0 -1
  100. data/lib/card/subcards/all.rb +6 -8
  101. data/lib/card/subcards/args.rb +9 -9
  102. data/lib/card/view/cache/cache_action.rb +1 -1
  103. data/lib/card/view/options/visibility.rb +4 -0
  104. data/lib/card/view/options.rb +1 -0
  105. data/lib/card/view/permission.rb +12 -4
  106. data/lib/card/view.rb +4 -0
  107. data/lib/card.rb +48 -39
  108. data/lib/cardio/cli.rb +3 -1
  109. data/lib/cardio/command/application.rb +5 -0
  110. data/lib/cardio/{commands/command.rb → command/command_base.rb} +2 -2
  111. data/lib/cardio/{commands → command}/custom.rb +17 -13
  112. data/lib/cardio/{commands → command}/rake_command/parser.rb +3 -3
  113. data/lib/cardio/{commands → command}/rake_command.rb +5 -5
  114. data/lib/cardio/{commands → command}/rspec_command/parser.rb +9 -6
  115. data/lib/cardio/{commands → command}/rspec_command.rb +7 -9
  116. data/lib/cardio/command.rb +129 -0
  117. data/lib/cardio/commands.rb +17 -116
  118. data/lib/cardio/generators/deck_generator_loader.rb +1 -0
  119. data/lib/cardio/generators.rb +2 -2
  120. data/lib/cardio/migration.rb +3 -53
  121. data/lib/cardio/mod/class_methods.rb +28 -24
  122. data/lib/cardio/mod/dirs.rb +30 -23
  123. data/lib/cardio/mod/eat/edibles.rb +43 -16
  124. data/lib/cardio/mod/eat.rb +20 -14
  125. data/lib/cardio/mod/load_strategy/set_tmp_files.rb +1 -1
  126. data/lib/cardio/mod/load_strategy.rb +12 -2
  127. data/lib/cardio/mod/modfile_api.rb +18 -18
  128. data/lib/cardio/mod/{poop.rb → sow.rb} +25 -33
  129. data/lib/cardio/mod.rb +46 -73
  130. data/lib/cardio/railtie.rb +21 -58
  131. data/lib/cardio/schema.rb +2 -1
  132. data/lib/cardio/script_loader.rb +3 -1
  133. data/lib/cardio/seed.rb +101 -8
  134. data/lib/cardio/utils.rb +39 -1
  135. data/lib/generators/deck/deck_generator.rb +5 -2
  136. data/lib/generators/deck/templates/config/puma.rb +1 -1
  137. data/lib/generators/deck/templates/script/decko_rspec +1 -1
  138. data/lib/generators/deck/templates/simplecov.rb.erb +10 -8
  139. data/lib/generators/mod/USAGE +1 -1
  140. data/lib/generators/mod/mod_generator.rb +5 -5
  141. data/lib/generators/set/USAGE +2 -2
  142. data/mod/core/{locales → config/locales}/de.yml +4 -0
  143. data/mod/core/{locales → config/locales}/en.yml +13 -0
  144. data/mod/core/data/fixtures/real/card_actions.yml +78 -0
  145. data/{db/seed/new → mod/core/data/fixtures/real}/card_acts.yml +2 -2
  146. data/mod/core/data/fixtures/real/card_references.yml +8 -0
  147. data/mod/core/data/fixtures/real/cards.yml +135 -0
  148. data/mod/core/data/real.yml +79 -0
  149. data/mod/core/data/test/cardtype.yml +38 -0
  150. data/mod/core/data/test/sample.yml +50 -0
  151. data/mod/core/data/test/user.yml +41 -0
  152. data/mod/core/data/test.yml +79 -28
  153. data/{lib → mod/core/lib}/tasks/card/migrate.rake +4 -0
  154. data/{lib → mod/core/lib}/tasks/card/mod.rake +9 -5
  155. data/mod/core/lib/tasks/card/seed.rake +60 -0
  156. data/mod/core/lib/tasks/card.rake +119 -0
  157. data/mod/core/set/all/admin.rb +14 -0
  158. data/mod/core/set/all/codename.rb +4 -0
  159. data/mod/core/set/all/content.rb +8 -4
  160. data/mod/core/set/all/{abort.rb → result.rb} +11 -15
  161. data/mod/core/set/all/states.rb +21 -1
  162. data/mod/core/set/all/trash.rb +25 -73
  163. data/mod/core/set/all/type.rb +2 -2
  164. data/mod/core/set/all/utils.rb +3 -87
  165. data/mod/core/set/right/autoname.rb +2 -0
  166. data/mod/core/set/self/admin/warning_alert.haml +3 -0
  167. data/mod/core/set/self/admin.rb +173 -0
  168. data/mod/core/set/type/cardtype.rb +2 -0
  169. data/mod/core/set_pattern/02_all_plus.rb +1 -1
  170. data/mod/core/set_pattern/05_rstar.rb +1 -1
  171. data/mod/core/set_pattern/06_rule.rb +1 -1
  172. data/mod/core/set_pattern/07_right.rb +1 -1
  173. data/mod/core/set_pattern/08_type_plus_right.rb +1 -1
  174. data/mod/core/spec/set/all/assign_attributes_spec.rb +3 -3
  175. data/mod/core/spec/set/all/autoname_spec.rb +25 -0
  176. data/mod/core/spec/set/all/codename_spec.rb +1 -1
  177. data/mod/core/spec/set/all/name_events_spec.rb +43 -66
  178. data/mod/core/spec/set/all/trash_spec.rb +149 -68
  179. data/mod/{admin → core}/spec/set/self/admin_spec.rb +25 -22
  180. data/mod/core/spec/set/self/trash_spec.rb +5 -0
  181. metadata +88 -253
  182. data/db/migrate_core_cards/20130411211600_delete_old_related_tab_cards.rb +0 -18
  183. data/db/migrate_core_cards/20130419215612_import_help_text.rb +0 -13
  184. data/db/migrate_core_cards/20130823192433_add_style_cards.rb +0 -100
  185. data/db/migrate_core_cards/20130910183318_move_styles_to_content.rb +0 -11
  186. data/db/migrate_core_cards/20130927191728_account_events.rb +0 -20
  187. data/db/migrate_core_cards/20131016172445_common_css_patch.rb +0 -9
  188. data/db/migrate_core_cards/20140110193325_reset_account_request_type.rb +0 -8
  189. data/db/migrate_core_cards/20140512155840_add_script_cards.rb +0 -86
  190. data/db/migrate_core_cards/20140629222005_add_email_cards.rb +0 -132
  191. data/db/migrate_core_cards/20140725180118_config_card_updates.rb +0 -9
  192. data/db/migrate_core_cards/20141111083921_delete_machine_output.rb +0 -7
  193. data/db/migrate_core_cards/20141115034214_config_descriptions_etc.rb +0 -14
  194. data/db/migrate_core_cards/20141119001955_make_symlinks_relative.rb +0 -15
  195. data/db/migrate_core_cards/20141120120605_fix_notification_html_message.rb +0 -10
  196. data/db/migrate_core_cards/20141216155251_add_more_following_cards.rb +0 -26
  197. data/db/migrate_core_cards/20141230204340_uri_codename.rb +0 -13
  198. data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +0 -76
  199. data/db/migrate_core_cards/20150317162412_bootstrap_themes.rb +0 -41
  200. data/db/migrate_core_cards/20150326205655_bootswatch_themes.rb +0 -36
  201. data/db/migrate_core_cards/20150331135745_new_card_menu.rb +0 -8
  202. data/db/migrate_core_cards/20150501010515_responsive_sidebar.rb +0 -11
  203. data/db/migrate_core_cards/20150508212032_menu_compatibility.rb +0 -24
  204. data/db/migrate_core_cards/20150528084659_add_session_cardtype.rb +0 -18
  205. data/db/migrate_core_cards/20150601133433_add_recent_setting_session_card.rb +0 -18
  206. data/db/migrate_core_cards/20150610171702_add_debugger_session_card.rb +0 -12
  207. data/db/migrate_core_cards/20150610180019_add_recaptcha_key_and_admin_info_cards.rb +0 -58
  208. data/db/migrate_core_cards/20150627205133_fix_script_bootstrap_card_type.rb +0 -7
  209. data/db/migrate_core_cards/20150702130543_remove_edit_toolbar_pinned.rb +0 -9
  210. data/db/migrate_core_cards/20150708224756_add_list_cards.rb +0 -29
  211. data/db/migrate_core_cards/20150903130006_attachment_upload_cards.rb +0 -15
  212. data/db/migrate_core_cards/20150910085603_remove_performance_log_card.rb +0 -10
  213. data/db/migrate_core_cards/20151120180631_add_token_expiration.rb +0 -7
  214. data/db/migrate_core_cards/20160801143221_change_bootstrap_card_type_to_scss.rb +0 -10
  215. data/db/migrate_core_cards/20160804112510_reorganize_scripts.rb +0 -27
  216. data/db/migrate_core_cards/20160908154210_add_trash_card.rb +0 -7
  217. data/db/migrate_core_cards/20161102202156_tweak_recaptcha_setting_cards.rb +0 -17
  218. data/db/migrate_core_cards/20170209132834_email_test_context.rb +0 -49
  219. data/db/migrate_core_cards/20170314175313_add_notification_event_card.rb +0 -20
  220. data/db/migrate_core_cards/20170515101262_add_advanced_edit_cards.rb +0 -20
  221. data/db/migrate_core_cards/20170608083819_add_full_width_layout_card.rb +0 -23
  222. data/db/migrate_core_cards/20170608200649_add_input_options_codename.rb +0 -8
  223. data/db/migrate_core_cards/20180423120222_add_mod_styles_card.rb +0 -20
  224. data/db/migrate_core_cards/20180508210903_add_json_type.rb +0 -10
  225. data/db/migrate_core_cards/20180515175726_add_codenames.rb +0 -8
  226. data/db/migrate_core_cards/20180712042655_head_rule.rb +0 -13
  227. data/db/migrate_core_cards/20181120200937_update_layout.rb +0 -7
  228. data/db/migrate_core_cards/20190204195039_add_rule_card.rb +0 -10
  229. data/db/migrate_core_cards/20190321085735_wagn_to_decko_logo.rb +0 -11
  230. data/db/migrate_core_cards/20190417142612_reorganize_scripts_2.rb +0 -17
  231. data/db/migrate_core_cards/20190424100531_update_credit_image.rb +0 -76
  232. data/db/migrate_core_cards/20190424101004_add_read_anyone_rules.rb +0 -13
  233. data/db/migrate_core_cards/20190503122739_update_pristine_data.rb +0 -18
  234. data/db/migrate_core_cards/20190605133556_tweak_config_cards.rb +0 -10
  235. data/db/migrate_core_cards/20190618110446_add_dropdown_divider.rb +0 -8
  236. data/db/migrate_core_cards/20190621143156_add_role_assign_permissions.rb +0 -9
  237. data/db/migrate_core_cards/20190710090209_homepage_tweaks.rb +0 -13
  238. data/db/migrate_core_cards/20190820155833_update_cardtype_type_structure.rb +0 -7
  239. data/db/migrate_core_cards/20190823220018_cleanup_for_decko_1_0.rb +0 -19
  240. data/db/migrate_core_cards/20190826132738_add_more_guides.rb +0 -7
  241. data/db/migrate_core_cards/20190829093961_cardtype_grouping.rb +0 -16
  242. data/db/migrate_core_cards/20190830131820_setting_settings_aside.rb +0 -17
  243. data/db/migrate_core_cards/20190902161223_add_style_media.rb +0 -7
  244. data/db/migrate_core_cards/20190918200115_ensure_description_card.rb +0 -13
  245. data/db/migrate_core_cards/20191008201046_fixture_fix.rb +0 -11
  246. data/db/migrate_core_cards/20191028135243_add_link_editor_to_tiny_mce_config.rb +0 -9
  247. data/db/migrate_core_cards/20191118145629_codename_fixes.rb +0 -5
  248. data/db/migrate_core_cards/20200821231558_add_nest_list_type.rb +0 -9
  249. data/db/migrate_core_cards/data/1.11_help_text.json +0 -410
  250. data/db/migrate_core_cards/data/1.12_stylesheets/classic_cards.scss +0 -104
  251. data/db/migrate_core_cards/data/1.12_stylesheets/common.scss +0 -228
  252. data/db/migrate_core_cards/data/1.12_stylesheets/right_sidebar.scss +0 -27
  253. data/db/migrate_core_cards/data/1.12_stylesheets/traditional.scss +0 -143
  254. data/db/migrate_core_cards/data/1.13_config_text.json +0 -32
  255. data/db/migrate_core_cards/data/1.14_config_descriptions_etc.json +0 -77
  256. data/db/migrate_core_cards/data/bootstrap_layout.json +0 -96
  257. data/db/migrate_core_cards/data/cards/Xaccount +0 -22
  258. data/db/migrate_core_cards/data/cards/Xaccount_setting-Xright-Xstructure +0 -12
  259. data/db/migrate_core_cards/data/cards/Xall-Xlayout +0 -1
  260. data/db/migrate_core_cards/data/cards/Xcredit +0 -2
  261. data/db/migrate_core_cards/data/cards/Xfooter +0 -3
  262. data/db/migrate_core_cards/data/cards/Xgetting_started +0 -31
  263. data/db/migrate_core_cards/data/cards/Xgetting_started-shark +0 -66
  264. data/db/migrate_core_cards/data/cards/Xgetting_started_link +0 -6
  265. data/db/migrate_core_cards/data/cards/Xheader +0 -19
  266. data/db/migrate_core_cards/data/cards/Xhome +0 -1
  267. data/db/migrate_core_cards/data/cards/Xlogo +0 -1
  268. data/db/migrate_core_cards/data/cards/Xmain_menu +0 -2
  269. data/db/migrate_core_cards/data/cards/Xrecaptcha_setting-Xself-Xstructure +0 -1
  270. data/db/migrate_core_cards/data/cards/Xsidebar +0 -7
  271. data/db/migrate_core_cards/data/cards/Xstructure-Xright-Xguide +0 -12
  272. data/db/migrate_core_cards/data/cards/Xtitle +0 -1
  273. data/db/migrate_core_cards/data/cards/administrator-dashboard +0 -23
  274. data/db/migrate_core_cards/data/cards/administrator-description +0 -1
  275. data/db/migrate_core_cards/data/cards/anyone_signed_in-dashboard +0 -0
  276. data/db/migrate_core_cards/data/cards/cardtype-Xtype-Xguide +0 -24
  277. data/db/migrate_core_cards/data/cards/cardtype-Xtype-Xstructure +0 -3
  278. data/db/migrate_core_cards/data/cards/default_layout +0 -6
  279. data/db/migrate_core_cards/data/cards/full_width_layout +0 -5
  280. data/db/migrate_core_cards/data/cards/help_desk-dashboard +0 -7
  281. data/db/migrate_core_cards/data/cards/help_desk-description +0 -1
  282. data/db/migrate_core_cards/data/cards/home +0 -2
  283. data/db/migrate_core_cards/data/cards/home-Xself-Xlayout +0 -1
  284. data/db/migrate_core_cards/data/cards/home-original +0 -22
  285. data/db/migrate_core_cards/data/cards/home_layout +0 -6
  286. data/db/migrate_core_cards/data/cards/left_sidebar_layout +0 -6
  287. data/db/migrate_core_cards/data/cards/menu +0 -1
  288. data/db/migrate_core_cards/data/cards/right_thin_sidebar_layout +0 -8
  289. data/db/migrate_core_cards/data/cards/role-Xtype-Xstructure +0 -2
  290. data/db/migrate_core_cards/data/cards/shark-dashboard +0 -19
  291. data/db/migrate_core_cards/data/cards/shark-description +0 -1
  292. data/db/migrate_core_cards/data/cards/shark_menu +0 -2
  293. data/db/migrate_core_cards/data/cards.yml +0 -138
  294. data/db/migrate_core_cards/data/decko_logo.svg +0 -1
  295. data/db/migrate_core_cards/data/mailer/follower_notification_email.html +0 -9
  296. data/db/migrate_core_cards/data/mailer/follower_notification_email.txt +0 -11
  297. data/db/migrate_core_cards/data/mailer/mail_config.json +0 -22
  298. data/db/migrate_core_cards/data/mailer/password_reset_email.html +0 -13
  299. data/db/migrate_core_cards/data/mailer/password_reset_email.txt +0 -11
  300. data/db/migrate_core_cards/data/mailer/signup_alert_email.html +0 -7
  301. data/db/migrate_core_cards/data/mailer/signup_alert_email.txt +0 -5
  302. data/db/migrate_core_cards/data/mailer/verification_email.html +0 -12
  303. data/db/migrate_core_cards/data/mailer/verification_email.txt +0 -9
  304. data/db/migrate_core_cards/data/skin_images.json +0 -91
  305. data/db/migrate_core_cards/data/themes/bootstrap_default/_bootswatch.scss +0 -0
  306. data/db/migrate_core_cards/data/themes/bootstrap_default/_variables.scss +0 -867
  307. data/db/migrate_core_cards/data/themes/cerulean/_bootswatch.scss +0 -125
  308. data/db/migrate_core_cards/data/themes/cerulean/_variables.scss +0 -861
  309. data/db/migrate_core_cards/data/themes/cosmo/_bootswatch.scss +0 -237
  310. data/db/migrate_core_cards/data/themes/cosmo/_variables.scss +0 -861
  311. data/db/migrate_core_cards/data/themes/cyborg/_bootswatch.scss +0 -210
  312. data/db/migrate_core_cards/data/themes/cyborg/_variables.scss +0 -861
  313. data/db/migrate_core_cards/data/themes/darkly/_bootswatch.scss +0 -330
  314. data/db/migrate_core_cards/data/themes/darkly/_variables.scss +0 -861
  315. data/db/migrate_core_cards/data/themes/flatly/_bootswatch.scss +0 -313
  316. data/db/migrate_core_cards/data/themes/flatly/_variables.scss +0 -861
  317. data/db/migrate_core_cards/data/themes/journal/_bootswatch.scss +0 -120
  318. data/db/migrate_core_cards/data/themes/journal/_variables.scss +0 -861
  319. data/db/migrate_core_cards/data/themes/lumen/_bootswatch.scss +0 -496
  320. data/db/migrate_core_cards/data/themes/lumen/_variables.scss +0 -861
  321. data/db/migrate_core_cards/data/themes/paper/_bootswatch.scss +0 -607
  322. data/db/migrate_core_cards/data/themes/paper/_variables.scss +0 -861
  323. data/db/migrate_core_cards/data/themes/readable/_bootswatch.scss +0 -174
  324. data/db/migrate_core_cards/data/themes/readable/_variables.scss +0 -861
  325. data/db/migrate_core_cards/data/themes/sandstone/_bootswatch.scss +0 -194
  326. data/db/migrate_core_cards/data/themes/sandstone/_variables.scss +0 -861
  327. data/db/migrate_core_cards/data/themes/simplex/_bootswatch.scss +0 -142
  328. data/db/migrate_core_cards/data/themes/simplex/_variables.scss +0 -861
  329. data/db/migrate_core_cards/data/themes/slate/_bootswatch.scss +0 -417
  330. data/db/migrate_core_cards/data/themes/slate/_variables.scss +0 -861
  331. data/db/migrate_core_cards/data/themes/spacelab/_bootswatch.scss +0 -137
  332. data/db/migrate_core_cards/data/themes/spacelab/_variables.scss +0 -861
  333. data/db/migrate_core_cards/data/themes/superhero/_bootswatch.scss +0 -332
  334. data/db/migrate_core_cards/data/themes/superhero/_variables.scss +0 -861
  335. data/db/migrate_core_cards/data/themes/united/_bootswatch.scss +0 -42
  336. data/db/migrate_core_cards/data/themes/united/_variables.scss +0 -861
  337. data/db/migrate_core_cards/data/themes/yeti/_bootswatch.scss +0 -437
  338. data/db/migrate_core_cards/data/themes/yeti/_variables.scss +0 -861
  339. data/db/seed/README.md +0 -2
  340. data/db/seed/new/card_actions.yml +0 -5913
  341. data/db/seed/new/card_references.yml +0 -6532
  342. data/db/seed/new/cards.yml +0 -14595
  343. data/db/seed/test/fixtures/card_actions.yml +0 -8153
  344. data/db/seed/test/fixtures/card_acts.yml +0 -1039
  345. data/db/seed/test/fixtures/card_changes.yml +0 -230
  346. data/db/seed/test/fixtures/card_references.yml +0 -8471
  347. data/db/seed/test/fixtures/cards.yml +0 -20171
  348. data/db/seed/test/fixtures/file1.txt +0 -1
  349. data/db/seed/test/fixtures/file2.txt +0 -1
  350. data/db/seed/test/fixtures/mao2.jpg +0 -0
  351. data/db/seed/test/fixtures/rails.gif +0 -0
  352. data/db/seed/test/fixtures/schema_migrations.yml +0 -67
  353. data/db/seed/test/fixtures/schema_migrations_core_cards.yml +0 -347
  354. data/db/seed/test/fixtures/schema_migrations_deck.yml +0 -1
  355. data/db/seed/test/fixtures/schema_migrations_deck_cards.yml +0 -5
  356. data/db/test_seed.rb +0 -322
  357. data/lib/card/content/truncate.rb +0 -67
  358. data/lib/card/director/card_methods.rb +0 -45
  359. data/lib/card/file_card_creator/abstract_file_card/migration_file.rb +0 -50
  360. data/lib/card/file_card_creator/abstract_file_card/ruby_file.rb +0 -30
  361. data/lib/card/file_card_creator/abstract_file_card/source_file.rb +0 -36
  362. data/lib/card/file_card_creator/abstract_file_card.rb +0 -44
  363. data/lib/card/file_card_creator/haml_card.rb +0 -42
  364. data/lib/card/file_card_creator/output_helper.rb +0 -53
  365. data/lib/card/file_card_creator/script_card.rb +0 -35
  366. data/lib/card/file_card_creator/style_card.rb +0 -25
  367. data/lib/card/file_card_creator.rb +0 -25
  368. data/lib/card/name/fields_and_traits.rb +0 -42
  369. data/lib/cardio/commands/application.rb +0 -10
  370. data/lib/cardio/migration/import/import_data/card_attributes.rb +0 -64
  371. data/lib/cardio/migration/import/import_data/card_content.rb +0 -30
  372. data/lib/cardio/migration/import/import_data.rb +0 -119
  373. data/lib/cardio/migration/import/merger.rb +0 -46
  374. data/lib/cardio/migration/import.rb +0 -125
  375. data/lib/tasks/card/create.rake +0 -81
  376. data/lib/tasks/card.rake +0 -65
  377. data/mod/admin/locales/de.yml +0 -4
  378. data/mod/admin/locales/en.yml +0 -4
  379. data/mod/admin/set/all/admin.rb +0 -16
  380. data/mod/admin/set/self/admin.rb +0 -144
  381. data/mod/admin/set/self/admin_info.rb +0 -40
  382. data/mod/admin/set/self/debugger.rb +0 -3
  383. data/mod/admin/spec/set/self/admin_info_spec.rb +0 -9
  384. data/mod/core/data/production.yml +0 -7
  385. data/mod/core/set/all/collection.rb +0 -53
  386. data/mod/core/spec/set/all/collection_spec.rb +0 -170
  387. data/mod/core/spec/set/all/utils_spec.rb +0 -5
  388. data/mod/standard/data/files/favicon/image-icon.png +0 -0
  389. data/mod/standard/data/files/favicon/image-large.png +0 -0
  390. data/mod/standard/data/files/favicon/image-medium.png +0 -0
  391. data/mod/standard/data/files/favicon/image-original.png +0 -0
  392. data/mod/standard/data/files/favicon/image-small.png +0 -0
  393. data/mod/standard/data/files/logo/image-original.svg +0 -1
  394. /data/{db/seed/new → mod/core/data/fixtures/real}/card_changes.yml +0 -0
  395. /data/{db/seed/new → mod/core/data/fixtures/real}/schema_migrations.yml +0 -0
  396. /data/{db/seed/new → mod/core/data/fixtures/real}/schema_migrations_core_cards.yml +0 -0
  397. /data/{db/seed/new → mod/core/data/fixtures/real}/schema_migrations_deck.yml +0 -0
  398. /data/{db/seed/new → mod/core/data/fixtures/real}/schema_migrations_deck_cards.yml +0 -0
@@ -1,58 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddRecaptchaKeyAndAdminInfoCards < Cardio::Migration::Core
4
- def up
5
- create_recaptcha_settings
6
- Card::Cache.reset_all
7
- create_admin_cards
8
- update_machine_output
9
- end
10
-
11
- def create_admin_cards
12
- admin_only name: "*admin info",
13
- codename: "admin_info"
14
- admin_only name: "*google_analytics_key",
15
- codename: "google_analytics_key"
16
-
17
- codenames = %w[debugger recaptcha_settings]
18
- content =
19
- codenames.map do |cn|
20
- "[[#{Card[cn.to_sym].name}]]"
21
- end.join "\n"
22
- admin_only name: "*admin settings",
23
- codename: "admin_settings",
24
- type_id: Card::PointerID,
25
- content: content
26
- add_admin_info_to_home_card
27
- end
28
-
29
- def add_admin_info_to_home_card
30
- return unless (home = Card[Card[:home].db_content])
31
-
32
- new_content = home.db_content.prepend "{{*admin info|content}}\n"
33
- home.update! content: new_content
34
- end
35
-
36
- def create_recaptcha_settings
37
- admin_only name: "*recaptcha settings",
38
- codename: :recaptcha_settings, type_id: Card::PointerID,
39
- content: "[[+public key]]\n" \
40
- "[[+private key]]\n" \
41
- "[[+proxy]]"
42
- Card::Cache.reset_all
43
- %w[public_key private_key proxy].each do |name|
44
- Card.create!(
45
- name: "#{Card[:recaptcha_settings].name}+#{name.tr('_', ' ')}",
46
- codename: "recaptcha_#{name}"
47
- )
48
- end
49
- end
50
-
51
- def admin_only args
52
- create_or_update! args.reverse_merge(type_id: Card::PhraseID)
53
- %w[*read *update *delete].each do |perm|
54
- create_or_update! name: "#{args[:name]}+*self+#{perm}",
55
- content: "[[Administrator]]"
56
- end
57
- end
58
- end
@@ -1,7 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class FixScriptBootstrapCardType < Cardio::Migration::Core
4
- def up
5
- Card[:bootstrap_js].update! type_id: Card::JavaScriptID
6
- end
7
- end
@@ -1,9 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class RemoveEditToolbarPinned < Cardio::Migration::Core
4
- def up
5
- card = Card[:edit_toolbar_pinned]
6
- card.update! codename: nil
7
- card.delete
8
- end
9
- end
@@ -1,29 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddListCards < Cardio::Migration::Core
4
- def up
5
- create_card! name: "List", codename: :list,
6
- type_code: :cardtype
7
-
8
- create_card! name: "Listed by", codename: :listed_by,
9
- type_code: :cardtype
10
-
11
- create_or_update name: "*cached count",
12
- codename: :cached_count,
13
- rename_if_conflict: false,
14
- subcards: {
15
- "+*right+*update" => "[[Administrator]]",
16
- "+*right+*create" => "[[Administrator]]",
17
- "+*right+*delete" => "[[Administrator]]"
18
- }
19
-
20
- create_or_update name: "*cached content",
21
- codename: :cached_content,
22
- rename_if_conflict: false,
23
- subcards: {
24
- "+*right+*update" => "[[Administrator]]",
25
- "+*right+*create" => "[[Administrator]]",
26
- "+*right+*delete" => "[[Administrator]]"
27
- }
28
- end
29
- end
@@ -1,15 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AttachmentUploadCards < Cardio::Migration::Core
4
- def up
5
- Card.create! name: "*new file", type: "File",
6
- codename: "new_file", empty_ok: true
7
- Card.create! name: "*new image", type: "Image",
8
- codename: "new_image", empty_ok: true
9
-
10
- if (js_output = Card["*all+*script+*machine output"])
11
- # perhaps too narrow?
12
- js_output.delete!
13
- end
14
- end
15
- end
@@ -1,10 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class RemovePerformanceLogCard < Cardio::Migration::Core
4
- def up
5
- if card = Card[:performance_log]
6
- card.update! codename: nil
7
- card.delete
8
- end
9
- end
10
- end
@@ -1,7 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddTokenExpiration < Cardio::Migration
4
- def up
5
- create_card! name: "*expiration", codename: "expiration"
6
- end
7
- end
@@ -1,10 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class ChangeBootstrapCardTypeToScss < Cardio::Migration::Core
4
- def up
5
- create_or_update! name: "*machine cache", codename: "machine_cache"
6
- if (card = Card[:bootstrap_cards])
7
- card.update! type_id: Card::ScssID
8
- end
9
- end
10
- end
@@ -1,27 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class ReorganizeScripts < Cardio::Migration::Core
4
- def up
5
- create_or_update! name: "*machine cache", codename: "machine_cache"
6
- ensure_card name: "script: mods", type_id: Card::PointerID,
7
- codename: "script_mods"
8
- ensure_card name: "script: editors", type_id: Card::PointerID,
9
- codename: "script_editors"
10
-
11
- update_script_rules
12
- end
13
-
14
- def update_script_rules
15
- Card.search(type_id: Card::PointerID,
16
- right: { codename: "script" },
17
- link_to: "script: slot").each do |script_rule|
18
- %i[script_tinymce script_ace bootstrap_js].each do |codename|
19
- name = Card[codename].name
20
- script_rule.drop_item name
21
- end
22
- script_rule.add_item "script: editors"
23
- script_rule.add_item "script: mods"
24
- script_rule.save!
25
- end
26
- end
27
- end
@@ -1,7 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddTrashCard < Cardio::Migration::Core
4
- def up
5
- create_or_update! name: "*trash", codename: "trash"
6
- end
7
- end
@@ -1,17 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class TweakRecaptchaSettingCards < Cardio::Migration::Core
4
- def up
5
- ensure_card name: "*recaptcha settings", type_id: Card::BasicID
6
- ensure_card name: "*recaptcha settings+*self+*structure",
7
- content: <<~STRING
8
- {{+public key}}
9
- {{+private key}}
10
- {{+proxy}}
11
- STRING
12
- %w[public_key private_key proxy].each do |name|
13
- ensure_card name: "#{Card[:recaptcha_settings].name}+#{name.tr('_', ' ')}",
14
- type_id: Card::PhraseID
15
- end
16
- end
17
- end
@@ -1,49 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class EmailTestContext < Cardio::Migration::Core
4
- def up
5
- ensure_card "*test context",
6
- codename: :test_context
7
- ensure_card "*changed card",
8
- codename: :changed_card
9
- ensure_card "*test context+*right+*default",
10
- type_id: Card::PointerID
11
- Card::Cache.reset_all
12
-
13
- { verification_email: "Wagn Bot+*account",
14
- password_reset_email: "Wagn Bot+*account",
15
- signup_alert_email: "User",
16
- follower_notification_email: "*changed card",
17
- "welcome email" => "User" }.each do |template, content|
18
- add_test_context template, content
19
- end
20
-
21
- update_follower_notification_template
22
- end
23
-
24
- def update_follower_notification_template
25
- dir = File.join data_path, "mailer"
26
- name = "follower notification email"
27
- codename = "follower_notification_email"
28
- update_if_unchanged "#{name}+*html message",
29
- File.read(File.join(dir, "#{codename}.html"))
30
- update_if_unchanged "#{name}+*text message",
31
- File.read(File.join(dir, "#{codename}.txt"))
32
- update_if_unchanged "#{name}+*subject",
33
- "{{_user|name}} {{_|last_action_verb}} \"{{_|name}}\""
34
- end
35
-
36
- def update_if_unchanged name, content
37
- return if (card = Card[name]) && card.updater.codename != :wagn_bot
38
-
39
- ensure_card name, content: content
40
- end
41
-
42
- def add_test_context email_template, content
43
- return unless Card[email_template]
44
-
45
- ensure_card [email_template, :test_context],
46
- content: content,
47
- type_id: Card::PointerID
48
- end
49
- end
@@ -1,20 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddNotificationEventCard < Cardio::Migration::Core
4
- def up
5
- ensure_card "Notification template", codename: "notification_template",
6
- type_id: Card::CardtypeID
7
- ensure_trait "*message", "message", default: { type_id: Card::PhraseID }
8
- ensure_trait "*disappear", "disappear", default: { type_id: Card::ToggleID }
9
- ensure_trait "*contextual class", "contextual_class",
10
- default: { type_id: Card::PointerID },
11
- input: "radio",
12
- options: { type_id: Card::PointerID,
13
- content: %w[success info warning danger] }
14
-
15
- %i[create update delete].each do |action|
16
- update ["on_#{action}".to_sym, :right, :help],
17
- content: "Configure events to be executed when card id #{action}d"
18
- end
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddAdvancedEditCards < Cardio::Migration::Core
4
- def up
5
- ensure_card "*activity toolbar button", codename: "activity_toolbar_button"
6
- ensure_card "*rules toolbar button", codename: "rules_toolbar_button"
7
- ensure_card "Anyone With Role",
8
- codename: "anyone_with_role",
9
- type_id: Card::RoleID
10
-
11
- Card::Cache.reset_all
12
- ensure_card %i[roles right options],
13
- type_id: Card::SearchTypeID,
14
- content: %({"type":"role", "not":{"codename":["in","anyone","anyone_signed_in, anyone_with_role"]}})
15
-
16
- ensure_card "*csv structure",
17
- type_id: Card::SettingID,
18
- codename: "csv_structure"
19
- end
20
- end
@@ -1,23 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddFullWidthLayoutCard < Cardio::Migration::Core
4
- LAYOUT =
5
- <<-HTML.strip_heredoc
6
- <!DOCTYPE HTML>
7
- <html>
8
- <head>
9
- {{*head|core}}
10
- </head>
11
- <body class="left-sidebar thin-sidebar fluid">
12
- <header>{{*header|core}}</header>
13
- <article>{{_main|open}}</article>
14
- <aside>{{*sidebar|content}}</aside>
15
- <footer>{{*footer|core}}</footer>
16
- </body>
17
- </html>
18
- HTML
19
-
20
- def up
21
- ensure_card "Full Width Layout", type_id: Card::LayoutTypeID, content: LAYOUT
22
- end
23
- end
@@ -1,8 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddInputOptionsCodename < Cardio::Migration::Core
4
- def up
5
- ensure_card %i[input right options],
6
- codename: "input_options"
7
- end
8
- end
@@ -1,20 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddModStylesCard < Cardio::Migration::Core
4
- def up
5
- ensure_card "style: mods", codename: "style_mods",
6
- type_id: Card::PointerID
7
- ensure_card "style: libraries", codename: "style_libraries",
8
- type_id: Card::PointerID
9
- ensure_card "script: libraries",
10
- codename: "script_libraries",
11
- type_id: Card::PointerID
12
- if (card = Card.fetch(:all, :script))
13
- card.insert_item 4, "script: libraries"
14
- card.drop_item "script: select2"
15
- card.drop_item "script: load select2"
16
- card.save!
17
- end
18
- Card::Cache.reset_all
19
- end
20
- end
@@ -1,10 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddJsonType < Cardio::Migration::Core
4
- def up
5
- ensure_card "json", codename: "json", type_id: Card::CardtypeID
6
- update_card! :ace, type_id: Card::JsonID
7
- update_card! :prose_mirror, type_id: Card::JsonID
8
- update_card! :tiny_mce, type_id: Card::JsonID
9
- end
10
- end
@@ -1,8 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddCodenames < Cardio::Migration::Core
4
- def up
5
- ensure_card "follow suggestions", codename: "follow_suggestions", type: "Pointer"
6
- ensure_card "welcome email", codename: "welcome_email", type: "Email Template"
7
- end
8
- end
@@ -1,13 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class HeadRule < Cardio::Migration::Core
4
- def up
5
- update_card! :head, type_id: Card::SettingID
6
- ensure_card %i[all head],
7
- type_id: Card::HtmlID,
8
- content: "{{*head|core}}"
9
- ensure_card %i[head right help],
10
- content: "head tag content"
11
- ensure_card %i[head right default], type_id: Card::HtmlID
12
- end
13
- end
@@ -1,7 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class UpdateLayout < Cardio::Migration::Core
4
- def up
5
- merge_cards ["*header", "*main_menu"]
6
- end
7
- end
@@ -1,10 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddRuleCard < Cardio::Migration::Core
4
- def up
5
- ensure_card "*rule", codename: "rule", type_id: Card::SetID
6
-
7
- # the following re-registers set patterns, now including the rule pattern
8
- Cardio::Mod::Loader.reload_sets
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class WagnToDeckoLogo < Cardio::Migration::Core
4
- def up
5
- logo = Card[:logo]
6
- return unless logo&.pristine?
7
-
8
- logo.update_column :db_content, ":logo/standard.svg"
9
- Card::Cache.reset_all
10
- end
11
- end
@@ -1,17 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class ReorganizeScripts2 < Cardio::Migration::Core
4
- def up
5
- delete_code_card :script_card_menu
6
- if Card::Codename[:script_slot]
7
- update_card! :script_slot, name: "script: decko", codename: "script_decko"
8
- end
9
- if (card = Card[:all, :script])
10
- card.drop_item "script: card menu"
11
- card.drop_item "script: select2"
12
- card.drop_item "script: load select2"
13
- card.save!
14
- end
15
- Card::Machine.reset_all
16
- end
17
- end
@@ -1,76 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class UpdateCreditImage < Cardio::Migration::Core
4
- def svg attr=""
5
- <<-SVG.strip_heredoc
6
- <svg style="#{attr}" viewBox="0 0 242 220" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
7
- <!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
8
- <title>b&amp;w_logo</title>
9
- <desc>Created with Sketch.</desc>
10
- <defs>
11
- <rect id="path-1" x="35.3297422" y="10.484836" width="157.279595" height="190.607432" rx="12.491335"></rect>
12
- <filter x="-12.1%" y="-10.5%" width="125.4%" height="121.0%" filterUnits="objectBoundingBox" id="filter-2">
13
- <feMorphology radius="1" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology>
14
- <feOffset dx="1" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"></feOffset>
15
- <feGaussianBlur stdDeviation="5.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
16
- <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
17
- </filter>
18
- <rect id="path-3" x="51.9878879" y="19.404077" width="123.9533" height="171.161486" rx="9.6888466"></rect>
19
- <filter x="-15.3%" y="-11.7%" width="132.3%" height="123.4%" filterUnits="objectBoundingBox" id="filter-4">
20
- <feMorphology radius="1" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology>
21
- <feOffset dx="1" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"></feOffset>
22
- <feGaussianBlur stdDeviation="5.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
23
- <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
24
- </filter>
25
- <path d="M70.1050368,35.6666109 L159.089911,35.6666109 L159.089911,35.6666109 C163.678051,35.6666109 167.397473,39.386033 167.397473,43.9741728 L167.397473,87.717145 L167.397473,166.808436 L167.397473,166.808436 C167.397473,171.396576 163.678051,175.115998 159.089911,175.115998 L70.1050368,175.115998 L70.1050368,175.115998 C65.516897,175.115998 61.7974749,171.396576 61.7974749,166.808436 L61.7974749,43.9741728 L61.7974749,43.9741728 C61.7974749,39.386033 65.516897,35.6666109 70.1050368,35.6666109 Z" id="path-5"></path>
26
- <filter x="-18.0%" y="-14.3%" width="137.9%" height="128.7%" filterUnits="objectBoundingBox" id="filter-6">
27
- <feMorphology radius="1" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology>
28
- <feOffset dx="1" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"></feOffset>
29
- <feGaussianBlur stdDeviation="5.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
30
- <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
31
- </filter>
32
- <rect id="path-7" x="70.7637805" y="49.8525134" width="92.149175" height="107.18743" rx="7.8659801"></rect>
33
- <filter x="-20.6%" y="-18.7%" width="143.4%" height="137.3%" filterUnits="objectBoundingBox" id="filter-8">
34
- <feMorphology radius="1" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"></feMorphology>
35
- <feOffset dx="1" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"></feOffset>
36
- <feGaussianBlur stdDeviation="5.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
37
- <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.102553216 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
38
- </filter>
39
- </defs>
40
- <g id="Page-3" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
41
- <g id="b&amp;w_logo" fill-rule="nonzero">
42
- <g id="Decko-Logo-" transform="translate(7.000000, 4.000000)">
43
- <g id="g5642">
44
- <g id="svg-card-1" transform="translate(113.969540, 105.788552) scale(-1, 1) rotate(105.855860) translate(-113.969540, -105.788552) ">
45
- <use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
46
- <use fill="#4D4D4D" fill-rule="evenodd" xlink:href="#path-1"></use>
47
- </g>
48
- <g id="svg-card-2" opacity="0.879999995" transform="translate(113.964538, 104.984820) scale(-1, 1) rotate(117.480003) translate(-113.964538, -104.984820) ">
49
- <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
50
- <use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-3"></use>
51
- </g>
52
- <g id="svg-card-3" transform="translate(114.597474, 105.391304) scale(-1, 1) rotate(133.539993) translate(-114.597474, -105.391304) ">
53
- <use fill="black" fill-opacity="1" filter="url(#filter-6)" xlink:href="#path-5"></use>
54
- <use fill="#4C4C4C" fill-rule="evenodd" xlink:href="#path-5"></use>
55
- </g>
56
- <g id="svg-card-4" opacity="0.879999995" transform="translate(116.838368, 103.446228) scale(-1, 1) rotate(142.690002) translate(-116.838368, -103.446228) ">
57
- <use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
58
- <use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-7"></use>
59
- </g>
60
- </g>
61
- </g>
62
- </g>
63
- </g>
64
- </svg>
65
- SVG
66
- end
67
-
68
- def up
69
- credit = ensure_card "*credit_image", codename: :credit_image
70
-
71
- return unless credit&.pristine?
72
-
73
- credit.update type_id: Card::HtmlID,
74
- content: svg("width:18px; height:14px;")
75
- end
76
- end
@@ -1,13 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddReadAnyoneRules < Cardio::Migration::Core
4
- def up
5
- ensure_card "*main menu", codename: :main_menu
6
- ensure_card "*credit", codename: :credit
7
- cards = %i[title main_menu navbox credit credit_image].map { |c| [c, :self] }
8
- cards << %i[head right]
9
- cards.each do |codename, set|
10
- ensure_card [codename, set, :read], type_id: Card::PointerID, content: "Anyone"
11
- end
12
- end
13
- end
@@ -1,18 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class UpdatePristineData < Cardio::Migration::Core
4
- def up
5
- names = %w[
6
- home home+original
7
- *footer *credit *sidebar
8
- *title
9
- *all+*layout
10
- home+*self+*layout
11
- default_layout home_layout
12
- full_width_layout
13
- *header
14
- cardtype+*type+*structure
15
- ]
16
- merge_pristine_cards names
17
- end
18
- end
@@ -1,10 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class TweakConfigCards < Cardio::Migration::Core
4
- def up
5
- update :home, type_id: Card::PointerID, content: "[[#{Card[:home].content}]]"
6
- update :tiny_mce, type_id: Card::JsonID
7
- update "json", name: "Json"
8
- merge_cards "administrator+dashboard"
9
- end
10
- end
@@ -1,8 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddDropdownDivider < Cardio::Migration::Core
4
- def up
5
- ensure_code_card "*dropdown divider", type_id: Card::HtmlID
6
- merge_pristine_cards %w[*main_menu *getting_started_link]
7
- end
8
- end
@@ -1,9 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddRoleAssignPermissions < Cardio::Migration::Core
4
- def up
5
- create "Administrator+*members+*self+*update", "Administrator"
6
- create "Shark+*members+*self+*update", "Administrator"
7
- create "Help Desk+*members+*self+*update", "Administrator"
8
- end
9
- end
@@ -1,13 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class HomepageTweaks < Cardio::Migration::Core
4
- def up
5
- merge_cards ["*getting started", "*main menu", "*getting started links"]
6
- update_card! :wagn_bot, name: "Decko Bot"
7
- delete_code_card :customized_skin
8
- delete_code_card :bootswatch_theme
9
- update_card! :basic, name: "RichText" unless :basic.cardname == "RichText"
10
- update_card! :json, name: "JSON" unless :json.cardname == "JSON"
11
- delete_card "*getting started+links"
12
- end
13
- end
@@ -1,7 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class UpdateCardtypeTypeStructure < Cardio::Migration::Core
4
- def up
5
- merge_cards %w[cardtype+*type+*structure Administrator+dashboard Shark+dashboard]
6
- end
7
- end
@@ -1,19 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class CleanupForDecko10 < Cardio::Migration::Core
4
- def up
5
- ensure_card "Cards with account", codename: "cards_with_account",
6
- content: '{"right_plus": "*account"}'
7
-
8
- %i[delete create update comment].each do |perm|
9
- delete_card [perm, :right, :options]
10
- end
11
- delete_card "*missing link"
12
- # delete_card "tags"
13
- delete_card "*tagged"
14
- merge_cards "*account"
15
- update_card! "*included by", name: "*nested by", codename: "nested_by"
16
- update_card! "*includes", name: "*nests", codename: "nests"
17
- ensure_card "*members", codename: "members"
18
- end
19
- end
@@ -1,7 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- class AddMoreGuides < Cardio::Migration::Core
4
- def up
5
- merge_cards %w[Cardtype+*type+*guide *structure+*right+*guide]
6
- end
7
- end