card 1.91 → 1.92
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +80 -0
- data/VERSION +1 -1
- data/card.gemspec +29 -22
- data/config/i18n-tasks.yml +8 -1
- data/config/initializers/01_core_extensions/module.rb +46 -4
- data/config/initializers/02_patches/action_dispatch.rb +16 -0
- data/config/initializers/02_patches/active_job.rb +35 -0
- data/config/initializers/patches.rb +12 -0
- data/config/initializers/recaptcha.rb +8 -2
- data/config/locales/de.yml +36 -23
- data/config/locales/en.yml +508 -15
- data/db/migrate/20110511221913_require_earlier_migrations.rb +1 -1
- data/db/migrate/20120105203350_require_1_8_migrations.rb +1 -1
- data/db/migrate/20121111025347_require_1_10_migrations.rb +1 -1
- data/db/migrate/20121118114000_split_link_type.rb +1 -1
- data/db/migrate/20121118115000_update_link_type.rb +2 -2
- data/db/migrate/20130106052640_table_cleanup.rb +1 -1
- data/db/migrate/20130109015336_trunk_left.rb +1 -1
- data/db/migrate/20130411210957_update_codenames.rb +1 -1
- data/db/migrate/20140822073704_create_new_revision_tables.rb +1 -1
- data/db/migrate/20141001105348_move_revisions_to_actions.rb +6 -6
- data/db/migrate/20141121172918_rename_card_migration_table.rb +1 -1
- data/db/migrate/20141208132159_remove_present_from_reference_table.rb +1 -1
- data/db/migrate/20141216053032_better_index_names.rb +1 -1
- data/db/migrate/20150724210803_add_comment_to_actions.rb +1 -1
- data/db/migrate/20151105225559_more_space_for_db_content.rb +1 -1
- data/db/migrate/20160122153608_new_indeces.rb +1 -1
- data/db/migrate/20170908114442_create_delayed_jobs.rb +22 -0
- data/db/migrate_core_cards/20140307231621_user_data_to_cards.rb +1 -1
- data/db/migrate_core_cards/20140512155840_add_script_cards.rb +2 -2
- data/db/migrate_core_cards/20140629222005_add_email_cards.rb +1 -1
- data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +1 -1
- data/db/migrate_core_cards/20150317162412_bootstrap_themes.rb +1 -1
- data/db/migrate_core_cards/20150429090551_search_card_context.rb +1 -0
- data/db/migrate_core_cards/20150508212032_menu_compatibility.rb +1 -1
- data/db/migrate_core_cards/20150824135418_update_file_history.rb +1 -0
- data/db/migrate_core_cards/20161103154836_update_keys.rb +1 -1
- data/db/migrate_core_cards/20170209132834_email_test_context.rb +1 -1
- data/db/migrate_core_cards/20170830210517_correct_signup_success_message.rb +10 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/bootstrap_default/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/bootstrap_default/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cerulean/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cerulean/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cerulean/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cosmo/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cosmo/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cosmo/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cyborg/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cyborg/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cyborg/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/darkly/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/darkly/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/darkly/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/flatly/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/flatly/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/flatly/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/journal/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/journal/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/journal/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/litera/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/litera/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/litera/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lumen/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lumen/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lumen/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lux/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lux/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lux/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/materia/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/materia/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/materia/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/minty/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/minty/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/minty/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/paper/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/paper/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/pulse/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/pulse/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/pulse/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/readable/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/readable/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/sandstone/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/sandstone/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/sandstone/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/simplex/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/simplex/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/simplex/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/slate/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/slate/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/slate/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/solar/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/solar/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/solar/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/spacelab/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/spacelab/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/spacelab/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/superhero/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/superhero/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/superhero/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/united/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/united/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/united/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/yeti/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/yeti/_full.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/yeti/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/yeti/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/bootstrap_default/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/bootstrap_default/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cerulean/_bootswatch.scss +67 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cerulean/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cerulean/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cosmo/_bootswatch.scss +45 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cosmo/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cosmo/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cyborg/_bootswatch.scss +141 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cyborg/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cyborg/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/darkly/_bootswatch.scss +142 -0
- data/db/migrate_core_cards/data/b4_beta_themes/darkly/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/darkly/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/flatly/_bootswatch.scss +107 -0
- data/db/migrate_core_cards/data/b4_beta_themes/flatly/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/flatly/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/journal/_bootswatch.scss +69 -0
- data/db/migrate_core_cards/data/b4_beta_themes/journal/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/journal/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/litera/_bootswatch.scss +130 -0
- data/db/migrate_core_cards/data/b4_beta_themes/litera/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/litera/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lumen/_bootswatch.scss +294 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lumen/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lumen/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lux/_bootswatch.scss +111 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lux/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lux/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/materia/_bootswatch.scss +610 -0
- data/db/migrate_core_cards/data/b4_beta_themes/materia/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/materia/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/minty/_bootswatch.scss +85 -0
- data/db/migrate_core_cards/data/b4_beta_themes/minty/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/minty/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/paper/_bootswatch.scss +607 -0
- data/db/migrate_core_cards/data/b4_beta_themes/paper/_variables.scss +861 -0
- data/db/migrate_core_cards/data/b4_beta_themes/pulse/_bootswatch.scss +122 -0
- data/db/migrate_core_cards/data/b4_beta_themes/pulse/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/pulse/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/readable/_bootswatch.scss +174 -0
- data/db/migrate_core_cards/data/b4_beta_themes/readable/_variables.scss +861 -0
- data/db/migrate_core_cards/data/b4_beta_themes/sandstone/_bootswatch.scss +152 -0
- data/db/migrate_core_cards/data/b4_beta_themes/sandstone/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/sandstone/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/simplex/_bootswatch.scss +103 -0
- data/db/migrate_core_cards/data/b4_beta_themes/simplex/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/simplex/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/slate/_bootswatch.scss +274 -0
- data/db/migrate_core_cards/data/b4_beta_themes/slate/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/slate/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/solar/_bootswatch.scss +45 -0
- data/db/migrate_core_cards/data/b4_beta_themes/solar/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/solar/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/spacelab/_bootswatch.scss +125 -0
- data/db/migrate_core_cards/data/b4_beta_themes/spacelab/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/spacelab/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/superhero/_bootswatch.scss +136 -0
- data/db/migrate_core_cards/data/b4_beta_themes/superhero/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/superhero/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/united/_bootswatch.scss +32 -0
- data/db/migrate_core_cards/data/b4_beta_themes/united/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/united/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/variables/_variables.scss +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/yeti/_bootswatch.scss +304 -0
- data/db/migrate_core_cards/data/b4_beta_themes/yeti/_full.scss +9921 -0
- data/db/migrate_core_cards/data/b4_beta_themes/yeti/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/yeti/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/cards.yml +2 -2
- data/db/migrate_core_cards/data/cards/*header +2 -2
- data/db/schema.rb +89 -106
- data/db/seed/new/card_actions.yml +2146 -1922
- data/db/seed/new/card_acts.yml +2 -248
- data/db/seed/new/card_changes.yml +1 -32341
- data/db/seed/new/card_references.yml +1162 -980
- data/db/seed/new/cards.yml +23244 -14385
- data/db/seed/test/fixtures/card_actions.yml +3459 -3011
- data/db/seed/test/fixtures/card_acts.yml +470 -608
- data/db/seed/test/fixtures/card_changes.yml +109 -37619
- data/db/seed/test/fixtures/card_references.yml +2264 -1865
- data/db/seed/test/fixtures/cards.yml +26422 -16915
- data/db/seed/test/seed.rb +247 -179
- data/db/seed_consts.rb +10 -0
- data/db/seeds.rb +1 -6
- data/db/version.txt +1 -1
- data/db/version_core_cards.txt +1 -1
- data/lib/active_record/connection_adapters_ext.rb +1 -1
- data/lib/application_job.rb +2 -0
- data/lib/application_record.rb +3 -0
- data/lib/card.rb +77 -13
- data/lib/card/act_manager.rb +3 -0
- data/lib/card/act_manager/stage_director.rb +3 -38
- data/lib/card/act_manager/stage_director/phases.rb +39 -0
- data/lib/card/codename.rb +15 -9
- data/lib/card/content.rb +4 -0
- data/lib/card/content/chunk.rb +4 -0
- data/lib/card/env.rb +6 -2
- data/lib/card/env/location_history.rb +1 -1
- data/lib/card/env/success.rb +5 -2
- data/lib/card/error.rb +3 -2
- data/lib/card/format.rb +13 -21
- data/lib/card/format/context_names.rb +40 -0
- data/lib/card/format/error.rb +8 -4
- data/lib/card/format/nest.rb +7 -7
- data/lib/card/format/nest/fetch.rb +1 -1
- data/lib/card/format/nest/mode.rb +75 -0
- data/lib/card/format/nest/subformat.rb +18 -5
- data/lib/card/format/permission.rb +1 -1
- data/lib/card/format/registration.rb +18 -12
- data/lib/card/format/render.rb +22 -11
- data/lib/card/migration.rb +1 -1
- data/lib/card/mod.rb +63 -0
- data/lib/card/mod/dirs.rb +73 -4
- data/lib/card/mod/load_strategy.rb +64 -0
- data/lib/card/mod/load_strategy/eval.rb +16 -0
- data/lib/card/mod/load_strategy/pattern_tmp_files.rb +29 -0
- data/lib/card/mod/load_strategy/set_binding_magic.rb +48 -0
- data/lib/card/mod/load_strategy/set_tmp_files.rb +33 -0
- data/lib/card/mod/load_strategy/tmp_files.rb +38 -0
- data/lib/card/mod/loader.rb +44 -129
- data/lib/card/mod/loader/set_loader.rb +85 -0
- data/lib/card/mod/loader/set_pattern_loader.rb +58 -0
- data/lib/card/mod/module_template.rb +67 -0
- data/lib/card/model/save_helper.rb +27 -4
- data/lib/card/name.rb +8 -10
- data/lib/card/name/fields_and_traits.rb +7 -5
- data/lib/card/name/view_name.rb +4 -4
- data/lib/card/query.rb +11 -5
- data/lib/card/query/attributes.rb +1 -1
- data/lib/card/query/interpretation.rb +3 -3
- data/lib/card/reference.rb +2 -2
- data/lib/card/set.rb +6 -28
- data/lib/card/set/advanced_api.rb +2 -2
- data/lib/card/set/event.rb +39 -14
- data/lib/card/set/helpers.rb +8 -7
- data/lib/card/set/i18n_scanner.rb +22 -0
- data/lib/card/set/i18n_scope.rb +41 -7
- data/lib/card/set/loader.rb +3 -52
- data/lib/card/set_pattern.rb +22 -38
- data/lib/card/subcards.rb +1 -1
- data/lib/card/tasks/card.rake +43 -3
- data/lib/card/tasks/card/migrate.rake +77 -0
- data/lib/card/view.rb +34 -5
- data/lib/card/view/cache.rb +69 -32
- data/lib/card/view/cache_action.rb +158 -0
- data/lib/card/view/options.rb +107 -57
- data/lib/card/view/stub.rb +46 -12
- data/lib/card/view/visibility.rb +3 -3
- data/lib/cardio.rb +9 -5
- data/mod/account/set/right/account.rb +2 -3
- data/mod/account/set/right/email.rb +4 -5
- data/mod/account/set/right/password.rb +2 -2
- data/mod/account/set/right/salt.rb +1 -1
- data/mod/account/set/right/status.rb +1 -1
- data/mod/account/set/right/token.rb +5 -5
- data/mod/account/set/self/account_links.rb +1 -1
- data/mod/account/set/self/signin.rb +7 -7
- data/mod/account/set/type/signup.rb +6 -4
- data/mod/account/set/type/user.rb +16 -15
- data/mod/account/spec/set/all/account_spec.rb +96 -103
- data/mod/account/spec/set/right/account_spec.rb +1 -1
- data/mod/account/spec/set/self/account_links_spec.rb +2 -2
- data/mod/account/spec/set/self/signin_spec.rb +1 -1
- data/mod/account/template/type/signup/core.haml +22 -0
- data/mod/admin/set/self/admin.rb +26 -4
- data/mod/admin/set/self/admin_info.rb +7 -2
- data/mod/admin/spec/set/self/admin_spec.rb +47 -30
- data/mod/admin/spec/set/self/version_spec.rb +2 -2
- data/mod/basic_formats/format/css_format.rb +9 -0
- data/mod/basic_formats/format/csv_format.rb +10 -0
- data/mod/basic_formats/format/js_format.rb +4 -0
- data/mod/basic_formats/format/json_format.rb +15 -0
- data/mod/basic_formats/format/xml_format.rb +4 -0
- data/mod/basic_formats/set/all/all_csv.rb +1 -1
- data/mod/basic_formats/set/all/base.rb +17 -9
- data/mod/basic_formats/set/all/json.rb +1 -1
- data/mod/basic_formats/set/self/01_head/javascript.rb +11 -7
- data/mod/basic_formats/set/self/head.rb +3 -2
- data/{db/migrate_core_cards/20170719163708_update_bootswatch_themes.rb → mod/bootstrap/db/migrate_cards/20170719163701_update_bootswatch_themes.rb} +1 -1
- data/{db/migrate_core_cards → mod/bootstrap/db/migrate_cards}/20170726111053_add_bootstrap_mixins.rb +0 -0
- data/{db/migrate_core_cards → mod/bootstrap/db/migrate_cards}/20170726145012_select2.rb +0 -0
- data/mod/bootstrap/file/cerulean_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/cerulean_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/cerulean_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/cerulean_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/cosmo_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/cosmo_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/cosmo_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/cosmo_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/cyborg_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/cyborg_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/cyborg_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/cyborg_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/darkly_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/darkly_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/darkly_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/darkly_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/flatly_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/flatly_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/flatly_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/flatly_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/journal_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/journal_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/journal_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/journal_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/lumen_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/lumen_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/lumen_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/lumen_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/sandstone_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/sandstone_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/sandstone_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/sandstone_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/simplex_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/simplex_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/simplex_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/simplex_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/slate_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/slate_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/slate_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/slate_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/spacelab_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/spacelab_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/spacelab_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/spacelab_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/superhero_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/superhero_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/superhero_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/superhero_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/united_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/united_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/united_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/united_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/yeti_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/yeti_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/yeti_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/yeti_skin_image/image-small.png +0 -0
- data/mod/bootstrap/lib/bootstrap/basic_tags.rb +3 -3
- data/mod/bootstrap/lib/bootstrap/component.rb +124 -37
- data/mod/bootstrap/lib/bootstrap/component/carousel.rb +68 -0
- data/mod/bootstrap/lib/bootstrap/component/form.rb +49 -16
- data/mod/bootstrap/lib/bootstrap/component/horizontal_form.rb +35 -10
- data/mod/bootstrap/lib/bootstrap/component/layout.rb +10 -2
- data/mod/bootstrap/lib/bootstrap/component/panel.rb +4 -4
- data/mod/bootstrap/lib/bootstrap/old_component.rb +182 -0
- data/mod/bootstrap/lib/javascript/bootstrap_modal_wagn.js +1 -1
- data/mod/bootstrap/set/all/bootstrap/accordion.rb +10 -10
- data/mod/bootstrap/set/all/bootstrap/helper.rb +2 -0
- data/mod/bootstrap/set/all/bootstrap/tabs.rb +1 -1
- data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_builder_spec.rb +24 -14
- data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_spec.rb +2 -2
- data/mod/bootstrap/spec/set/all/bootstrap/carousel_spec.rb +65 -0
- data/mod/bootstrap/spec/set/all/bootstrap/form_spec.rb +4 -44
- data/mod/bootstrap/spec/set/all/bootstrap/horizontal_form_spec.rb +46 -0
- data/mod/bootstrap/spec/set/all/bootstrap/layout_spec.rb +85 -91
- data/mod/carrierwave/lib/carrier_wave/file_card_uploader.rb +7 -1
- data/mod/carrierwave/set/abstract/attachment/paths.rb +2 -2
- data/mod/carrierwave/set/abstract/attachment/upload_cache.rb +10 -3
- data/mod/carrierwave/set/type/file.rb +5 -5
- data/mod/carrierwave/set/type/image.rb +4 -4
- data/mod/carrierwave/spec/lib/carrier_wave/file_card_uploader_spec.rb +1 -0
- data/mod/carrierwave/spec/set/type/file/bucket_config_spec.rb +90 -0
- data/mod/carrierwave/spec/set/type/file_spec.rb +41 -99
- data/mod/core/chunk/link.rb +1 -2
- data/mod/core/chunk/nest.rb +1 -1
- data/mod/core/chunk/reference.rb +1 -1
- data/mod/core/chunk/view_stub.rb +8 -0
- data/mod/core/format/html_format.rb +9 -3
- data/mod/core/set/abstract/code_file.rb +1 -1
- data/mod/core/set/all/actify.rb +34 -0
- data/mod/core/set/all/assign_attributes.rb +13 -0
- data/mod/core/set/all/cache.rb +96 -0
- data/mod/core/set/all/collection.rb +16 -8
- data/mod/core/set/all/{event.rb → event_conditions.rb} +1 -1
- data/mod/core/set/all/fetch.rb +43 -315
- data/mod/core/set/all/fetch_helper.rb +130 -0
- data/mod/core/set/all/haml.rb +13 -0
- data/mod/core/set/all/i18n.rb +5 -4
- data/mod/core/set/all/mark.rb +66 -0
- data/mod/core/set/all/name.rb +35 -57
- data/mod/core/set/all/permissions.rb +6 -3
- data/mod/core/set/all/references.rb +5 -5
- data/mod/core/set/all/rename.rb +34 -0
- data/mod/core/set/all/rules.rb +1 -1
- data/mod/core/set/all/states.rb +12 -0
- data/mod/core/set/all/trash.rb +4 -3
- data/mod/core/set/all/type.rb +4 -0
- data/mod/core/set/all/update_read_rules.rb +1 -1
- data/mod/core/spec/set/all/actify_spec.rb +9 -8
- data/mod/core/spec/set/all/assign_attributes_spec.rb +33 -299
- data/mod/core/spec/set/all/collection_spec.rb +2 -2
- data/mod/core/spec/set/all/event_conditions_spec.rb +54 -0
- data/mod/core/spec/set/all/fetch_spec.rb +21 -29
- data/mod/core/spec/set/all/i18n_spec.rb +17 -0
- data/mod/core/spec/set/all/name_spec.rb +39 -3
- data/mod/core/spec/set/all/name_validations_spec.rb +21 -0
- data/mod/core/spec/set/all/permissions/reader_rules_spec.rb +166 -0
- data/mod/core/spec/set/all/permissions_spec.rb +25 -171
- data/mod/core/spec/set/all/rename_spec.rb +171 -0
- data/mod/core/spec/set/all/rules2_spec.rb +45 -49
- data/mod/core/spec/set/all/trash_spec.rb +84 -61
- data/mod/history/lib/card/act.rb +5 -4
- data/mod/history/lib/card/act/act_renderer.rb +55 -28
- data/mod/history/lib/card/act/act_renderer/absolute_act_renderer.rb +10 -2
- data/mod/history/lib/card/act/act_renderer/relative_act_renderer.rb +8 -1
- data/mod/history/lib/card/action.rb +35 -3
- data/mod/history/lib/card/action/action_renderer.rb +3 -3
- data/mod/history/lib/card/action/admin.rb +17 -0
- data/mod/history/lib/card/change.rb +1 -1
- data/mod/history/set/all/act_view.rb +16 -9
- data/mod/history/set/all/actions.rb +35 -9
- data/mod/history/set/all/content_history.rb +22 -14
- data/mod/history/set/all/history.rb +52 -19
- data/mod/machines/file/all_script_machine_output/file.js +34 -16
- data/mod/machines/file/script_html5shiv_printshiv_machine_output/file.js +2 -0
- data/mod/machines/lib/card/machine.rb +49 -0
- data/mod/machines/lib/javascript/decko.js.coffee +9 -0
- data/mod/machines/lib/javascript/decko_mod.js.coffee +3 -0
- data/mod/machines/lib/stylesheets/style_cards.scss +10 -14
- data/mod/machines/set/abstract/machine.rb +1 -1
- data/mod/machines/spec/set/abstract/machine_spec.rb +1 -1
- data/mod/machines/spec/set/type/scss_spec.rb +5 -7
- data/mod/machines/spec/shared_examples/machine.rb +3 -3
- data/mod/notifications/set/all/follow.rb +2 -2
- data/mod/notifications/set/all/send_notifications.rb +21 -15
- data/mod/notifications/set/right/bcc.rb +1 -1
- data/mod/notifications/set/right/follow.rb +1 -1
- data/mod/notifications/set/right/html_message.rb +6 -0
- data/mod/notifications/set/right/text_message.rb +6 -0
- data/mod/notifications/spec/set/all/notify_spec.rb +87 -166
- data/mod/notifications/spec/set/type/notification_template_spec.rb +3 -2
- data/mod/pointer/set/abstract/02_pointer.rb +4 -4
- data/mod/pointer/set/abstract/02_pointer/edit.rb +41 -14
- data/mod/pointer/spec/set/type/pointer_spec.rb +10 -9
- data/mod/prosemirror_editor/lib/javascript/script_prosemirror.js +305 -143
- data/mod/settings/set/abstract/permission.rb +1 -1
- data/mod/settings/set/right/structure.rb +0 -1
- data/mod/settings/set/self/recent_settings.rb +4 -0
- data/mod/standard/file/credit_image/image-icon.png +0 -0
- data/mod/standard/file/credit_image/image-large.png +0 -0
- data/mod/standard/file/credit_image/image-medium.png +0 -0
- data/mod/standard/file/credit_image/image-small.png +0 -0
- data/mod/standard/file/favicon/image-icon.png +0 -0
- data/mod/standard/file/favicon/image-large.png +0 -0
- data/mod/standard/file/favicon/image-medium.png +0 -0
- data/mod/standard/file/favicon/image-small.png +0 -0
- data/mod/standard/file/logo/image-icon.png +0 -0
- data/mod/standard/file/logo/image-large.png +0 -0
- data/mod/standard/file/logo/image-medium.png +0 -0
- data/mod/standard/file/logo/image-small.png +0 -0
- data/mod/standard/set/abstract/search.rb +1 -1
- data/mod/standard/set/all/error.rb +5 -5
- data/mod/standard/set/all/links.rb +1 -2
- data/mod/standard/set/all/list_changes.rb +1 -1
- data/mod/standard/set/all/rich_html/content.rb +20 -14
- data/mod/standard/set/all/rich_html/editing.rb +9 -7
- data/mod/standard/set/all/rich_html/form.rb +24 -27
- data/mod/standard/set/all/rich_html/header.rb +1 -1
- data/mod/standard/set/all/rich_html/new.rb +12 -10
- data/mod/standard/set/all/rich_html/toolbar.rb +2 -2
- data/mod/standard/set/all/rich_html/wrapper.rb +4 -4
- data/mod/standard/set/self/activity_toolbar_button.rb +1 -1
- data/mod/standard/set/self/recent.rb +4 -2
- data/mod/standard/set/type/basic.rb +2 -2
- data/mod/standard/set/type/cardtype.rb +11 -8
- data/mod/standard/set/type/list.rb +4 -4
- data/mod/standard/set/type/search_type.rb +4 -4
- data/mod/standard/set/type/session.rb +4 -0
- data/mod/standard/set/type/set.rb +1 -1
- data/mod/standard/set/type/toggle.rb +2 -2
- data/mod/standard/spec/chunk/link_spec.rb +1 -1
- data/mod/standard/spec/set/all/history_spec.rb +31 -12
- data/mod/standard/spec/set/all/rich_html/form_spec.rb +2 -2
- data/mod/standard/spec/set/all/rich_html/toolbar_spec.rb +1 -0
- data/mod/standard/spec/set/type/cardtype_spec.rb +44 -1
- data/mod/standard/spec/set/type/email_template/email_config_spec.rb +2 -1
- data/mod/standard/spec/set/type/list_spec.rb +8 -3
- data/mod/standard/spec/set/type/listed_by_spec.rb +0 -6
- data/spec/config/initializers/patches/active_job_spec.rb +7 -0
- data/spec/lib/card/action_spec.rb +3 -2
- data/spec/lib/card/codename_spec.rb +7 -2
- data/spec/lib/card/content_spec.rb +19 -1
- data/spec/lib/card/format/render_spec.rb +5 -5
- data/spec/lib/card/i18n_spec.rb +5 -20
- data/spec/lib/card/{loader → mod/loader}/mod_dirs.rb +0 -0
- data/spec/lib/card/mod/loader/set_loader_spec.rb +19 -0
- data/spec/lib/card/mod/loader/set_pattern_loader_spec.rb +19 -0
- data/spec/lib/card/name/fields_and_traits_spec.rb +18 -0
- data/spec/lib/card/name_spec.rb +3 -3
- data/spec/lib/card/query/sorting_spec.rb +1 -1
- data/spec/lib/card/query_spec.rb +16 -9
- data/spec/lib/card/reference_spec.rb +5 -6
- data/spec/lib/card/set_pattern_spec.rb +4 -0
- data/spec/lib/card/view_cache_spec.rb +17 -0
- data/spec/models/card/create_spec.rb +40 -22
- data/spec/models/card/trash_spec.rb +8 -70
- data/spec/models/card_spec.rb +16 -46
- data/spec/spec_helper.rb +1 -3
- data/spec/support/card_spec_helper.rb +5 -2
- data/spec/support/card_spec_loader.rb +34 -6
- data/spec/support/helper/event_helper.rb +1 -1
- data/spec/support/helper/save_helper.rb +4 -0
- data/spec/support/helper/set_helper.rb +1 -1
- data/spec/support/matchers/card_matchers.rb +136 -0
- data/spec/support/matchers/expectations.rb +5 -0
- data/spec/support/matchers/file_matchers.rb +71 -0
- data/spec/support/matchers/negated_matchers.rb +2 -0
- data/spec/support/test_mods/mod1/set/all/test_set.rb +3 -0
- data/spec/support/test_mods/mod2/set_pattern/test_pattern.rb +0 -0
- data/tmpsets/set/mod001-admin/self/admin.rb +130 -0
- data/tmpsets/set/mod001-admin/self/admin_info.rb +110 -0
- data/tmpsets/set/mod001-admin/self/version.rb +15 -0
- data/tmpsets/set/mod002-core/abstract/code_file.rb +79 -0
- data/tmpsets/set/mod002-core/all/actify.rb +101 -0
- data/tmpsets/set/mod002-core/all/active_card.rb +42 -0
- data/tmpsets/set/mod002-core/all/collection.rb +313 -0
- data/tmpsets/set/mod002-core/all/content.rb +69 -0
- data/tmpsets/set/mod002-core/all/debug.rb +30 -0
- data/tmpsets/set/mod002-core/all/erb.rb +18 -0
- data/tmpsets/set/mod002-core/all/event.rb +62 -0
- data/tmpsets/set/mod002-core/all/export.rb +49 -0
- data/tmpsets/set/mod002-core/all/fetch.rb +335 -0
- data/tmpsets/set/mod002-core/all/haml.rb +14 -0
- data/tmpsets/set/mod002-core/all/initialize.rb +42 -0
- data/tmpsets/set/mod002-core/all/location_history.rb +15 -0
- data/tmpsets/set/mod002-core/all/name.rb +282 -0
- data/tmpsets/set/mod002-core/all/name_validations.rb +65 -0
- data/tmpsets/set/mod002-core/all/pattern.rb +67 -0
- data/tmpsets/set/mod002-core/all/permissions.rb +319 -0
- data/tmpsets/set/mod002-core/all/phases.rb +23 -0
- data/tmpsets/set/mod002-core/all/references.rb +187 -0
- data/tmpsets/set/mod002-core/all/rules.rb +311 -0
- data/tmpsets/set/mod002-core/all/stages.rb +31 -0
- data/tmpsets/set/mod002-core/all/states.rb +31 -0
- data/tmpsets/set/mod002-core/all/subcards.rb +85 -0
- data/tmpsets/set/mod002-core/all/templating.rb +78 -0
- data/tmpsets/set/mod002-core/all/tracked_attributes.rb +78 -0
- data/tmpsets/set/mod002-core/all/trash.rb +113 -0
- data/tmpsets/set/mod002-core/all/type.rb +60 -0
- data/tmpsets/set/mod002-core/all/update_read_rules.rb +91 -0
- data/tmpsets/set/mod002-core/all/utils.rb +62 -0
- data/tmpsets/set/mod002-core/all/view_cache.rb +16 -0
- data/tmpsets/set/mod003-history/all/actions.rb +60 -0
- data/tmpsets/set/mod003-history/all/content_history.rb +168 -0
- data/tmpsets/set/mod003-history/all/history.rb +408 -0
- data/tmpsets/set/mod004-basic_formats/all/all_css.rb +45 -0
- data/tmpsets/set/mod004-basic_formats/all/all_csv.rb +56 -0
- data/tmpsets/set/mod004-basic_formats/all/all_js.rb +13 -0
- data/tmpsets/set/mod004-basic_formats/all/base.rb +155 -0
- data/tmpsets/set/mod004-basic_formats/all/file.rb +16 -0
- data/tmpsets/set/mod004-basic_formats/all/json.rb +76 -0
- data/tmpsets/set/mod004-basic_formats/all/rss.rb +77 -0
- data/tmpsets/set/mod004-basic_formats/all/text.rb +13 -0
- data/tmpsets/set/mod004-basic_formats/self/01_head/javascript.rb +79 -0
- data/tmpsets/set/mod004-basic_formats/self/head.rb +101 -0
- data/tmpsets/set/mod005-pointer/abstract/01_pointer.rb +193 -0
- data/tmpsets/set/mod005-pointer/abstract/01_pointer/edit.rb +224 -0
- data/tmpsets/set/mod005-pointer/abstract/code_pointer.rb +16 -0
- data/tmpsets/set/mod005-pointer/self/script_editors.rb +8 -0
- data/tmpsets/set/mod005-pointer/self/script_mods.rb +8 -0
- data/tmpsets/set/mod005-pointer/self/script_pointer_config.rb +10 -0
- data/tmpsets/set/mod005-pointer/type/pointer.rb +8 -0
- data/tmpsets/set/mod006-ace_editor/abstract/ace_editor.rb +18 -0
- data/tmpsets/set/mod006-ace_editor/self/script_ace.rb +10 -0
- data/tmpsets/set/mod006-ace_editor/self/script_ace_config.rb +12 -0
- data/tmpsets/set/mod007-prosemirror_editor/abstract/prosemirror_editor.rb +14 -0
- data/tmpsets/set/mod007-prosemirror_editor/self/script_prosemirror.rb +10 -0
- data/tmpsets/set/mod007-prosemirror_editor/self/script_prosemirror_config.rb +13 -0
- data/tmpsets/set/mod009-solid_cache/abstract/solid_cache.rb +106 -0
- data/tmpsets/set/mod009-solid_cache/all/solid_cache.rb +21 -0
- data/tmpsets/set/mod009-solid_cache/right/solid_cache.rb +39 -0
- data/tmpsets/set/mod010-basic_types/type/html.rb +26 -0
- data/tmpsets/set/mod010-basic_types/type/plain_text.rb +19 -0
- data/tmpsets/set/mod011-machines/abstract/machine.rb +277 -0
- data/tmpsets/set/mod011-machines/abstract/machine_input.rb +83 -0
- data/tmpsets/set/mod011-machines/abstract/script.rb +49 -0
- data/tmpsets/set/mod011-machines/all/reset_machines.rb +19 -0
- data/tmpsets/set/mod011-machines/right/machine_cache.rb +18 -0
- data/tmpsets/set/mod011-machines/right/machine_input.rb +10 -0
- data/tmpsets/set/mod011-machines/right/machine_output.rb +47 -0
- data/tmpsets/set/mod011-machines/self/script_card_menu.rb +8 -0
- data/tmpsets/set/mod011-machines/self/script_html5shiv_printshiv.rb +8 -0
- data/tmpsets/set/mod011-machines/self/script_jquery.rb +8 -0
- data/tmpsets/set/mod011-machines/self/script_jquery_helper.rb +16 -0
- data/tmpsets/set/mod011-machines/self/script_slot.rb +14 -0
- data/tmpsets/set/mod011-machines/self/style_bootstrap_compatible.rb +8 -0
- data/tmpsets/set/mod011-machines/self/style_cards.rb +8 -0
- data/tmpsets/set/mod011-machines/self/style_jquery_ui_smoothness.rb +8 -0
- data/tmpsets/set/mod011-machines/type/coffee_script.rb +43 -0
- data/tmpsets/set/mod011-machines/type/css.rb +67 -0
- data/tmpsets/set/mod011-machines/type/java_script.rb +36 -0
- data/tmpsets/set/mod011-machines/type/scss.rb +21 -0
- data/tmpsets/set/mod011-machines/type/skin.rb +13 -0
- data/tmpsets/set/mod012-settings/abstract/permission.rb +119 -0
- data/tmpsets/set/mod012-settings/right/add_help.rb +18 -0
- data/tmpsets/set/mod012-settings/right/comment.rb +8 -0
- data/tmpsets/set/mod012-settings/right/create.rb +8 -0
- data/tmpsets/set/mod012-settings/right/default.rb +14 -0
- data/tmpsets/set/mod012-settings/right/delete.rb +8 -0
- data/tmpsets/set/mod012-settings/right/help.rb +10 -0
- data/tmpsets/set/mod012-settings/right/read.rb +10 -0
- data/tmpsets/set/mod012-settings/right/script.rb +16 -0
- data/tmpsets/set/mod012-settings/right/structure.rb +68 -0
- data/tmpsets/set/mod012-settings/right/style.rb +17 -0
- data/tmpsets/set/mod012-settings/right/update.rb +8 -0
- data/tmpsets/set/mod012-settings/self/accountable.rb +10 -0
- data/tmpsets/set/mod012-settings/self/add_help.rb +9 -0
- data/tmpsets/set/mod012-settings/self/autoname.rb +9 -0
- data/tmpsets/set/mod012-settings/self/captcha.rb +9 -0
- data/tmpsets/set/mod012-settings/self/create.rb +9 -0
- data/tmpsets/set/mod012-settings/self/default.rb +9 -0
- data/tmpsets/set/mod012-settings/self/default_html_view.rb +9 -0
- data/tmpsets/set/mod012-settings/self/delete.rb +9 -0
- data/tmpsets/set/mod012-settings/self/follow_fields.rb +9 -0
- data/tmpsets/set/mod012-settings/self/help.rb +9 -0
- data/tmpsets/set/mod012-settings/self/input.rb +11 -0
- data/tmpsets/set/mod012-settings/self/layout.rb +9 -0
- data/tmpsets/set/mod012-settings/self/on_create.rb +9 -0
- data/tmpsets/set/mod012-settings/self/on_delete.rb +9 -0
- data/tmpsets/set/mod012-settings/self/on_update.rb +9 -0
- data/tmpsets/set/mod012-settings/self/options.rb +11 -0
- data/tmpsets/set/mod012-settings/self/options_label.rb +11 -0
- data/tmpsets/set/mod012-settings/self/read.rb +9 -0
- data/tmpsets/set/mod012-settings/self/recent_settings.rb +10 -0
- data/tmpsets/set/mod012-settings/self/script.rb +9 -0
- data/tmpsets/set/mod012-settings/self/structure.rb +9 -0
- data/tmpsets/set/mod012-settings/self/style.rb +9 -0
- data/tmpsets/set/mod012-settings/self/table_of_contents.rb +9 -0
- data/tmpsets/set/mod012-settings/self/thanks.rb +9 -0
- data/tmpsets/set/mod012-settings/self/update.rb +9 -0
- data/tmpsets/set/mod012-settings/type/setting.rb +111 -0
- data/tmpsets/set/mod013-email/all/email_html.rb +11 -0
- data/tmpsets/set/mod013-email/all/email_text.rb +12 -0
- data/tmpsets/set/mod013-email/all/follow.rb +253 -0
- data/tmpsets/set/mod013-email/all/notify.rb +271 -0
- data/tmpsets/set/mod013-email/all/observer.rb +33 -0
- data/tmpsets/set/mod013-email/right/bcc.rb +47 -0
- data/tmpsets/set/mod013-email/right/cc.rb +10 -0
- data/tmpsets/set/mod013-email/right/follow.rb +106 -0
- data/tmpsets/set/mod013-email/right/follow_fields.rb +10 -0
- data/tmpsets/set/mod013-email/right/followers.rb +41 -0
- data/tmpsets/set/mod013-email/right/following.rb +65 -0
- data/tmpsets/set/mod013-email/right/from.rb +10 -0
- data/tmpsets/set/mod013-email/right/html_message.rb +10 -0
- data/tmpsets/set/mod013-email/right/to.rb +10 -0
- data/tmpsets/set/mod013-email/self/always.rb +20 -0
- data/tmpsets/set/mod013-email/self/created.rb +26 -0
- data/tmpsets/set/mod013-email/self/edited.rb +27 -0
- data/tmpsets/set/mod013-email/self/follow.rb +9 -0
- data/tmpsets/set/mod013-email/self/follow_defaults.rb +75 -0
- data/tmpsets/set/mod013-email/self/never.rb +20 -0
- data/tmpsets/set/mod013-email/type/email_template.rb +133 -0
- data/tmpsets/set/mod013-email/type_plus_right/user/follow.rb +180 -0
- data/tmpsets/set/mod014-developer/all/event_viz.rb +59 -0
- data/tmpsets/set/mod014-developer/all/view_viz.rb +30 -0
- data/tmpsets/set/mod014-developer/right/debug.rb +96 -0
- data/tmpsets/set/mod015-carrierwave/abstract/attachment.rb +118 -0
- data/tmpsets/set/mod015-carrierwave/abstract/attachment/paths.rb +57 -0
- data/tmpsets/set/mod015-carrierwave/abstract/attachment/storage_type.rb +326 -0
- data/tmpsets/set/mod015-carrierwave/abstract/attachment/upload_cache.rb +84 -0
- data/tmpsets/set/mod015-carrierwave/all/file_utils.rb +35 -0
- data/tmpsets/set/mod015-carrierwave/self/admin.rb +30 -0
- data/tmpsets/set/mod015-carrierwave/type/file.rb +158 -0
- data/tmpsets/set/mod015-carrierwave/type/image.rb +97 -0
- data/tmpsets/set/mod016-standard/all/comment.rb +67 -0
- data/tmpsets/set/mod016-standard/all/error.rb +229 -0
- data/tmpsets/set/mod016-standard/all/links.rb +165 -0
- data/tmpsets/set/mod016-standard/all/list_changes.rb +53 -0
- data/tmpsets/set/mod016-standard/all/rich_html/content.rb +261 -0
- data/tmpsets/set/mod016-standard/all/rich_html/editing.rb +247 -0
- data/tmpsets/set/mod016-standard/all/rich_html/form.rb +298 -0
- data/tmpsets/set/mod016-standard/all/rich_html/header.rb +78 -0
- data/tmpsets/set/mod016-standard/all/rich_html/menu.rb +154 -0
- data/tmpsets/set/mod016-standard/all/rich_html/modal.rb +58 -0
- data/tmpsets/set/mod016-standard/all/rich_html/toolbar.rb +312 -0
- data/tmpsets/set/mod016-standard/all/rich_html/wrapper.rb +191 -0
- data/tmpsets/set/mod016-standard/right/discussion.rb +10 -0
- data/tmpsets/set/mod016-standard/right/when_created.rb +14 -0
- data/tmpsets/set/mod016-standard/right/when_last_edited.rb +14 -0
- data/tmpsets/set/mod016-standard/rstar/rules.rb +107 -0
- data/tmpsets/set/mod016-standard/rstar/rules_editor.rb +371 -0
- data/tmpsets/set/mod016-standard/self/alerts.rb +12 -0
- data/tmpsets/set/mod016-standard/self/codenames.rb +7 -0
- data/tmpsets/set/mod016-standard/self/foot.rb +15 -0
- data/tmpsets/set/mod016-standard/self/navbox.rb +36 -0
- data/tmpsets/set/mod016-standard/self/now.rb +14 -0
- data/tmpsets/set/mod016-standard/self/recent.rb +34 -0
- data/tmpsets/set/mod016-standard/self/search.rb +71 -0
- data/tmpsets/set/mod016-standard/type/basic.rb +59 -0
- data/tmpsets/set/mod016-standard/type/cardtype.rb +81 -0
- data/tmpsets/set/mod016-standard/type/date.rb +15 -0
- data/tmpsets/set/mod016-standard/type/layout_type.rb +17 -0
- data/tmpsets/set/mod016-standard/type/list.rb +120 -0
- data/tmpsets/set/mod016-standard/type/listed_by.rb +85 -0
- data/tmpsets/set/mod016-standard/type/number.rb +25 -0
- data/tmpsets/set/mod016-standard/type/phrase.rb +10 -0
- data/tmpsets/set/mod016-standard/type/search_type.rb +339 -0
- data/tmpsets/set/mod016-standard/type/session.rb +42 -0
- data/tmpsets/set/mod016-standard/type/set.rb +371 -0
- data/tmpsets/set/mod016-standard/type/toggle.rb +19 -0
- data/tmpsets/set/mod016-standard/type/uri.rb +18 -0
- data/tmpsets/set/mod017-account/all/account.rb +72 -0
- data/tmpsets/set/mod017-account/right/account.rb +196 -0
- data/tmpsets/set/mod017-account/right/email.rb +61 -0
- data/tmpsets/set/mod017-account/right/password.rb +54 -0
- data/tmpsets/set/mod017-account/right/salt.rb +12 -0
- data/tmpsets/set/mod017-account/right/status.rb +16 -0
- data/tmpsets/set/mod017-account/right/token.rb +57 -0
- data/tmpsets/set/mod017-account/self/account_links.rb +72 -0
- data/tmpsets/set/mod017-account/self/signin.rb +165 -0
- data/tmpsets/set/mod017-account/type/signup.rb +175 -0
- data/tmpsets/set/mod017-account/type/user.rb +88 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/form.rb +42 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/helper.rb +236 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/table.rb +68 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/tabs.rb +88 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/wrapper.rb +18 -0
- data/tmpsets/set/mod018-bootstrap/all/rich_bootstrap.rb +13 -0
- data/tmpsets/set/mod018-bootstrap/self/bootstrap_cards.rb +8 -0
- data/tmpsets/set/mod018-bootstrap/self/bootstrap_js.rb +12 -0
- data/tmpsets/set/mod018-bootstrap/self/bootswatch_shared.rb +47 -0
- data/tmpsets/set/mod018-bootstrap/self/script_mods.rb +7 -0
- data/tmpsets/set/mod018-bootstrap/self/smartmenu_css.rb +12 -0
- data/tmpsets/set/mod018-bootstrap/self/smartmenu_js.rb +12 -0
- data/tmpsets/set_pattern/100-all.rb +24 -0
- data/tmpsets/set_pattern/101-all_plus.rb +26 -0
- data/tmpsets/set_pattern/102-type.rb +36 -0
- data/tmpsets/set_pattern/103-star.rb +28 -0
- data/tmpsets/set_pattern/104-rstar.rb +30 -0
- data/tmpsets/set_pattern/105-right.rb +33 -0
- data/tmpsets/set_pattern/106-type_plus_right.rb +39 -0
- data/tmpsets/set_pattern/107-self.rb +32 -0
- metadata +494 -167
- data/README_Developers.rdoc +0 -100
- data/lib/card/format/names.rb +0 -43
- data/lib/card/format/nest/view.rb +0 -65
- data/lib/card/view/fetch.rb +0 -121
- data/mod/core/spec/set/all/attribute_tracking_spec.rb +0 -21
- data/spec/models/card/cardtype_spec.rb +0 -189
- data/spec/models/card/type_transition_spec.rb +0 -132
- data/spec/models/card/validation_spec.rb +0 -34
- data/spec/support/matchers.rb +0 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47455178df73a19b8c9a200fb6ffc996f5303489
|
4
|
+
data.tar.gz: fb7046e99420ee3cc2af2dc47723a1d3ad17ad73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d6a3bdc814d7f8ca80b0a5c08f0e0b6f9cff85ebd35737c09104bc3a6c5b35779b71ed982d692f05a2d1955ea6d5cd355fba17a12915f878ffbb55f68377451
|
7
|
+
data.tar.gz: 7d962a151eeebaa50d17df1b7e25883209a62744395669190f78ac02afc627cca3da72646d7f53b63f7b13785fa81279d7de1edafc44e4119c0b4ecb52aa0847
|
data/README.rdoc
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
|
2
|
+
=A Developer's introduction to the Decko/Card code base
|
3
|
+
|
4
|
+
New folks should start here after playing with Decko but before digging into code.
|
5
|
+
|
6
|
+
==Intro
|
7
|
+
|
8
|
+
===Am I in the right place?
|
9
|
+
|
10
|
+
Yes, if:
|
11
|
+
|
12
|
+
* <b>you're a Ruby developer</b>, or at least someone who does not fear ruby code. <b>Not a techie? {Try Decko.org}[http://decko.org]</b>
|
13
|
+
* <b>you've experimented with Decko</b> enough to know the basics (cards, types, rules, etc.) <b>No idea what a card is? {Try Decko.org}[http://decko.org]</b>.
|
14
|
+
* <b>you're looking at this page from a docs site</b> (ie, NOT GitHub) so you can use our links to navigate code. <b>Links look funny? {Try rubydocs.info}[http://rubydoc.info/gems/card].</b>
|
15
|
+
|
16
|
+
|
17
|
+
===Decko: an _application_ or a <i>development framework</i>?
|
18
|
+
|
19
|
+
It's both.
|
20
|
+
|
21
|
+
When you install and seed a new Decko project, you have a working "deck" right away. Your new application has a lot built in: account handling, edit histories, default layouts, CSS, etc. But a new deck is just a starting point. Decko offers a rich framework within which to develop your own novel applications, both <b>via configuration (as a "Decker")</b> or <b>via code (as a "Deck-coder")</b>.
|
22
|
+
|
23
|
+
<b>Decko is a development framework in which you start <i>in the middle of things</i> rather than from scratch</b>. Decko gives you a headstart, so that designers, developers, and content creators can start working in parallel on day one. But from there, you can build (or remove) pretty much whatever you want.
|
24
|
+
|
25
|
+
|
26
|
+
===Decko: Ruby on Rails?
|
27
|
+
|
28
|
+
Ruby-on-Rails developers reading this will find lots of familiar patterns in Decko, which indeed depends upon rails gems. <b>Although Decko is a Rails descendant and owes a ton to the Rails community, it is not Rails.</b> Unlike Rails, Decko is not an implementation of the "MVC" (Model-View-Controller) architectural pattern (see Architecture below). More concretely, while Rails' core pattern is adding new things (especially models, views, and controllers), Decko's core pattern is subdividing exising things into new Sets.
|
29
|
+
|
30
|
+
Deck-coders do create lots of card views (though they're quite different from Rails views), but we rarely if ever create new controllers or ActiveRecord models. In the Decko gem there is one controller (CardController) and one main model ({Card}). Other models optimize the Card model and track its history: (See {Card::Reference references}, {Card::Act acts}, {Card::Action actions}, and {Card::Change changes}).
|
31
|
+
|
32
|
+
|
33
|
+
===Cards, Sets, and Rules
|
34
|
+
|
35
|
+
{Card _Cards_} are the basic building blocks of Decko. {Card::Set _Sets_} are the basic pattern for organizing cards. <b>Both Deckers and Deck-coders create web systems by applying _rules_ to _sets_ of _cards_.</b>
|
36
|
+
|
37
|
+
If you've edited card rules in any deck, you will have encountered Sets. For example, imagine you're on a User card named "Henry", and you decide to edit its structure. When you do, you'll be prompted to choose the Set of cards to which the structure rule applies, eg:
|
38
|
+
|
39
|
+
* Just "Henry"
|
40
|
+
* All Users
|
41
|
+
* All Cards
|
42
|
+
|
43
|
+
The Rule in question will apply to all cards in the set you choose. If a card has rules in more than one set, the rule applied to the narrower set overrides the rule applied to the broader one.
|
44
|
+
|
45
|
+
This same general pattern occurs in Decko code: code rules (methods) are organized under the Set of cards to which they apply. This means both code rules and card (data) rules) can be as narrow or specific as desired.
|
46
|
+
|
47
|
+
|
48
|
+
==Architecture
|
49
|
+
|
50
|
+
Sets are central to Decko's architecture, which follows a new pattern that we call _MoFoS_. MoFoS stands for "Model-Formats-Sets": One <b>Mo</b>del, viewable in many {Card::Format <b>Fo</b>rmats}, divisible into {Card::Set <b>S</b>ets}.
|
51
|
+
|
52
|
+
In Decko, the MoFoS "model" is, as you may have guessed, the {Card _Card_}. We've just explore {Card::Set _Sets_} above. But what are {Card::Format Formats}?
|
53
|
+
|
54
|
+
You may have noticed that you can add .html (the default), .text, .json, etc to any card's web path to receive the card's contents in a different file format. These are achieved by {Card::Format Format} classes. HTML, Json, Text, etc each has its own Format class.
|
55
|
+
|
56
|
+
In keeping with this architecture, Decko's code is heavily organized around correlating Ruby classes for the model and formats:
|
57
|
+
|
58
|
+
1. the "model" is {Card}
|
59
|
+
2. the "formats" are {Card::Format} and its descendants
|
60
|
+
|
61
|
+
Sets are implemented not as Ruby classes but as Ruby modules that are included in applicable card and format objects. For example, when fetching the "Henry" card, the Card object's singleton class will include the module Card::Set::Type::User. And when rendering a view of that card in Html, the format object will include Card::Set::Type::User::HtmlFormat. That's a mouthful. It's also something you'll never have to write (or think about really), because Set functionality is almost always developed using our Set DSL, which automatically handles the ruby module naming based on the file name.
|
62
|
+
|
63
|
+
Cards, Formats, Sets, and other structures can all be developed via {Card::Mod Mods}.
|
64
|
+
|
65
|
+
==Mods
|
66
|
+
|
67
|
+
{Card::Mod Card Mods} (short for _modules_ or _modifications_) are the primary mechanism for developing and sharing Decko code. If you're just getting started as a Decko developer, learning about {Card::Mod Mods} is a great next step.
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2
|
data/card.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
|
3
|
-
|
4
|
-
vbits =
|
3
|
+
version = File.open(File.expand_path("../VERSION", __FILE__)).read.chomp
|
4
|
+
vbits = version.split('.').map &:to_i
|
5
5
|
vplus = { 0 => 90, 1 => 100 } # can remove and hardcode after 1.0
|
6
6
|
vminor = vplus[ vbits[0] ] + vbits[1]
|
7
|
-
|
7
|
+
card_version = [1, vminor, vbits[2]].compact.map(&:to_s).join "."
|
8
8
|
# Because card was already at 1.21 when wagn was renamed to decko and decko's
|
9
9
|
# versioning went back to 0.X, card's versioning is now a little funny.
|
10
10
|
# For now decko 0.X.Y will map to card 1.(90+X).Y, and decko 1.X.Y will map to
|
@@ -13,10 +13,10 @@ version = [1, vminor, vbits[2]].compact.map(&:to_s).join "."
|
|
13
13
|
|
14
14
|
Gem::Specification.new do |s|
|
15
15
|
s.name = "card"
|
16
|
-
s.version =
|
16
|
+
s.version = card_version
|
17
17
|
|
18
18
|
s.authors =
|
19
|
-
["Ethan McCutchen", "Lewis Hoffman", "Gerry Gleason"
|
19
|
+
[ "Ethan McCutchen", "Philipp Kühl", "Lewis Hoffman", "Gerry Gleason" ]
|
20
20
|
s.email = ["info@decko.org"]
|
21
21
|
|
22
22
|
s.summary = "a simple engine for emergent data structures"
|
@@ -45,30 +45,37 @@ Gem::Specification.new do |s|
|
|
45
45
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
46
46
|
s.require_paths = ["lib"]
|
47
47
|
|
48
|
-
s.required_ruby_version = ">= 2.
|
48
|
+
s.required_ruby_version = ">= 2.2.2"
|
49
49
|
|
50
50
|
[
|
51
|
-
["
|
52
|
-
["
|
53
|
-
["
|
54
|
-
|
51
|
+
["cardname", version],
|
52
|
+
["haml", "~> 5.0"], # markup language used in view API
|
53
|
+
["uuid", "~> 2.3"], # universally unique identifier.
|
54
|
+
# used in temporary names
|
55
|
+
["colorize", "~> 0.8"], # livelier cli outputs
|
56
|
+
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
57
|
+
# MOVE TO MODS?
|
58
|
+
|
59
|
+
# files and images
|
60
|
+
["carrierwave", "~> 1.1"],
|
55
61
|
["mini_magick", "~> 4.2"],
|
56
|
-
|
57
|
-
|
62
|
+
|
63
|
+
# assets (JavaScript, CSS, etc)
|
58
64
|
["coderay", "~> 1.1"],
|
59
65
|
["sass", "~> 3.4"],
|
60
66
|
["coffee-script", "~> 2.4"],
|
61
67
|
["uglifier", "~> 3.2"],
|
62
|
-
|
63
|
-
|
64
|
-
["kaminari", "~> 0
|
65
|
-
["
|
66
|
-
|
67
|
-
#
|
68
|
-
|
69
|
-
["
|
70
|
-
["twitter", "6.1
|
71
|
-
|
68
|
+
|
69
|
+
# pagination
|
70
|
+
["kaminari", "~> 1.0"],
|
71
|
+
["bootstrap4-kaminari-views", "~> 1.0"],
|
72
|
+
|
73
|
+
# other
|
74
|
+
["diff-lcs", "~> 1.3"], # content diffs in histories
|
75
|
+
["recaptcha", "~> 4.3"],
|
76
|
+
["twitter", "~> 6.1"] # for event-based integration
|
77
|
+
|
78
|
+
|
72
79
|
].each do |dep|
|
73
80
|
s.add_runtime_dependency(*dep)
|
74
81
|
end
|
data/config/i18n-tasks.yml
CHANGED
@@ -56,7 +56,8 @@ search:
|
|
56
56
|
- mod/
|
57
57
|
|
58
58
|
## Root directories for relative keys resolution.
|
59
|
-
|
59
|
+
relative_roots:
|
60
|
+
- .
|
60
61
|
# - app/controllers
|
61
62
|
# - app/helpers
|
62
63
|
# - app/mailers
|
@@ -124,3 +125,9 @@ ignore_unused:
|
|
124
125
|
#
|
125
126
|
# <%#= I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
|
126
127
|
# patterns: [['\bSpree\.t[( ]\s*%{key}', 'spree.%{key}']] %>
|
128
|
+
# <%#= I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
|
129
|
+
# patterns: [['\btee[( ]%{key}', '#{path}.%{key}']] %>
|
130
|
+
|
131
|
+
#<%#= I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
|
132
|
+
# patterns: [['\baccount_link_text[( ]\s*%{key}', 'mod.account.set.self.account_links.%{key}']] %>
|
133
|
+
<% require './lib/card/set/i18n_scanner' %>
|
@@ -1,10 +1,7 @@
|
|
1
1
|
module CoreExtensions
|
2
2
|
module Module
|
3
|
-
RUBY_VERSION_18 = !!(RUBY_VERSION =~ /^1\.8/)
|
4
|
-
|
5
3
|
def const_get_if_defined const
|
6
|
-
|
7
|
-
const_get(*args) if const_defined?(*args)
|
4
|
+
const_get(const, false) if const_defined?(const, false)
|
8
5
|
end
|
9
6
|
|
10
7
|
def const_remove_if_defined const
|
@@ -23,5 +20,50 @@ module CoreExtensions
|
|
23
20
|
end
|
24
21
|
end
|
25
22
|
end
|
23
|
+
|
24
|
+
# Encapsulates the common pattern of:
|
25
|
+
#
|
26
|
+
# alias_method :foo_without_feature, :foo
|
27
|
+
# alias_method :foo, :foo_with_feature
|
28
|
+
#
|
29
|
+
# With this, you simply do:
|
30
|
+
#
|
31
|
+
# alias_method_chain :foo, :feature
|
32
|
+
#
|
33
|
+
# And both aliases are set up for you.
|
34
|
+
#
|
35
|
+
# Query and bang methods (foo?, foo!) keep the same punctuation:
|
36
|
+
#
|
37
|
+
# alias_method_chain :foo?, :feature
|
38
|
+
#
|
39
|
+
# is equivalent to
|
40
|
+
#
|
41
|
+
# alias_method :foo_without_feature?, :foo?
|
42
|
+
# alias_method :foo?, :foo_with_feature?
|
43
|
+
#
|
44
|
+
# so you can safely chain foo, foo?, foo! and/or foo= with the same feature.
|
45
|
+
#
|
46
|
+
# has been removed in rails 5
|
47
|
+
def alias_method_chain(target, feature)
|
48
|
+
# Strip out punctuation on predicates, bang or writer methods since
|
49
|
+
# e.g. target?_without_feature is not a valid method name.
|
50
|
+
aliased_target, punctuation = target.to_s.sub(/([?!=])$/, ''), $1
|
51
|
+
yield(aliased_target, punctuation) if block_given?
|
52
|
+
|
53
|
+
with_method = "#{aliased_target}_with_#{feature}#{punctuation}"
|
54
|
+
without_method = "#{aliased_target}_without_#{feature}#{punctuation}"
|
55
|
+
|
56
|
+
alias_method without_method, target
|
57
|
+
alias_method target, with_method
|
58
|
+
|
59
|
+
case
|
60
|
+
when public_method_defined?(without_method)
|
61
|
+
public target
|
62
|
+
when protected_method_defined?(without_method)
|
63
|
+
protected target
|
64
|
+
when private_method_defined?(without_method)
|
65
|
+
private target
|
66
|
+
end
|
67
|
+
end
|
26
68
|
end
|
27
69
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Patches
|
2
|
+
module ActionDispatch
|
3
|
+
# needed to make rails-dev-tweaks gem to work with rails 5
|
4
|
+
# based on this PR https://github.com/wavii/rails-dev-tweaks/pull/25/files
|
5
|
+
module Reloader
|
6
|
+
def cleanup!
|
7
|
+
::Rails.application.reloader.reload!
|
8
|
+
end
|
9
|
+
|
10
|
+
def prepare!
|
11
|
+
::Rails.application.reloader.prepare!
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Patches
|
2
|
+
module ActiveJob
|
3
|
+
# monkeypatch ActiveJob so that it can handle more types of arguments
|
4
|
+
module Arguments
|
5
|
+
CLASS_NAME_KEY = "_aj_class_name_key".freeze
|
6
|
+
|
7
|
+
private
|
8
|
+
|
9
|
+
def serialize_argument argument
|
10
|
+
case argument
|
11
|
+
when Symbol, Time, DateTime
|
12
|
+
{ value: argument.to_s, CLASS_NAME_KEY => argument.class.to_s }
|
13
|
+
when ActionController::Parameters
|
14
|
+
{ value: serialize_argument(argument.to_unsafe_h),
|
15
|
+
CLASS_NAME_KEY: argument.class.to_s }
|
16
|
+
else
|
17
|
+
super
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def deserialize_argument argument
|
22
|
+
return super unless argument.is_a?(Hash) &&
|
23
|
+
argument[CLASS_NAME_KEY]
|
24
|
+
case argument[CLASS_NAME_KEY]
|
25
|
+
when "Symbol"
|
26
|
+
argument[:value].to_sym
|
27
|
+
when "Time", "DateTime"
|
28
|
+
Object.const_get(argument[CLASS_NAME_KEY]).parse argument[:value]
|
29
|
+
else
|
30
|
+
argument[:value]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -17,3 +17,15 @@ end
|
|
17
17
|
class ActiveRecord::Relation
|
18
18
|
include Patches::ActiveRecord::Relation
|
19
19
|
end
|
20
|
+
|
21
|
+
module ActiveJob::Arguments
|
22
|
+
class << self
|
23
|
+
prepend Patches::ActiveJob::Arguments
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
module ActionDispatch
|
28
|
+
class Reloader
|
29
|
+
extend Patches::ActionDispatch::Reloader
|
30
|
+
end
|
31
|
+
end
|
@@ -29,9 +29,15 @@ end
|
|
29
29
|
Recaptcha.configure do |config|
|
30
30
|
# the seed task runs initializers so we have to check
|
31
31
|
# if the cards table is ready before we use it here
|
32
|
+
CONFIG_OPTIONS =
|
33
|
+
{
|
34
|
+
public_key: :site_key,
|
35
|
+
private_key: :secret_key,
|
36
|
+
proxy: :proxy
|
37
|
+
}
|
32
38
|
if card_table_ready?
|
33
|
-
|
34
|
-
config.send "#{setting}=", load_recaptcha_config(
|
39
|
+
CONFIG_OPTIONS.each do |codename, setting|
|
40
|
+
config.send "#{setting}=", load_recaptcha_config(codename)
|
35
41
|
end
|
36
42
|
end
|
37
43
|
end
|
data/config/locales/de.yml
CHANGED
@@ -35,10 +35,10 @@ de:
|
|
35
35
|
exception_not_implemented: "%{func} nicht implementiert"
|
36
36
|
codename:
|
37
37
|
exception_missing_codename: nicht vorhanden %{codename} %{code} (%{const})
|
38
|
-
|
38
|
+
error:
|
39
39
|
exception_for_card: "für Karte %{cardname}: %{message}"
|
40
40
|
format:
|
41
|
-
|
41
|
+
error:
|
42
42
|
exception_bad_arg: "falsches %{category} Argument: %{arg}"
|
43
43
|
exception_bad_args: "falsche %{category} Argumente: %{args}"
|
44
44
|
no_cardname: unbekannte Karte
|
@@ -211,11 +211,12 @@ de:
|
|
211
211
|
unfollow: nicht folgen
|
212
212
|
follow: folgen
|
213
213
|
notify:
|
214
|
+
follow_included: follow cards included by %{cardname}
|
214
215
|
followed_card: verfolgte Karte
|
215
216
|
follower: follower
|
216
217
|
new: neu
|
217
218
|
deleted: gelöscht
|
218
|
-
update_changes: "\
|
219
|
+
update_changes: "\nDieses Update beinhaltet folgende Änderungen:%{changes}"
|
219
220
|
right:
|
220
221
|
follow:
|
221
222
|
more_options: mehr Optionen
|
@@ -406,6 +407,8 @@ de:
|
|
406
407
|
delete_old: delete old
|
407
408
|
references: Verweise
|
408
409
|
repair_all: alle reparieren
|
410
|
+
view_cache: view cache
|
411
|
+
clear_view_cache: clear view cache
|
409
412
|
memory_now: memory now
|
410
413
|
clear_cache: clear cache
|
411
414
|
# memory previous
|
@@ -420,13 +423,6 @@ de:
|
|
420
423
|
cards_exist: Entschuldigung, diese Karten muss ein Kartentyp bleiben, solange es noch %{cardname}-Karten gibt.
|
421
424
|
add_card: Füge %{cardname} hinzu
|
422
425
|
error_cant_alter: kann dieseh Typ nicht ändern; es gibt noch %{name}-Karten
|
423
|
-
file:
|
424
|
-
file_error: Dateifehler
|
425
|
-
download: Download %{title}
|
426
|
-
delete: Löschen
|
427
|
-
add_item: Füge %{attachment_name} hinzu...
|
428
|
-
replace_item: Ersetze %{attachment_name}...
|
429
|
-
###### REVIEW PAUSED HERE
|
430
426
|
list:
|
431
427
|
type_right: benötigt einen Kartentypnamen als rechten Teil
|
432
428
|
conflict_item_type: name conflicts with list items' type; delete content first
|
@@ -494,18 +490,6 @@ de:
|
|
494
490
|
sign_in: Anmelden
|
495
491
|
invite: Einladen
|
496
492
|
sign_out: Abmelden
|
497
|
-
admin_info:
|
498
|
-
email_off: E-Mail-Versand ist ausgeschaltet. Ändere die Einstellungen in %{path}, damit Benachrichtigungen verschickt werden, wenn sich neue Nutzer registrieren.
|
499
|
-
admin_warn: ADMINISTRATOR WARNUNG
|
500
|
-
captcha_temp: Dein Deck arbeitet mit provisorischen Captcha-Einstellungen. Das ist kein Problem für eine lokale Installation, aber falls du diese Seite online stellst, benötigst Du neue Recaptcha-Schlüssel.
|
501
|
-
captcha_keys: Dein Deck ist so konfiguriert, dass es [[*captcha]] nutzt, aber damit das funktioniert, benötigst Du neue Recaptcha-Schlüssel.
|
502
|
-
instructions: Anleitungen
|
503
|
-
howto_add_keys: "Neue Recaptcha-Schlüssel hinzufügen:"
|
504
|
-
howto_register: 1. Registriere deine Domain bei %{recaptcha_link}
|
505
|
-
howto_add: 2. Füge deine Schlüssel zu %{recaptcha_settings} hinzu
|
506
|
-
howto_turn_off: 'Captcha ausschalten:'
|
507
|
-
howto_go: 1. Gehe zu %{captcha_card}
|
508
|
-
howto_update: 2. Ändere alle *captcha-Regeln zu "no".
|
509
493
|
signin:
|
510
494
|
sign_in_title: Anmelden
|
511
495
|
sign_in: Anmelden
|
@@ -547,4 +531,33 @@ de:
|
|
547
531
|
get_started: Um loszulegen, erstelle einen Account.
|
548
532
|
email_off: "WARNING: E-Mail-Versand ist deaktiviert. Ändere die Einstellung in %{path} um bei neuen Registrierungen Benachrichtigungen zu senden."
|
549
533
|
set_up: Anlegen
|
550
|
-
setting_up: Lege an
|
534
|
+
setting_up: Lege an
|
535
|
+
:carrierwave:
|
536
|
+
set:
|
537
|
+
abstract:
|
538
|
+
attachment:
|
539
|
+
error_invalid_storage_type: "%{type} is not a valid file storage option"
|
540
|
+
type:
|
541
|
+
file:
|
542
|
+
file_error: Dateifehler
|
543
|
+
download: Download %{title}
|
544
|
+
delete: Löschen
|
545
|
+
add_item: Füge %{attachment_name} hinzu...
|
546
|
+
replace_item: Ersetze %{attachment_name}...
|
547
|
+
###### REVIEW PAUSED HERE
|
548
|
+
:admin:
|
549
|
+
set:
|
550
|
+
self:
|
551
|
+
admin_info:
|
552
|
+
email_off: E-Mail-Versand ist ausgeschaltet. Ändere die Einstellungen in %{path}, damit Benachrichtigungen verschickt werden, wenn sich neue Nutzer registrieren.
|
553
|
+
admin_warn: ADMINISTRATOR WARNUNG
|
554
|
+
captcha_temp: Dein Deck arbeitet mit provisorischen Captcha-Einstellungen. Das ist kein Problem für eine lokale Installation, aber falls du diese Seite online stellst, benötigst Du neue Recaptcha-Schlüssel.
|
555
|
+
captcha_keys: Dein Deck ist so konfiguriert, dass es [[*captcha]] nutzt, aber damit das funktioniert, benötigst Du neue Recaptcha-Schlüssel.
|
556
|
+
instructions: Anleitungen
|
557
|
+
howto_add_keys: "Neue Recaptcha-Schlüssel hinzufügen:"
|
558
|
+
howto_register: Registriere deine Domain bei %{recaptcha_link}
|
559
|
+
howto_add: Füge deine Schlüssel zu %{recaptcha_settings} hinzu
|
560
|
+
howto_turn_off: 'Captcha ausschalten:'
|
561
|
+
howto_go: Gehe zu %{captcha_card}
|
562
|
+
howto_update: Ändere alle *captcha-Regeln zu "no".
|
563
|
+
|