card 1.18.6 → 1.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +3 -0
- data/README_Developers.rdoc +9 -9
- data/VERSION +1 -1
- data/card.gemspec +28 -31
- data/config/i18n-tasks.yml +126 -0
- data/config/initializers/01_core_extensions/hash.rb +4 -4
- data/config/initializers/01_core_extensions/module.rb +9 -0
- data/config/initializers/01_core_extensions/object.rb +5 -1
- data/config/initializers/02_extensions/kaminari.rb +1 -1
- data/config/initializers/inflections.rb +4 -4
- data/config/initializers/internationalization.rb +44 -0
- data/config/initializers/mime_types.rb +2 -2
- data/config/initializers/recaptcha.rb +10 -5
- data/config/initializers/uuid_state_file.rb +2 -2
- data/config/locales/de.yml +552 -0
- data/config/locales/en.yml +70 -0
- data/config/simplecov_helper.rb +70 -0
- data/db/migrate/20110511221913_require_earlier_migrations.rb +2 -2
- 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/20121118115000_update_link_type.rb +7 -7
- data/db/migrate/20140822073704_create_new_revision_tables.rb +5 -5
- data/db/migrate/20141001105348_move_revisions_to_actions.rb +8 -8
- data/db/migrate/20141121172918_rename_card_migration_table.rb +2 -2
- data/db/migrate/20141216053032_better_index_names.rb +13 -13
- data/db/migrate/20160122153608_new_indeces.rb +5 -5
- data/db/migrate_core_cards/20120611203506_rails_inflection_updates.rb +5 -5
- data/db/migrate_core_cards/20130411191151_renaming_for_menu.rb +11 -11
- data/db/migrate_core_cards/20130411211600_delete_old_related_tab_cards.rb +7 -7
- data/db/migrate_core_cards/20130419215612_import_help_text.rb +4 -4
- data/db/migrate_core_cards/20130823192433_add_style_cards.rb +15 -15
- data/db/migrate_core_cards/20130910183318_move_styles_to_content.rb +3 -3
- data/db/migrate_core_cards/20130920214038_jsonize_tinymce.rb +2 -2
- data/db/migrate_core_cards/20130920291703_update_stylesheets.rb +4 -4
- data/db/migrate_core_cards/20130927191728_account_events.rb +6 -6
- data/db/migrate_core_cards/20131016172445_common_css_patch.rb +3 -3
- data/db/migrate_core_cards/20140110193325_reset_account_request_type.rb +1 -1
- data/db/migrate_core_cards/20140307231621_user_data_to_cards.rb +13 -13
- data/db/migrate_core_cards/20140317035504_account_requests_to_signups.rb +5 -5
- data/db/migrate_core_cards/20140512155840_add_script_cards.rb +13 -13
- data/db/migrate_core_cards/20140629222005_add_email_cards.rb +22 -22
- data/db/migrate_core_cards/20140725180118_config_card_updates.rb +3 -3
- data/db/migrate_core_cards/20141111083921_delete_machine_output.rb +2 -2
- data/db/migrate_core_cards/20141115034214_config_descriptions_etc.rb +4 -4
- data/db/migrate_core_cards/20141119001955_make_symlinks_relative.rb +2 -2
- data/db/migrate_core_cards/20141120120605_fix_notification_html_message.rb +3 -3
- data/db/migrate_core_cards/20141204061304_watchers_to_following.rb +3 -3
- data/db/migrate_core_cards/20141208132416_partial_reference_type.rb +1 -1
- data/db/migrate_core_cards/20141216155251_add_more_following_cards.rb +14 -14
- data/db/migrate_core_cards/20141230204340_uri_codename.rb +2 -2
- data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +21 -21
- data/db/migrate_core_cards/20150220134731_following_to_follow_rule.rb +4 -4
- data/db/migrate_core_cards/20150317162412_bootstrap_themes.rb +9 -9
- data/db/migrate_core_cards/20150326205655_bootswatch_themes.rb +9 -9
- data/db/migrate_core_cards/20150331135745_new_card_menu.rb +1 -1
- data/db/migrate_core_cards/20150429090551_search_card_context.rb +6 -6
- data/db/migrate_core_cards/20150501010515_responsive_sidebar.rb +3 -3
- data/db/migrate_core_cards/20150508212032_menu_compatibility.rb +2 -2
- data/db/migrate_core_cards/20150510031118_fix_skin_images.rb +2 -2
- data/db/migrate_core_cards/20150528084659_add_session_cardtype.rb +9 -6
- data/db/migrate_core_cards/20150601133433_add_recent_setting_session_card.rb +7 -7
- data/db/migrate_core_cards/20150605115802_add_performance_log_card.rb +2 -2
- data/db/migrate_core_cards/20150610171702_add_debugger_session_card.rb +5 -5
- data/db/migrate_core_cards/20150610180019_add_recaptcha_key_and_admin_info_cards.rb +10 -10
- data/db/migrate_core_cards/20150627205133_fix_script_bootstrap_card_type.rb +1 -1
- data/db/migrate_core_cards/20150702130543_remove_edit_toolbar_pinned.rb +1 -1
- data/db/migrate_core_cards/20150708224756_add_list_cards.rb +11 -11
- data/db/migrate_core_cards/20150724123438_update_file_and_image_cards.rb +78 -49
- data/db/migrate_core_cards/20150807205221_create_references_for_search_cards.rb +1 -1
- data/db/migrate_core_cards/20150824135418_update_file_history.rb +3 -3
- data/db/migrate_core_cards/20150903130006_attachment_upload_cards.rb +6 -6
- data/db/migrate_core_cards/20150910085603_remove_performance_log_card.rb +1 -1
- data/db/migrate_core_cards/20151120180631_add_token_expiration.rb +1 -1
- data/db/migrate_core_cards/20160801143221_change_bootstrap_card_type_to_scss.rb +9 -0
- data/db/migrate_core_cards/20160801175002_add_machine_cache_card.rb +7 -0
- data/db/migrate_core_cards/20160804112510_reorganize_scripts.rb +26 -0
- data/db/migrate_core_cards/20160811115836_rename_stats_to_admin.rb +8 -0
- data/db/migrate_core_cards/data/skin_images.json +16 -16
- data/db/schema.rb +15 -9
- data/db/seed/new/card_actions.yml +802 -650
- data/db/seed/new/card_acts.yml +208 -184
- data/db/seed/new/card_changes.yml +5195 -4709
- data/db/seed/new/card_references.yml +628 -677
- data/db/seed/new/cards.yml +3964 -3615
- data/db/seed/test/fixtures/card_actions.yml +1884 -1732
- data/db/seed/test/fixtures/card_acts.yml +466 -544
- data/db/seed/test/fixtures/card_changes.yml +8435 -7998
- data/db/seed/test/fixtures/card_references.yml +1057 -1092
- data/db/seed/test/fixtures/cards.yml +6007 -5656
- data/db/seed/test/seed.rb +99 -103
- data/db/version_core_cards.txt +1 -1
- data/lib/active_record/connection_adapters_ext.rb +52 -0
- data/lib/active_support/callbacks_ext.rb +9 -0
- data/lib/card.rb +25 -25
- data/lib/card/auth.rb +20 -215
- data/lib/card/auth/current.rb +130 -0
- data/lib/card/auth/permissions.rb +60 -0
- data/lib/card/auth/proxy.rb +58 -0
- data/lib/card/auth/setup.rb +38 -0
- data/lib/card/cache.rb +108 -68
- data/lib/card/cache/persistent.rb +118 -78
- data/lib/card/cache/prepopulate.rb +26 -0
- data/lib/card/cache/temporary.rb +54 -35
- data/lib/card/cache/view_cache.rb +103 -0
- data/lib/card/codename.rb +50 -31
- data/lib/card/content.rb +65 -153
- data/lib/card/content/chunk.rb +28 -10
- data/lib/card/content/clean.rb +84 -0
- data/lib/card/content/diff.rb +71 -0
- data/lib/card/content/diff/lcs.rb +94 -0
- data/lib/card/content/diff/processor.rb +161 -0
- data/lib/card/content/diff/result.rb +145 -0
- data/lib/card/content/parser.rb +78 -50
- data/lib/card/content/truncate.rb +62 -0
- data/lib/card/director_register.rb +29 -6
- data/lib/card/env.rb +49 -66
- data/lib/card/env/location.rb +44 -0
- data/lib/card/env/location_history.rb +52 -0
- data/lib/card/env/success.rb +144 -0
- data/lib/card/error.rb +95 -0
- data/lib/card/format.rb +54 -152
- data/lib/card/format/content.rb +57 -0
- data/lib/card/format/error.rb +27 -0
- data/lib/card/format/names.rb +47 -0
- data/lib/card/format/nest.rb +47 -141
- data/lib/card/format/nest/fetch.rb +52 -0
- data/lib/card/format/nest/main.rb +36 -0
- data/lib/card/format/nest/subformat.rb +32 -0
- data/lib/card/format/nest/view.rb +74 -0
- data/lib/card/format/registration.rb +69 -0
- data/lib/card/format/render.rb +43 -68
- data/lib/card/mailer.rb +2 -2
- data/lib/card/migration.rb +8 -8
- data/lib/card/migration/core.rb +10 -0
- data/lib/card/migration/import.rb +105 -0
- data/lib/card/migration/import/import_data.rb +135 -0
- data/lib/card/mod/dirs.rb +72 -0
- data/lib/card/mod/loader.rb +176 -0
- data/lib/card/model/save_helper.rb +61 -0
- data/lib/card/name.rb +13 -10
- data/lib/card/name/view_name.rb +48 -0
- data/lib/card/query.rb +30 -26
- data/lib/card/query/attributes.rb +4 -4
- data/lib/card/query/conjunctions.rb +1 -1
- data/lib/card/query/interpretation.rb +4 -3
- data/lib/card/query/join.rb +6 -6
- data/lib/card/query/reference.rb +7 -7
- data/lib/card/query/relational_attributes.rb +9 -9
- data/lib/card/query/sorting.rb +13 -13
- data/lib/card/query/sql_statement.rb +17 -17
- data/lib/card/query/value.rb +7 -7
- data/lib/card/reference.rb +7 -7
- data/lib/card/set.rb +5 -2
- data/lib/card/set/advanced_api.rb +44 -0
- data/lib/card/set/basket.rb +52 -0
- data/lib/card/set/event.rb +73 -42
- data/lib/card/set/format.rb +4 -17
- data/lib/card/set/helpers.rb +4 -78
- data/lib/card/set/inheritance.rb +57 -0
- data/lib/card/set/loader.rb +26 -26
- data/lib/card/set_pattern.rb +162 -149
- data/lib/card/stage.rb +23 -14
- data/lib/card/stage_director.rb +81 -32
- data/lib/card/subcards.rb +78 -70
- data/lib/card/subdirector_array.rb +3 -4
- data/lib/card/tasks/card.rake +57 -0
- data/lib/card/version.rb +1 -1
- data/lib/cardio.rb +34 -77
- data/lib/cardio/schema.rb +41 -0
- data/lib/generators/card.rb +4 -4
- data/lib/generators/card/format/USAGE +3 -3
- data/lib/generators/card/format/format_generator.rb +10 -10
- data/lib/generators/card/migration/migration_generator.rb +7 -7
- data/lib/generators/card/set/USAGE +6 -6
- data/lib/generators/card/set/set_generator.rb +10 -10
- data/mod/Modfile +18 -0
- data/mod/account/set/all/account.rb +65 -0
- data/mod/account/set/right/account.rb +189 -0
- data/mod/account/set/right/email.rb +54 -0
- data/mod/account/set/right/password.rb +47 -0
- data/mod/account/set/right/salt.rb +5 -0
- data/mod/account/set/right/status.rb +9 -0
- data/mod/account/set/right/token.rb +50 -0
- data/mod/account/set/self/account_links.rb +65 -0
- data/mod/account/set/self/signin.rb +158 -0
- data/mod/account/set/type/signup.rb +168 -0
- data/mod/account/set/type/user.rb +81 -0
- data/mod/account/spec/set/all/account_spec.rb +138 -0
- data/mod/account/spec/set/right/account_spec.rb +187 -0
- data/mod/account/spec/set/right/email_spec.rb +53 -0
- data/mod/account/spec/set/right/password_spec.rb +41 -0
- data/mod/account/spec/set/right/salt_spec.rb +6 -0
- data/mod/{05_standard → account}/spec/set/right/status_spec.rb +0 -0
- data/mod/account/spec/set/right/token_spec.rb +23 -0
- data/mod/account/spec/set/self/account_links_spec.rb +10 -0
- data/mod/account/spec/set/self/signin_spec.rb +69 -0
- data/mod/account/spec/set/type/signup_spec.rb +242 -0
- data/mod/{05_standard → account}/spec/set/type/user_spec.rb +0 -0
- data/mod/ace_editor/db/migrate_cards/20160804112538_add_ace_cards.rb +30 -0
- data/mod/{03_machines → ace_editor}/lib/javascript/script_ace.js +0 -0
- data/mod/ace_editor/lib/javascript/script_ace_config.js.coffee +71 -0
- data/mod/ace_editor/set/abstract/ace_editor.rb +11 -0
- data/mod/ace_editor/set/self/script_ace.rb +3 -0
- data/mod/ace_editor/set/self/script_ace_config.rb +5 -0
- data/mod/admin/set/self/admin.rb +106 -0
- data/mod/admin/set/self/admin_info.rb +103 -0
- data/mod/admin/set/self/version.rb +8 -0
- data/mod/admin/spec/set/self/admin_spec.rb +50 -0
- data/mod/admin/spec/set/self/version_spec.rb +7 -0
- data/mod/basic_formats/format/css_format.rb +8 -0
- data/mod/basic_formats/format/csv_format.rb +8 -0
- data/mod/basic_formats/format/file_format.rb +7 -0
- data/mod/basic_formats/format/js_format.rb +8 -0
- data/mod/basic_formats/format/json_format.rb +8 -0
- data/mod/basic_formats/format/rss_format.rb +12 -0
- data/mod/basic_formats/format/xml_format.rb +8 -0
- data/mod/basic_formats/set/all/all_css.rb +38 -0
- data/mod/basic_formats/set/all/all_csv.rb +49 -0
- data/mod/{02_basic_types → basic_formats}/set/all/all_js.rb +0 -0
- data/mod/basic_formats/set/all/base.rb +148 -0
- data/mod/basic_formats/set/all/file.rb +9 -0
- data/mod/basic_formats/set/all/json.rb +69 -0
- data/mod/basic_formats/set/all/rss.rb +70 -0
- data/mod/{02_basic_types → basic_formats}/set/all/text.rb +0 -0
- data/mod/basic_formats/set/self/01_head/javascript.rb +73 -0
- data/mod/basic_formats/set/self/head.rb +94 -0
- data/mod/basic_types/set/type/html.rb +19 -0
- data/mod/basic_types/set/type/plain_text.rb +12 -0
- data/mod/basic_types/spec/set/all/all_css_spec.rb +10 -0
- data/mod/basic_types/spec/set/all/all_csv_spec.rb +11 -0
- data/mod/basic_types/spec/set/all/base_spec.rb +89 -0
- data/mod/{02_basic_types → basic_types}/spec/set/all/file_spec.rb +0 -0
- data/mod/basic_types/spec/set/all/json_spec.rb +34 -0
- data/mod/basic_types/spec/set/all/rss_spec.rb +22 -0
- data/mod/{02_basic_types → basic_types}/spec/set/all/text_spec.rb +0 -0
- data/mod/basic_types/spec/set/type/plain_text_spec.rb +12 -0
- data/mod/basic_types/spec/set/type/pointer_spec.rb +217 -0
- data/mod/{06_bootstrap → bootstrap}/file/cerulean_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cerulean_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cerulean_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cerulean_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cerulean_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cosmo_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cosmo_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cosmo_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cosmo_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cosmo_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cyborg_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cyborg_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cyborg_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cyborg_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/cyborg_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/darkly_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/darkly_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/darkly_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/darkly_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/darkly_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/flatly_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/flatly_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/flatly_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/flatly_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/flatly_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/journal_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/journal_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/journal_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/journal_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/journal_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/lumen_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/lumen_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/lumen_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/lumen_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/lumen_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/paper_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/paper_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/paper_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/paper_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/paper_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/readable_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/readable_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/readable_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/readable_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/readable_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/sandstone_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/sandstone_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/sandstone_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/sandstone_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/sandstone_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/simplex_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/simplex_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/simplex_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/simplex_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/simplex_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/slate_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/slate_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/slate_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/slate_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/slate_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/spacelab_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/spacelab_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/spacelab_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/spacelab_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/spacelab_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/superhero_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/superhero_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/superhero_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/superhero_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/superhero_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/united_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/united_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/united_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/united_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/united_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/yeti_skin_image/image-icon.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/yeti_skin_image/image-large.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/yeti_skin_image/image-medium.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/yeti_skin_image/image-original.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/file/yeti_skin_image/image-small.png +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/javascript/bootstrap.js +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/javascript/bootstrap.min.js +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/javascript/bootstrap_modal_wagn.js +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/javascript/smartmenu.js +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_alerts.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_badges.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_breadcrumbs.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_button-groups.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_buttons.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_carousel.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_close.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_code.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_component-animations.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_dropdowns.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_forms.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_glyphicons.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_grid.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_input-groups.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_jumbotron.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_labels.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_list-group.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_media.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_mixins.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_modals.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_navbar.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_navs.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_normalize.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_pager.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_pagination.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_panels.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_popovers.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_print.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_progress-bars.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_responsive-embed.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_responsive-utilities.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_scaffolding.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_tables.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_theme.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_thumbnails.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_tooltip.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_type.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_utilities.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_variables.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/_wells.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_alerts.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_background-variant.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_border-radius.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_buttons.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_center-block.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_clearfix.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_forms.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_gradients.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_grid.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_hide-text.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_image.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_labels.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_list-group.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_opacity.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_pagination.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_panels.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_progress-bar.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_resize.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_size.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_table-row.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/bootstrap_cards.scss +0 -0
- data/mod/{06_bootstrap → bootstrap}/lib/stylesheets/smartmenu.css +0 -0
- data/mod/bootstrap/set/all/bootstrap/form.rb +35 -0
- data/mod/bootstrap/set/all/bootstrap/helper.rb +229 -0
- data/mod/bootstrap/set/all/bootstrap/table.rb +61 -0
- data/mod/bootstrap/set/all/bootstrap/tabs.rb +81 -0
- data/mod/bootstrap/set/all/bootstrap/wrapper.rb +11 -0
- data/mod/bootstrap/set/all/rich_bootstrap.rb +6 -0
- data/mod/{06_bootstrap → bootstrap}/set/self/bootstrap_cards.rb +0 -0
- data/mod/bootstrap/set/self/bootstrap_js.rb +5 -0
- data/mod/bootstrap/set/self/bootswatch_shared.rb +40 -0
- data/mod/bootstrap/set/self/script_mods.rb +1 -0
- data/mod/bootstrap/set/self/smartmenu_css.rb +5 -0
- data/mod/bootstrap/set/self/smartmenu_js.rb +5 -0
- data/mod/bootstrap/spec/set/all/bootstrap/form_spec.rb +15 -0
- data/mod/carrierwave/lib/carrier_wave/cardmount.rb +113 -0
- data/mod/carrierwave/lib/carrier_wave/file_card_uploader.rb +152 -0
- data/mod/carrierwave/lib/carrier_wave/image_card_uploader.rb +54 -0
- data/mod/carrierwave/set/abstract/attachment.rb +275 -0
- data/mod/carrierwave/set/type/file.rb +148 -0
- data/mod/carrierwave/set/type/image.rb +89 -0
- data/mod/core/chunk/include.rb +129 -0
- data/mod/core/chunk/link.rb +96 -0
- data/mod/core/chunk/literal.rb +27 -0
- data/mod/core/chunk/query_reference.rb +83 -0
- data/mod/{01_core → core}/chunk/reference.rb +0 -0
- data/mod/core/chunk/uri.rb +144 -0
- data/mod/core/format/data_format.rb +6 -0
- data/mod/core/format/html_format.rb +78 -0
- data/mod/core/format/text_format.rb +11 -0
- data/mod/{01_core → core}/layout/blank.html +0 -0
- data/mod/{01_core → core}/layout/default.html +0 -0
- data/mod/{01_core → core}/layout/modal.html +0 -0
- data/mod/{01_core → core}/layout/noside.html +0 -0
- data/mod/{01_core → core}/layout/pre.html +0 -0
- data/mod/{01_core → core}/layout/simple.html +0 -0
- data/mod/core/set/abstract/code_file.rb +72 -0
- data/mod/core/set/all/actify.rb +94 -0
- data/mod/{01_core → core}/set/all/active_card.rb +0 -0
- data/mod/core/set/all/collection.rb +306 -0
- data/mod/core/set/all/content.rb +62 -0
- data/mod/core/set/all/erb.rb +11 -0
- data/mod/core/set/all/event.rb +55 -0
- data/mod/core/set/all/export.rb +42 -0
- data/mod/core/set/all/fetch.rb +328 -0
- data/mod/{01_core → core}/set/all/haml.rb +0 -0
- data/mod/core/set/all/initialize.rb +35 -0
- data/mod/{01_core → core}/set/all/location_history.rb +0 -0
- data/mod/core/set/all/name.rb +275 -0
- data/mod/core/set/all/name_validations.rb +58 -0
- data/mod/core/set/all/pattern.rb +60 -0
- data/mod/core/set/all/permissions.rb +302 -0
- data/mod/core/set/all/phases.rb +16 -0
- data/mod/core/set/all/references.rb +180 -0
- data/mod/core/set/all/rules.rb +304 -0
- data/mod/core/set/all/stages.rb +24 -0
- data/mod/core/set/all/states.rb +24 -0
- data/mod/core/set/all/subcards.rb +78 -0
- data/mod/core/set/all/templating.rb +71 -0
- data/mod/core/set/all/tracked_attributes.rb +147 -0
- data/mod/core/set/all/trash.rb +56 -0
- data/mod/core/set/all/type.rb +53 -0
- data/mod/core/set/all/utils.rb +129 -0
- data/mod/core/set/all/view_cache.rb +9 -0
- data/mod/core/set_pattern/01_all.rb +11 -0
- data/mod/core/set_pattern/02_all_plus.rb +13 -0
- data/mod/{01_core → core}/set_pattern/03_type.rb +0 -0
- data/mod/core/set_pattern/04_star.rb +15 -0
- data/mod/core/set_pattern/05_rstar.rb +17 -0
- data/mod/{01_core → core}/set_pattern/06_right.rb +0 -0
- data/mod/core/set_pattern/07_type_plus_right.rb +26 -0
- data/mod/{01_core → core}/set_pattern/08_self.rb +0 -0
- data/mod/core/spec/chunk/literal_spec.rb +13 -0
- data/mod/core/spec/chunk/uri_spec.rb +297 -0
- data/mod/core/spec/format/data_format_spec.rb +5 -0
- data/mod/core/spec/format/html_format_spec.rb +153 -0
- data/mod/core/spec/format/text_format_spec.rb +5 -0
- data/mod/core/spec/set/all/actify_spec.rb +139 -0
- data/mod/{01_core → core}/spec/set/all/active_card_spec.rb +0 -0
- data/mod/{01_core → core}/spec/set/all/attribute_tracking_spec.rb +0 -0
- data/mod/core/spec/set/all/collection_spec.rb +162 -0
- data/mod/core/spec/set/all/content_spec.rb +15 -0
- data/mod/core/spec/set/all/export_spec.rb +135 -0
- data/mod/core/spec/set/all/fetch_spec.rb +285 -0
- data/mod/core/spec/set/all/initialize_spec.rb +88 -0
- data/mod/core/spec/set/all/name_spec.rb +60 -0
- data/mod/core/spec/set/all/pattern_spec.rb +94 -0
- data/mod/core/spec/set/all/permissions_spec.rb +536 -0
- data/mod/{01_core → core}/spec/set/all/phases_spec.rb +0 -0
- data/mod/core/spec/set/all/references_spec.rb +9 -0
- data/mod/core/spec/set/all/rules2_spec.rb +247 -0
- data/mod/core/spec/set/all/rules_spec.rb +137 -0
- data/mod/{01_core → core}/spec/set/all/states_spec.rb +0 -0
- data/mod/core/spec/set/all/templating_spec.rb +119 -0
- data/mod/core/spec/set/all/tracked_attributes_spec.rb +314 -0
- data/mod/core/spec/set/all/trash_spec.rb +81 -0
- data/mod/core/spec/set/all/type_spec.rb +51 -0
- data/mod/{01_core → core}/spec/set/all/utils_spec.rb +0 -0
- data/mod/developer/db/migrate_cards/20160812112513_add_developer_cards.rb +11 -0
- data/mod/developer/set/all/event_viz.rb +52 -0
- data/mod/developer/set/all/view_viz.rb +23 -0
- data/mod/developer/set/right/debug.rb +89 -0
- data/mod/{05_standard → developer}/spec/set/all/event_viz_spec.rb +0 -0
- data/mod/developer/spec/set/right/debug_spec.rb +12 -0
- data/mod/email/format/email_html_format.rb +12 -0
- data/mod/email/format/email_text_format.rb +15 -0
- data/mod/email/lib/card/follow_option.rb +89 -0
- data/mod/email/set/all/email_html.rb +4 -0
- data/mod/email/set/all/email_text.rb +5 -0
- data/mod/email/set/all/follow.rb +246 -0
- data/mod/email/set/all/notify.rb +264 -0
- data/mod/{05_email → email}/set/all/observer.rb +0 -0
- data/mod/email/set/right/bcc.rb +40 -0
- data/mod/{05_email → email}/set/right/cc.rb +0 -0
- data/mod/email/set/right/follow.rb +99 -0
- data/mod/{05_email → email}/set/right/follow_fields.rb +0 -0
- data/mod/email/set/right/followers.rb +34 -0
- data/mod/email/set/right/following.rb +58 -0
- data/mod/{05_email → email}/set/right/from.rb +0 -0
- data/mod/{05_email → email}/set/right/html_message.rb +0 -0
- data/mod/{05_email → email}/set/right/to.rb +0 -0
- data/mod/email/set/self/always.rb +13 -0
- data/mod/email/set/self/created.rb +19 -0
- data/mod/email/set/self/edited.rb +20 -0
- data/mod/{05_email → email}/set/self/follow.rb +0 -0
- data/mod/email/set/self/follow_defaults.rb +68 -0
- data/mod/email/set/self/never.rb +13 -0
- data/mod/email/set/type/email_template.rb +126 -0
- data/mod/email/set/type_plus_right/user/follow.rb +177 -0
- data/mod/email/spec/set/all/follow_spec.rb +134 -0
- data/mod/email/spec/set/all/notify_spec.rb +396 -0
- data/mod/email/spec/set/all/observer_spec.rb +98 -0
- data/mod/email/spec/set/right/followers_spec.rb +121 -0
- data/mod/{05_email → email}/spec/set/right/following_spec.rb +0 -0
- data/mod/email/spec/set/self/follow_defaults_spec.rb +18 -0
- data/mod/history/lib/card/act.rb +116 -0
- data/mod/history/lib/card/action.rb +178 -0
- data/mod/history/lib/card/action/admin.rb +30 -0
- data/mod/history/lib/card/action/differ.rb +53 -0
- data/mod/history/lib/card/change.rb +68 -0
- data/mod/history/set/all/actions.rb +53 -0
- data/mod/history/set/all/content_history.rb +161 -0
- data/mod/history/set/all/history.rb +400 -0
- data/mod/machines/lib/card/machine.rb +261 -0
- data/mod/machines/lib/card/machine_input.rb +80 -0
- data/mod/{03_machines → machines}/lib/javascript/jquery-ui.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/jquery.autosize.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/jquery.fileupload.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/jquery.iframe-transport.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/jquery.ui.autocomplete.html.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/jquery_ujs.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/jquerymobile.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/script_card_menu.js.coffee +0 -0
- data/mod/{03_machines → machines}/lib/javascript/script_html5shiv_printshiv.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/script_jquery.js +0 -0
- data/mod/{03_machines → machines}/lib/javascript/theme-textmate.js +0 -0
- data/mod/machines/lib/javascript/wagn.js.coffee +387 -0
- data/mod/machines/lib/javascript/wagn_editor.js.coffee +33 -0
- data/mod/machines/lib/javascript/wagn_layout.js.coffee +61 -0
- data/mod/machines/lib/javascript/wagn_mod.js.coffee +237 -0
- data/mod/machines/lib/javascript/wagn_navbox.js.coffee +72 -0
- data/mod/machines/lib/javascript/wagn_upload.js.coffee +57 -0
- data/mod/{03_machines → machines}/lib/stylesheets/style_bootstrap_compatible.css +0 -0
- data/mod/machines/lib/stylesheets/style_cards.scss +934 -0
- data/mod/{03_machines → machines}/lib/stylesheets/style_jquery_ui_smoothness.css +0 -0
- data/mod/machines/set/abstract/script.rb +42 -0
- data/mod/machines/set/all/reset_machines.rb +12 -0
- data/mod/machines/set/right/machine_cache.rb +11 -0
- data/mod/{03_machines → machines}/set/right/machine_input.rb +0 -0
- data/mod/{03_machines → machines}/set/right/machine_output.rb +0 -0
- data/mod/{03_machines → machines}/set/self/script_card_menu.rb +0 -0
- data/mod/{03_machines → machines}/set/self/script_html5shiv_printshiv.rb +0 -0
- data/mod/{03_machines → machines}/set/self/script_jquery.rb +0 -0
- data/mod/{03_machines → machines}/set/self/script_jquery_helper.rb +0 -0
- data/mod/machines/set/self/script_slot.rb +7 -0
- data/mod/{03_machines → machines}/set/self/style_bootstrap_compatible.rb +0 -0
- data/mod/{03_machines → machines}/set/self/style_cards.rb +0 -0
- data/mod/{03_machines → machines}/set/self/style_jquery_ui_smoothness.rb +0 -0
- data/mod/machines/set/type/coffee_script.rb +40 -0
- data/mod/machines/set/type/css.rb +60 -0
- data/mod/machines/set/type/java_script.rb +29 -0
- data/mod/machines/set/type/scss.rb +14 -0
- data/mod/machines/set/type/skin.rb +6 -0
- data/mod/machines/spec/lib/shared_machine_examples.rb +181 -0
- data/mod/machines/spec/lib/shared_machine_input_examples.rb +69 -0
- data/mod/{03_machines → machines}/spec/set/right/machine_output_spec.rb +0 -0
- data/mod/{03_machines → machines}/spec/set/self/style_jquery_ui_smoothness_spec.rb +0 -0
- data/mod/machines/spec/set/type/coffeescript_spec.rb +41 -0
- data/mod/machines/spec/set/type/css_spec.rb +40 -0
- data/mod/machines/spec/set/type/javascript_spec.rb +44 -0
- data/mod/machines/spec/set/type/scss_spec.rb +62 -0
- data/mod/machines/spec/set/type/skin_spec.rb +84 -0
- data/mod/pointer/db/migrate_cards/20160804112340_add_pointer_cards.rb +9 -0
- data/mod/pointer/lib/javascript/script_pointer_config.js.coffee +41 -0
- data/mod/pointer/set/abstract/01_pointer.rb +186 -0
- data/mod/pointer/set/abstract/01_pointer/edit.rb +217 -0
- data/mod/pointer/set/abstract/code_pointer.rb +9 -0
- data/mod/pointer/set/self/script_editors.rb +1 -0
- data/mod/pointer/set/self/script_mods.rb +1 -0
- data/mod/pointer/set/self/script_pointer_config.rb +3 -0
- data/mod/pointer/set/type/pointer.rb +1 -0
- data/mod/prosemirror_editor/db/migrate_cards/20160804112547_add_prosemirror_cards.rb +27 -0
- data/mod/prosemirror_editor/lib/javascript/script_prosemirror.js +12403 -0
- data/mod/prosemirror_editor/lib/javascript/script_prosemirror_config.js.coffee +31 -0
- data/mod/prosemirror_editor/set/abstract/prosemirror_editor.rb +7 -0
- data/mod/prosemirror_editor/set/self/script_prosemirror.rb +3 -0
- data/mod/prosemirror_editor/set/self/script_prosemirror_config.rb +6 -0
- data/mod/settings/lib/card/setting.rb +82 -0
- data/mod/settings/set/abstract/permission.rb +112 -0
- data/mod/{04_settings → settings}/set/right/add_help.rb +0 -0
- data/mod/settings/set/right/comment.rb +1 -0
- data/mod/settings/set/right/create.rb +1 -0
- data/mod/{04_settings → settings}/set/right/default.rb +0 -0
- data/mod/settings/set/right/delete.rb +1 -0
- data/mod/{04_settings → settings}/set/right/help.rb +0 -0
- data/mod/{04_settings → settings}/set/right/read.rb +0 -0
- data/mod/settings/set/right/script.rb +9 -0
- data/mod/{04_settings → settings}/set/right/structure.rb +0 -0
- data/mod/settings/set/right/style.rb +10 -0
- data/mod/settings/set/right/update.rb +1 -0
- data/mod/settings/set/self/accountable.rb +3 -0
- data/mod/{04_settings → settings}/set/self/add_help.rb +0 -0
- data/mod/{04_settings → settings}/set/self/autoname.rb +0 -0
- data/mod/{04_settings → settings}/set/self/captcha.rb +0 -0
- data/mod/{04_settings → settings}/set/self/create.rb +0 -0
- data/mod/{04_settings → settings}/set/self/default.rb +0 -0
- data/mod/{04_settings → settings}/set/self/default_html_view.rb +0 -0
- data/mod/{04_settings → settings}/set/self/delete.rb +0 -0
- data/mod/{04_settings → settings}/set/self/follow_fields.rb +0 -0
- data/mod/{04_settings → settings}/set/self/help.rb +0 -0
- data/mod/settings/set/self/input.rb +4 -0
- data/mod/{04_settings → settings}/set/self/layout.rb +0 -0
- data/mod/{04_settings → settings}/set/self/on_create.rb +0 -0
- data/mod/{04_settings → settings}/set/self/on_delete.rb +0 -0
- data/mod/{04_settings → settings}/set/self/on_update.rb +0 -0
- data/mod/settings/set/self/options.rb +4 -0
- data/mod/settings/set/self/options_label.rb +4 -0
- data/mod/{04_settings → settings}/set/self/read.rb +0 -0
- data/mod/{04_settings → settings}/set/self/recent_settings.rb +0 -0
- data/mod/{04_settings → settings}/set/self/script.rb +0 -0
- data/mod/{04_settings → settings}/set/self/structure.rb +0 -0
- data/mod/{04_settings → settings}/set/self/style.rb +0 -0
- data/mod/{04_settings → settings}/set/self/table_of_contents.rb +0 -0
- data/mod/{04_settings → settings}/set/self/thanks.rb +0 -0
- data/mod/{04_settings → settings}/set/self/update.rb +0 -0
- data/mod/settings/set/type/setting.rb +104 -0
- data/mod/{04_settings → settings}/spec/set/right/add_help_spec.rb +0 -0
- data/mod/settings/spec/set/right/comment_spec.rb +41 -0
- data/mod/settings/spec/set/right/create_spec.rb +10 -0
- data/mod/{04_settings → settings}/spec/set/right/default_spec.rb +0 -0
- data/mod/{04_settings → settings}/spec/set/right/delete_spec.rb +0 -0
- data/mod/{04_settings → settings}/spec/set/right/help_spec.rb +0 -0
- data/mod/{04_settings → settings}/spec/set/right/read_spec.rb +0 -0
- data/mod/settings/spec/set/right/script_spec.rb +35 -0
- data/mod/settings/spec/set/right/structure_spec.rb +25 -0
- data/mod/settings/spec/set/right/style_spec.rb +34 -0
- data/mod/{04_settings → settings}/spec/set/right/update_spec.rb +0 -0
- data/mod/settings/spec/set/type/setting_spec.rb +10 -0
- data/mod/solid_cache/db/migrate_cards/20160806112710_add_solid_cache_cards.rb +10 -0
- data/mod/solid_cache/set/abstract/solid_cache.rb +99 -0
- data/mod/solid_cache/set/all/solid_cache.rb +14 -0
- data/mod/solid_cache/set/right/solid_cache.rb +32 -0
- data/mod/solid_cache/spec/set/abstract/solid_cache_spec.rb +98 -0
- data/mod/{05_standard → standard}/file/credit/icon-image.png +0 -0
- data/mod/{05_standard → standard}/file/credit/large-image.png +0 -0
- data/mod/{05_standard → standard}/file/credit/medium-image.png +0 -0
- data/mod/{05_standard → standard}/file/credit/original-image.png +0 -0
- data/mod/{05_standard → standard}/file/credit/small-image.png +0 -0
- data/mod/{05_standard → standard}/file/credit_image/image-icon.png +0 -0
- data/mod/{05_standard → standard}/file/credit_image/image-large.png +0 -0
- data/mod/{05_standard → standard}/file/credit_image/image-medium.png +0 -0
- data/mod/{05_standard → standard}/file/credit_image/image-original.png +0 -0
- data/mod/{05_standard → 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-original.png +0 -0
- data/mod/standard/file/favicon/image-small.png +0 -0
- data/mod/{05_standard → standard}/file/logo/image-icon.png +0 -0
- data/mod/{05_standard → standard}/file/logo/image-large.png +0 -0
- data/mod/{05_standard → standard}/file/logo/image-medium.png +0 -0
- data/mod/{05_standard → standard}/file/logo/image-original.png +0 -0
- data/mod/{05_standard → standard}/file/logo/image-small.png +0 -0
- data/mod/standard/set/all/comment.rb +60 -0
- data/mod/standard/set/all/error.rb +222 -0
- data/mod/standard/set/all/links.rb +158 -0
- data/mod/standard/set/all/list_changes.rb +46 -0
- data/mod/standard/set/all/rich_html/content.rb +254 -0
- data/mod/standard/set/all/rich_html/editing.rb +240 -0
- data/mod/standard/set/all/rich_html/form.rb +291 -0
- data/mod/standard/set/all/rich_html/header.rb +71 -0
- data/mod/standard/set/all/rich_html/menu.rb +147 -0
- data/mod/standard/set/all/rich_html/modal.rb +51 -0
- data/mod/standard/set/all/rich_html/toolbar.rb +305 -0
- data/mod/standard/set/all/rich_html/wrapper.rb +184 -0
- data/mod/{05_standard → standard}/set/right/discussion.rb +0 -0
- data/mod/standard/set/right/when_created.rb +7 -0
- data/mod/standard/set/right/when_last_edited.rb +7 -0
- data/mod/{05_standard → standard}/set/rstar/rules.rb +0 -0
- data/mod/standard/set/rstar/rules_editor.rb +364 -0
- data/mod/standard/set/self/alerts.rb +5 -0
- data/mod/{05_standard → standard}/set/self/codenames.rb +0 -0
- data/mod/standard/set/self/foot.rb +8 -0
- data/mod/standard/set/self/navbox.rb +29 -0
- data/mod/standard/set/self/now.rb +7 -0
- data/mod/standard/set/self/recent.rb +27 -0
- data/mod/standard/set/self/search.rb +64 -0
- data/mod/standard/set/type/basic.rb +52 -0
- data/mod/standard/set/type/cardtype.rb +74 -0
- data/mod/standard/set/type/date.rb +8 -0
- data/mod/standard/set/type/layout_type.rb +10 -0
- data/mod/standard/set/type/list.rb +113 -0
- data/mod/standard/set/type/listed_by.rb +78 -0
- data/mod/standard/set/type/number.rb +18 -0
- data/mod/standard/set/type/phrase.rb +3 -0
- data/mod/standard/set/type/search_type.rb +332 -0
- data/mod/standard/set/type/session.rb +35 -0
- data/mod/standard/set/type/set.rb +364 -0
- data/mod/standard/set/type/toggle.rb +12 -0
- data/mod/{05_standard → standard}/set/type/uri.rb +0 -0
- data/mod/standard/spec/chunk/include_spec.rb +203 -0
- data/mod/standard/spec/chunk/link_spec.rb +98 -0
- data/mod/standard/spec/chunk/query_reference_spec.rb +49 -0
- data/mod/standard/spec/format/css_format_spec.rb +5 -0
- data/mod/standard/spec/format/csv_format_spec.rb +5 -0
- data/mod/standard/spec/format/email_html_format_spec.rb +5 -0
- data/mod/standard/spec/format/file_format_spec.rb +5 -0
- data/mod/standard/spec/format/js_format_spec.rb +5 -0
- data/mod/standard/spec/format/json_format_spec.rb +5 -0
- data/mod/standard/spec/format/rss_format_spec.rb +5 -0
- data/mod/standard/spec/format/xml_format_spec.rb +5 -0
- data/mod/{05_standard → standard}/spec/set/all/comment_spec.rb +0 -0
- data/mod/standard/spec/set/all/email_html_spec.rb +15 -0
- data/mod/standard/spec/set/all/error_spec.rb +9 -0
- data/mod/standard/spec/set/all/history_spec.rb +218 -0
- data/mod/standard/spec/set/all/links_spec.rb +15 -0
- data/mod/standard/spec/set/all/rich_html/editing_spec.rb +61 -0
- data/mod/standard/spec/set/all/rich_html/form_spec.rb +47 -0
- data/mod/standard/spec/set/all/rich_html/wrapper_spec.rb +37 -0
- data/mod/standard/spec/set/right/when_created_spec.rb +7 -0
- data/mod/standard/spec/set/right/when_last_edited_spec.rb +7 -0
- data/mod/standard/spec/set/rstar/rules_spec.rb +27 -0
- data/mod/{05_standard → standard}/spec/set/self/alerts_spec.rb +0 -0
- data/mod/{05_standard → standard}/spec/set/self/foot_spec.rb +0 -0
- data/mod/standard/spec/set/self/head_spec.rb +16 -0
- data/mod/standard/spec/set/self/navbox_spec.rb +8 -0
- data/mod/standard/spec/set/self/now_spec.rb +7 -0
- data/mod/{05_standard → standard}/spec/set/self/recent_spec.rb +0 -0
- data/mod/{05_standard → standard}/spec/set/self/search_spec.rb +0 -0
- data/mod/{05_standard → standard}/spec/set/type/basic_spec.rb +0 -0
- data/mod/standard/spec/set/type/cardtype_spec.rb +18 -0
- data/mod/standard/spec/set/type/date_spec.rb +7 -0
- data/mod/standard/spec/set/type/email_template_spec.rb +212 -0
- data/mod/standard/spec/set/type/file_spec.rb +99 -0
- data/mod/standard/spec/set/type/html_spec.rb +28 -0
- data/mod/standard/spec/set/type/image_spec.rb +135 -0
- data/mod/standard/spec/set/type/layout_type_spec.rb +7 -0
- data/mod/standard/spec/set/type/list_spec.rb +140 -0
- data/mod/standard/spec/set/type/listed_by_spec.rb +158 -0
- data/mod/standard/spec/set/type/number_spec.rb +7 -0
- data/mod/standard/spec/set/type/phrase_spec.rb +7 -0
- data/mod/standard/spec/set/type/search_type_spec.rb +67 -0
- data/mod/standard/spec/set/type/set_spec.rb +26 -0
- data/mod/standard/spec/set/type/toggle_spec.rb +13 -0
- data/mod/standard/spec/set/type/uri_spec.rb +54 -0
- data/mod/tinymce_editor/db/migrate_cards/20160804112560_add_tinymce_cards.rb +40 -0
- data/mod/{03_machines → tinymce_editor}/lib/javascript/script_tinymce.js +0 -0
- data/mod/tinymce_editor/lib/javascript/script_tinymce_config.js.coffee +35 -0
- data/mod/tinymce_editor/set/abstract/tinymce_editor.rb +6 -0
- data/mod/tinymce_editor/set/self/script_tinymce.rb +3 -0
- data/mod/tinymce_editor/set/self/script_tinymce_config.rb +5 -0
- data/spec/card_spec_helper.rb +137 -0
- data/spec/config/initializers/core_extensions_spec.rb +3 -3
- data/spec/lib/card/action_spec.rb +6 -6
- data/spec/lib/card/auth_spec.rb +18 -18
- data/spec/lib/card/cache_spec.rb +46 -46
- data/spec/lib/card/chunk_spec.rb +9 -8
- data/spec/lib/card/codename_spec.rb +4 -4
- data/spec/lib/card/content_spec.rb +115 -115
- data/spec/lib/card/diff_spec.rb +68 -68
- data/spec/lib/card/format/nest_spec.rb +11 -0
- data/spec/lib/card/format_spec.rb +28 -28
- data/spec/lib/card/i18n_spec.rb +40 -0
- data/spec/lib/card/loader/Modfile +2 -0
- data/spec/lib/card/loader/mod_dirs.rb +8 -0
- data/spec/lib/card/loader_spec.rb +3 -3
- data/spec/lib/card/migration/import_spec.rb +72 -0
- data/spec/lib/card/name_spec.rb +147 -147
- data/spec/lib/card/query_spec.rb +282 -280
- data/spec/lib/card/reference_spec.rb +124 -124
- data/spec/lib/card/set/trait_spec.rb +38 -22
- data/spec/lib/card/set_pattern_spec.rb +30 -32
- data/spec/lib/card/set_spec.rb +4 -3
- data/spec/lib/card/stage_director_spec.rb +145 -75
- data/spec/lib/card/subcards_spec.rb +72 -68
- data/spec/lib/card/success_spec.rb +55 -55
- data/spec/lib/card/view_cache_spec.rb +5 -5
- data/spec/mailers/mailer_spec.rb +1 -1
- data/spec/models/card/cardtype_spec.rb +62 -62
- data/spec/models/card/create_spec.rb +44 -44
- data/spec/models/card/trash_spec.rb +86 -86
- data/spec/models/card/type_transition_spec.rb +28 -28
- data/spec/models/card/validation_spec.rb +11 -11
- data/spec/models/card_spec.rb +69 -69
- data/spec/spec_helper.rb +59 -23
- data/tmpsets/set/mod001-core/abstract/code_file.rb +79 -0
- data/tmpsets/set/mod001-core/all/actify.rb +100 -0
- data/tmpsets/set/mod001-core/all/active_card.rb +42 -0
- data/tmpsets/set/mod001-core/all/collection.rb +313 -0
- data/tmpsets/set/mod001-core/all/content.rb +69 -0
- data/tmpsets/set/mod001-core/all/erb.rb +18 -0
- data/tmpsets/set/mod001-core/all/event.rb +62 -0
- data/tmpsets/set/mod001-core/all/export.rb +49 -0
- data/tmpsets/set/mod001-core/all/fetch.rb +335 -0
- data/tmpsets/set/mod001-core/all/haml.rb +14 -0
- data/tmpsets/set/mod001-core/all/initialize.rb +42 -0
- data/tmpsets/set/mod001-core/all/location_history.rb +15 -0
- data/tmpsets/set/mod001-core/all/name.rb +282 -0
- data/tmpsets/set/mod001-core/all/name_validations.rb +65 -0
- data/tmpsets/set/mod001-core/all/pattern.rb +67 -0
- data/tmpsets/set/mod001-core/all/permissions.rb +309 -0
- data/tmpsets/set/mod001-core/all/phases.rb +23 -0
- data/tmpsets/set/mod001-core/all/references.rb +187 -0
- data/tmpsets/set/mod001-core/all/rules.rb +311 -0
- data/tmpsets/set/mod001-core/all/stages.rb +31 -0
- data/tmpsets/set/mod001-core/all/states.rb +31 -0
- data/tmpsets/set/mod001-core/all/subcards.rb +85 -0
- data/tmpsets/set/mod001-core/all/templating.rb +78 -0
- data/tmpsets/set/mod001-core/all/tracked_attributes.rb +154 -0
- data/tmpsets/set/mod001-core/all/trash.rb +63 -0
- data/tmpsets/set/mod001-core/all/type.rb +60 -0
- data/tmpsets/set/mod001-core/all/utils.rb +132 -0
- data/tmpsets/set/mod001-core/all/view_cache.rb +16 -0
- data/tmpsets/set/mod002-history/all/actions.rb +60 -0
- data/tmpsets/set/mod002-history/all/content_history.rb +168 -0
- data/tmpsets/set/mod002-history/all/history.rb +407 -0
- data/tmpsets/set/mod003-basic_formats/all/all_css.rb +45 -0
- data/tmpsets/set/mod003-basic_formats/all/all_csv.rb +56 -0
- data/tmpsets/set/mod003-basic_formats/all/all_js.rb +13 -0
- data/tmpsets/set/mod003-basic_formats/all/base.rb +155 -0
- data/tmpsets/set/mod003-basic_formats/all/file.rb +16 -0
- data/tmpsets/set/mod003-basic_formats/all/json.rb +76 -0
- data/tmpsets/set/mod003-basic_formats/all/rss.rb +77 -0
- data/tmpsets/set/mod003-basic_formats/all/text.rb +13 -0
- data/tmpsets/set/mod003-basic_formats/self/01_head/javascript.rb +79 -0
- data/tmpsets/set/mod003-basic_formats/self/head.rb +101 -0
- data/tmpsets/set/mod004-pointer/abstract/01_pointer.rb +193 -0
- data/tmpsets/set/mod004-pointer/abstract/01_pointer/edit.rb +224 -0
- data/tmpsets/set/mod004-pointer/abstract/code_pointer.rb +16 -0
- data/tmpsets/set/mod004-pointer/self/script_editors.rb +8 -0
- data/tmpsets/set/mod004-pointer/self/script_mods.rb +8 -0
- data/tmpsets/set/mod004-pointer/self/script_pointer_config.rb +10 -0
- data/tmpsets/set/mod004-pointer/type/pointer.rb +8 -0
- data/tmpsets/set/mod005-ace_editor/abstract/ace_editor.rb +18 -0
- data/tmpsets/set/mod005-ace_editor/self/script_ace.rb +10 -0
- data/tmpsets/set/mod005-ace_editor/self/script_ace_config.rb +12 -0
- data/tmpsets/set/mod006-prosemirror_editor/abstract/prosemirror_editor.rb +14 -0
- data/tmpsets/set/mod006-prosemirror_editor/self/script_prosemirror.rb +10 -0
- data/tmpsets/set/mod006-prosemirror_editor/self/script_prosemirror_config.rb +13 -0
- data/tmpsets/set/mod008-solid_cache/abstract/solid_cache.rb +106 -0
- data/tmpsets/set/mod008-solid_cache/all/solid_cache.rb +21 -0
- data/tmpsets/set/mod008-solid_cache/right/solid_cache.rb +39 -0
- data/tmpsets/set/mod009-basic_types/type/html.rb +26 -0
- data/tmpsets/set/mod009-basic_types/type/plain_text.rb +19 -0
- data/tmpsets/set/mod010-machines/abstract/script.rb +49 -0
- data/tmpsets/set/mod010-machines/all/reset_machines.rb +19 -0
- data/tmpsets/set/mod010-machines/right/machine_cache.rb +18 -0
- data/tmpsets/set/mod010-machines/right/machine_input.rb +10 -0
- data/tmpsets/set/mod010-machines/right/machine_output.rb +39 -0
- data/tmpsets/set/mod010-machines/self/script_card_menu.rb +8 -0
- data/tmpsets/set/mod010-machines/self/script_html5shiv_printshiv.rb +8 -0
- data/tmpsets/set/mod010-machines/self/script_jquery.rb +8 -0
- data/tmpsets/set/mod010-machines/self/script_jquery_helper.rb +16 -0
- data/tmpsets/set/mod010-machines/self/script_slot.rb +14 -0
- data/tmpsets/set/mod010-machines/self/style_bootstrap_compatible.rb +8 -0
- data/tmpsets/set/mod010-machines/self/style_cards.rb +8 -0
- data/tmpsets/set/mod010-machines/self/style_jquery_ui_smoothness.rb +8 -0
- data/tmpsets/set/mod010-machines/type/coffee_script.rb +47 -0
- data/tmpsets/set/mod010-machines/type/css.rb +67 -0
- data/tmpsets/set/mod010-machines/type/java_script.rb +36 -0
- data/tmpsets/set/mod010-machines/type/scss.rb +21 -0
- data/tmpsets/set/mod010-machines/type/skin.rb +13 -0
- data/tmpsets/set/mod011-settings/abstract/permission.rb +119 -0
- data/tmpsets/set/mod011-settings/right/add_help.rb +18 -0
- data/tmpsets/set/mod011-settings/right/comment.rb +8 -0
- data/tmpsets/set/mod011-settings/right/create.rb +8 -0
- data/tmpsets/set/mod011-settings/right/default.rb +14 -0
- data/tmpsets/set/mod011-settings/right/delete.rb +8 -0
- data/tmpsets/set/mod011-settings/right/help.rb +10 -0
- data/tmpsets/set/mod011-settings/right/read.rb +10 -0
- data/tmpsets/set/mod011-settings/right/script.rb +16 -0
- data/tmpsets/set/mod011-settings/right/structure.rb +68 -0
- data/tmpsets/set/mod011-settings/right/style.rb +17 -0
- data/tmpsets/set/mod011-settings/right/update.rb +8 -0
- data/tmpsets/set/mod011-settings/self/accountable.rb +10 -0
- data/tmpsets/set/mod011-settings/self/add_help.rb +9 -0
- data/tmpsets/set/mod011-settings/self/autoname.rb +9 -0
- data/tmpsets/set/mod011-settings/self/captcha.rb +9 -0
- data/tmpsets/set/mod011-settings/self/create.rb +9 -0
- data/tmpsets/set/mod011-settings/self/default.rb +9 -0
- data/tmpsets/set/mod011-settings/self/default_html_view.rb +9 -0
- data/tmpsets/set/mod011-settings/self/delete.rb +9 -0
- data/tmpsets/set/mod011-settings/self/follow_fields.rb +9 -0
- data/tmpsets/set/mod011-settings/self/help.rb +9 -0
- data/tmpsets/set/mod011-settings/self/input.rb +11 -0
- data/tmpsets/set/mod011-settings/self/layout.rb +9 -0
- data/tmpsets/set/mod011-settings/self/on_create.rb +9 -0
- data/tmpsets/set/mod011-settings/self/on_delete.rb +9 -0
- data/tmpsets/set/mod011-settings/self/on_update.rb +9 -0
- data/tmpsets/set/mod011-settings/self/options.rb +11 -0
- data/tmpsets/set/mod011-settings/self/options_label.rb +11 -0
- data/tmpsets/set/mod011-settings/self/read.rb +9 -0
- data/tmpsets/set/mod011-settings/self/recent_settings.rb +10 -0
- data/tmpsets/set/mod011-settings/self/script.rb +9 -0
- data/tmpsets/set/mod011-settings/self/structure.rb +9 -0
- data/tmpsets/set/mod011-settings/self/style.rb +9 -0
- data/tmpsets/set/mod011-settings/self/table_of_contents.rb +9 -0
- data/tmpsets/set/mod011-settings/self/thanks.rb +9 -0
- data/tmpsets/set/mod011-settings/self/update.rb +9 -0
- data/tmpsets/set/mod011-settings/type/setting.rb +111 -0
- data/tmpsets/set/mod012-email/all/email_html.rb +11 -0
- data/tmpsets/set/mod012-email/all/email_text.rb +12 -0
- data/tmpsets/set/mod012-email/all/follow.rb +253 -0
- data/tmpsets/set/mod012-email/all/notify.rb +271 -0
- data/tmpsets/set/mod012-email/all/observer.rb +33 -0
- data/tmpsets/set/mod012-email/right/bcc.rb +47 -0
- data/tmpsets/set/mod012-email/right/cc.rb +10 -0
- data/tmpsets/set/mod012-email/right/follow.rb +106 -0
- data/tmpsets/set/mod012-email/right/follow_fields.rb +10 -0
- data/tmpsets/set/mod012-email/right/followers.rb +41 -0
- data/tmpsets/set/mod012-email/right/following.rb +65 -0
- data/tmpsets/set/mod012-email/right/from.rb +10 -0
- data/tmpsets/set/mod012-email/right/html_message.rb +10 -0
- data/tmpsets/set/mod012-email/right/to.rb +10 -0
- data/tmpsets/set/mod012-email/self/always.rb +20 -0
- data/tmpsets/set/mod012-email/self/created.rb +26 -0
- data/tmpsets/set/mod012-email/self/edited.rb +27 -0
- data/tmpsets/set/mod012-email/self/follow.rb +9 -0
- data/tmpsets/set/mod012-email/self/follow_defaults.rb +75 -0
- data/tmpsets/set/mod012-email/self/never.rb +20 -0
- data/tmpsets/set/mod012-email/type/email_template.rb +133 -0
- data/tmpsets/set/mod012-email/type_plus_right/user/follow.rb +184 -0
- data/tmpsets/set/mod013-carrierwave/abstract/attachment.rb +282 -0
- data/tmpsets/set/mod013-carrierwave/type/file.rb +155 -0
- data/tmpsets/set/mod013-carrierwave/type/image.rb +96 -0
- data/tmpsets/set/mod014-admin/self/admin.rb +113 -0
- data/tmpsets/set/mod014-admin/self/admin_info.rb +110 -0
- data/tmpsets/set/mod014-admin/self/version.rb +15 -0
- data/tmpsets/set/mod015-developer/all/event_viz.rb +59 -0
- data/tmpsets/set/mod015-developer/all/view_viz.rb +30 -0
- data/tmpsets/set/mod015-developer/right/debug.rb +96 -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 +8 -8
- data/tmpsets/set_pattern/101-all_plus.rb +7 -7
- data/tmpsets/set_pattern/102-type.rb +5 -5
- data/tmpsets/set_pattern/103-star.rb +7 -7
- data/tmpsets/set_pattern/104-rstar.rb +7 -7
- data/tmpsets/set_pattern/105-right.rb +5 -5
- data/tmpsets/set_pattern/106-type_plus_right.rb +6 -6
- data/tmpsets/set_pattern/107-self.rb +4 -4
- metadata +855 -735
- data/.yardoc/checksums +0 -268
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/db/migrate_core_cards/20141208162106_add_ace_script.rb +0 -9
- data/lib/card/active_record_ext.rb +0 -75
- data/lib/card/active_record_helper.rb +0 -53
- data/lib/card/core_migration.rb +0 -6
- data/lib/card/diff.rb +0 -69
- data/lib/card/diff/lcs.rb +0 -247
- data/lib/card/diff/result.rb +0 -131
- data/lib/card/exceptions.rb +0 -42
- data/lib/card/loader.rb +0 -181
- data/lib/card/location.rb +0 -36
- data/lib/card/simplecov_helper.rb +0 -70
- data/lib/card/spec_helper.rb +0 -147
- data/lib/card/success.rb +0 -142
- data/lib/card/view_cache.rb +0 -94
- data/lib/card/view_name.rb +0 -46
- data/mod/01_core/chunk/include.rb +0 -131
- data/mod/01_core/chunk/link.rb +0 -96
- data/mod/01_core/chunk/literal.rb +0 -27
- data/mod/01_core/chunk/query_reference.rb +0 -83
- data/mod/01_core/chunk/uri.rb +0 -128
- data/mod/01_core/format/data_format.rb +0 -2
- data/mod/01_core/format/html_format.rb +0 -77
- data/mod/01_core/format/text_format.rb +0 -10
- data/mod/01_core/set/all/actify.rb +0 -107
- data/mod/01_core/set/all/collection.rb +0 -303
- data/mod/01_core/set/all/content.rb +0 -62
- data/mod/01_core/set/all/erb.rb +0 -11
- data/mod/01_core/set/all/event.rb +0 -74
- data/mod/01_core/set/all/fetch.rb +0 -339
- data/mod/01_core/set/all/initialize.rb +0 -35
- data/mod/01_core/set/all/name.rb +0 -275
- data/mod/01_core/set/all/name_validations.rb +0 -56
- data/mod/01_core/set/all/pattern.rb +0 -56
- data/mod/01_core/set/all/permissions.rb +0 -301
- data/mod/01_core/set/all/phases.rb +0 -16
- data/mod/01_core/set/all/references.rb +0 -180
- data/mod/01_core/set/all/rules.rb +0 -305
- data/mod/01_core/set/all/stages.rb +0 -24
- data/mod/01_core/set/all/states.rb +0 -24
- data/mod/01_core/set/all/subcards.rb +0 -64
- data/mod/01_core/set/all/templating.rb +0 -69
- data/mod/01_core/set/all/tracked_attributes.rb +0 -147
- data/mod/01_core/set/all/trash.rb +0 -56
- data/mod/01_core/set/all/type.rb +0 -53
- data/mod/01_core/set/all/utils.rb +0 -180
- data/mod/01_core/set/all/view_cache.rb +0 -9
- data/mod/01_core/set_pattern/01_all.rb +0 -11
- data/mod/01_core/set_pattern/02_all_plus.rb +0 -13
- data/mod/01_core/set_pattern/04_star.rb +0 -15
- data/mod/01_core/set_pattern/05_rstar.rb +0 -17
- data/mod/01_core/set_pattern/07_type_plus_right.rb +0 -26
- data/mod/01_core/spec/chunk/literal_spec.rb +0 -13
- data/mod/01_core/spec/chunk/uri_spec.rb +0 -293
- data/mod/01_core/spec/format/data_format_spec.rb +0 -5
- data/mod/01_core/spec/format/html_format_spec.rb +0 -154
- data/mod/01_core/spec/format/text_format_spec.rb +0 -5
- data/mod/01_core/spec/set/all/collection_spec.rb +0 -162
- data/mod/01_core/spec/set/all/content_spec.rb +0 -15
- data/mod/01_core/spec/set/all/fetch_spec.rb +0 -279
- data/mod/01_core/spec/set/all/initialize_spec.rb +0 -88
- data/mod/01_core/spec/set/all/name_spec.rb +0 -60
- data/mod/01_core/spec/set/all/pattern_spec.rb +0 -78
- data/mod/01_core/spec/set/all/permissions_spec.rb +0 -538
- data/mod/01_core/spec/set/all/references_spec.rb +0 -9
- data/mod/01_core/spec/set/all/rules2_spec.rb +0 -238
- data/mod/01_core/spec/set/all/rules_spec.rb +0 -137
- data/mod/01_core/spec/set/all/templating_spec.rb +0 -119
- data/mod/01_core/spec/set/all/tracked_attributes_spec.rb +0 -313
- data/mod/01_core/spec/set/all/trash_spec.rb +0 -81
- data/mod/01_core/spec/set/all/type_spec.rb +0 -51
- data/mod/01_history/lib/card/act.rb +0 -88
- data/mod/01_history/lib/card/action.rb +0 -193
- data/mod/01_history/lib/card/change.rb +0 -41
- data/mod/01_history/set/all/actions.rb +0 -54
- data/mod/01_history/set/all/content_history.rb +0 -161
- data/mod/01_history/set/all/history.rb +0 -400
- data/mod/02_basic_types/format/css_format.rb +0 -6
- data/mod/02_basic_types/format/csv_format.rb +0 -6
- data/mod/02_basic_types/format/file_format.rb +0 -3
- data/mod/02_basic_types/format/js_format.rb +0 -6
- data/mod/02_basic_types/format/json_format.rb +0 -6
- data/mod/02_basic_types/format/rss_format.rb +0 -10
- data/mod/02_basic_types/format/xml_format.rb +0 -6
- data/mod/02_basic_types/set/abstract/code_file.rb +0 -63
- data/mod/02_basic_types/set/all/all_css.rb +0 -38
- data/mod/02_basic_types/set/all/all_csv.rb +0 -49
- data/mod/02_basic_types/set/all/base.rb +0 -150
- data/mod/02_basic_types/set/all/file.rb +0 -9
- data/mod/02_basic_types/set/all/json.rb +0 -67
- data/mod/02_basic_types/set/all/rss.rb +0 -70
- data/mod/02_basic_types/set/type/html.rb +0 -23
- data/mod/02_basic_types/set/type/plain_text.rb +0 -12
- data/mod/02_basic_types/set/type/pointer.rb +0 -384
- data/mod/02_basic_types/spec/set/all/all_css_spec.rb +0 -10
- data/mod/02_basic_types/spec/set/all/all_csv_spec.rb +0 -11
- data/mod/02_basic_types/spec/set/all/base_spec.rb +0 -89
- data/mod/02_basic_types/spec/set/all/json_spec.rb +0 -26
- data/mod/02_basic_types/spec/set/all/rss_spec.rb +0 -22
- data/mod/02_basic_types/spec/set/type/plain_text_spec.rb +0 -11
- data/mod/02_basic_types/spec/set/type/pointer_spec.rb +0 -201
- data/mod/03_machines/lib/card/machine.rb +0 -218
- data/mod/03_machines/lib/card/machine_input.rb +0 -65
- data/mod/03_machines/lib/javascript/wagn.js.coffee +0 -365
- data/mod/03_machines/lib/javascript/wagn_mod.js.coffee +0 -557
- data/mod/03_machines/lib/stylesheets/style_cards.scss +0 -940
- data/mod/03_machines/set/self/script_ace.rb +0 -1
- data/mod/03_machines/set/self/script_slot.rb +0 -5
- data/mod/03_machines/set/self/script_tinymce.rb +0 -1
- data/mod/03_machines/set/type/coffee_script.rb +0 -57
- data/mod/03_machines/set/type/css.rb +0 -57
- data/mod/03_machines/set/type/java_script.rb +0 -50
- data/mod/03_machines/set/type/scss.rb +0 -22
- data/mod/03_machines/set/type/skin.rb +0 -9
- data/mod/03_machines/spec/lib/shared_machine_examples.rb +0 -170
- data/mod/03_machines/spec/lib/shared_machine_input_examples.rb +0 -64
- data/mod/03_machines/spec/set/type/coffeescript_spec.rb +0 -35
- data/mod/03_machines/spec/set/type/css_spec.rb +0 -40
- data/mod/03_machines/spec/set/type/javascript_spec.rb +0 -34
- data/mod/03_machines/spec/set/type/scss_spec.rb +0 -62
- data/mod/03_machines/spec/set/type/skin_spec.rb +0 -68
- data/mod/04_settings/lib/card/setting.rb +0 -82
- data/mod/04_settings/set/abstract/permission.rb +0 -94
- data/mod/04_settings/set/right/comment.rb +0 -3
- data/mod/04_settings/set/right/create.rb +0 -3
- data/mod/04_settings/set/right/delete.rb +0 -3
- data/mod/04_settings/set/right/script.rb +0 -9
- data/mod/04_settings/set/right/style.rb +0 -10
- data/mod/04_settings/set/right/update.rb +0 -3
- data/mod/04_settings/set/self/accountable.rb +0 -3
- data/mod/04_settings/set/self/input.rb +0 -2
- data/mod/04_settings/set/self/options.rb +0 -2
- data/mod/04_settings/set/self/options_label.rb +0 -2
- data/mod/04_settings/set/type/setting.rb +0 -88
- data/mod/04_settings/spec/set/right/comment_spec.rb +0 -38
- data/mod/04_settings/spec/set/right/create_spec.rb +0 -10
- data/mod/04_settings/spec/set/right/script_spec.rb +0 -24
- data/mod/04_settings/spec/set/right/structure_spec.rb +0 -25
- data/mod/04_settings/spec/set/right/style_spec.rb +0 -29
- data/mod/04_settings/spec/set/type/setting_spec.rb +0 -10
- data/mod/05_email/format/email_html_format.rb +0 -9
- data/mod/05_email/format/email_text_format.rb +0 -11
- data/mod/05_email/lib/card/follow_option.rb +0 -87
- data/mod/05_email/set/all/email_html.rb +0 -4
- data/mod/05_email/set/all/email_text.rb +0 -5
- data/mod/05_email/set/all/follow.rb +0 -245
- data/mod/05_email/set/all/notify.rb +0 -255
- data/mod/05_email/set/right/bcc.rb +0 -40
- data/mod/05_email/set/right/follow.rb +0 -99
- data/mod/05_email/set/right/followers.rb +0 -34
- data/mod/05_email/set/right/following.rb +0 -58
- data/mod/05_email/set/self/always.rb +0 -13
- data/mod/05_email/set/self/created.rb +0 -19
- data/mod/05_email/set/self/edited.rb +0 -20
- data/mod/05_email/set/self/follow_defaults.rb +0 -68
- data/mod/05_email/set/self/never.rb +0 -13
- data/mod/05_email/set/type/email_template.rb +0 -126
- data/mod/05_email/set/type_plus_right/user/follow.rb +0 -177
- data/mod/05_email/spec/set/all/follow_spec.rb +0 -126
- data/mod/05_email/spec/set/all/notify_spec.rb +0 -378
- data/mod/05_email/spec/set/all/observer_spec.rb +0 -97
- data/mod/05_email/spec/set/right/followers_spec.rb +0 -121
- data/mod/05_email/spec/set/self/follow_defaults_spec.rb +0 -18
- data/mod/05_standard/lib/carrier_wave/cardmount.rb +0 -113
- data/mod/05_standard/lib/file_uploader.rb +0 -148
- data/mod/05_standard/lib/image_uploader.rb +0 -52
- data/mod/05_standard/set/abstract/attachment.rb +0 -277
- data/mod/05_standard/set/all/account.rb +0 -65
- data/mod/05_standard/set/all/comment.rb +0 -59
- data/mod/05_standard/set/all/error.rb +0 -222
- data/mod/05_standard/set/all/event_viz.rb +0 -56
- data/mod/05_standard/set/all/links.rb +0 -158
- data/mod/05_standard/set/all/list_changes.rb +0 -46
- data/mod/05_standard/set/all/rich_html/content.rb +0 -254
- data/mod/05_standard/set/all/rich_html/editing.rb +0 -241
- data/mod/05_standard/set/all/rich_html/form.rb +0 -301
- data/mod/05_standard/set/all/rich_html/header.rb +0 -65
- data/mod/05_standard/set/all/rich_html/menu.rb +0 -127
- data/mod/05_standard/set/all/rich_html/modal.rb +0 -51
- data/mod/05_standard/set/all/rich_html/toolbar.rb +0 -305
- data/mod/05_standard/set/all/rich_html/wrapper.rb +0 -157
- data/mod/05_standard/set/right/account.rb +0 -189
- data/mod/05_standard/set/right/email.rb +0 -54
- data/mod/05_standard/set/right/password.rb +0 -47
- data/mod/05_standard/set/right/salt.rb +0 -5
- data/mod/05_standard/set/right/stats.rb +0 -32
- data/mod/05_standard/set/right/status.rb +0 -9
- data/mod/05_standard/set/right/token.rb +0 -52
- data/mod/05_standard/set/right/when_created.rb +0 -5
- data/mod/05_standard/set/right/when_last_edited.rb +0 -5
- data/mod/05_standard/set/rstar/rules_editor.rb +0 -364
- data/mod/05_standard/set/self/account_links.rb +0 -48
- data/mod/05_standard/set/self/admin_info.rb +0 -82
- data/mod/05_standard/set/self/alerts.rb +0 -5
- data/mod/05_standard/set/self/all.rb +0 -19
- data/mod/05_standard/set/self/foot.rb +0 -8
- data/mod/05_standard/set/self/head.rb +0 -130
- data/mod/05_standard/set/self/navbox.rb +0 -29
- data/mod/05_standard/set/self/now.rb +0 -6
- data/mod/05_standard/set/self/recent.rb +0 -27
- data/mod/05_standard/set/self/search.rb +0 -64
- data/mod/05_standard/set/self/signin.rb +0 -133
- data/mod/05_standard/set/self/stats.rb +0 -87
- data/mod/05_standard/set/self/version.rb +0 -8
- data/mod/05_standard/set/type/basic.rb +0 -44
- data/mod/05_standard/set/type/cardtype.rb +0 -74
- data/mod/05_standard/set/type/date.rb +0 -7
- data/mod/05_standard/set/type/file.rb +0 -137
- data/mod/05_standard/set/type/image.rb +0 -89
- data/mod/05_standard/set/type/layout_type.rb +0 -16
- data/mod/05_standard/set/type/list.rb +0 -128
- data/mod/05_standard/set/type/listed_by.rb +0 -93
- data/mod/05_standard/set/type/number.rb +0 -18
- data/mod/05_standard/set/type/phrase.rb +0 -3
- data/mod/05_standard/set/type/search_type.rb +0 -316
- data/mod/05_standard/set/type/session.rb +0 -35
- data/mod/05_standard/set/type/set.rb +0 -341
- data/mod/05_standard/set/type/signup.rb +0 -168
- data/mod/05_standard/set/type/toggle.rb +0 -12
- data/mod/05_standard/set/type/user.rb +0 -81
- data/mod/05_standard/spec/chunk/include_spec.rb +0 -203
- data/mod/05_standard/spec/chunk/link_spec.rb +0 -98
- data/mod/05_standard/spec/chunk/query_reference_spec.rb +0 -49
- data/mod/05_standard/spec/format/css_format_spec.rb +0 -5
- data/mod/05_standard/spec/format/csv_format_spec.rb +0 -5
- data/mod/05_standard/spec/format/email_html_format_spec.rb +0 -5
- data/mod/05_standard/spec/format/file_format_spec.rb +0 -5
- data/mod/05_standard/spec/format/js_format_spec.rb +0 -5
- data/mod/05_standard/spec/format/json_format_spec.rb +0 -5
- data/mod/05_standard/spec/format/rss_format_spec.rb +0 -5
- data/mod/05_standard/spec/format/xml_format_spec.rb +0 -5
- data/mod/05_standard/spec/set/all/account_spec.rb +0 -138
- data/mod/05_standard/spec/set/all/email_html_spec.rb +0 -15
- data/mod/05_standard/spec/set/all/error_spec.rb +0 -9
- data/mod/05_standard/spec/set/all/history_spec.rb +0 -217
- data/mod/05_standard/spec/set/all/links_spec.rb +0 -15
- data/mod/05_standard/spec/set/all/rich_html/editing_spec.rb +0 -61
- data/mod/05_standard/spec/set/all/rich_html/form_spec.rb +0 -43
- data/mod/05_standard/spec/set/all/rich_html/wrapper_spec.rb +0 -32
- data/mod/05_standard/spec/set/right/account_spec.rb +0 -187
- data/mod/05_standard/spec/set/right/email_spec.rb +0 -52
- data/mod/05_standard/spec/set/right/password_spec.rb +0 -41
- data/mod/05_standard/spec/set/right/salt_spec.rb +0 -5
- data/mod/05_standard/spec/set/right/stats_spec.rb +0 -12
- data/mod/05_standard/spec/set/right/token_spec.rb +0 -23
- data/mod/05_standard/spec/set/right/when_created_spec.rb +0 -7
- data/mod/05_standard/spec/set/right/when_last_edited_spec.rb +0 -7
- data/mod/05_standard/spec/set/rstar/rules_spec.rb +0 -25
- data/mod/05_standard/spec/set/self/account_links_spec.rb +0 -9
- data/mod/05_standard/spec/set/self/all_spec.rb +0 -43
- data/mod/05_standard/spec/set/self/head_spec.rb +0 -15
- data/mod/05_standard/spec/set/self/navbox_spec.rb +0 -7
- data/mod/05_standard/spec/set/self/now_spec.rb +0 -7
- data/mod/05_standard/spec/set/self/signin_spec.rb +0 -69
- data/mod/05_standard/spec/set/self/stats_spec.rb +0 -12
- data/mod/05_standard/spec/set/self/version_spec.rb +0 -7
- data/mod/05_standard/spec/set/type/cardtype_spec.rb +0 -18
- data/mod/05_standard/spec/set/type/date_spec.rb +0 -7
- data/mod/05_standard/spec/set/type/email_template_spec.rb +0 -212
- data/mod/05_standard/spec/set/type/file_spec.rb +0 -99
- data/mod/05_standard/spec/set/type/html_spec.rb +0 -28
- data/mod/05_standard/spec/set/type/image_spec.rb +0 -135
- data/mod/05_standard/spec/set/type/layout_type_spec.rb +0 -7
- data/mod/05_standard/spec/set/type/list_spec.rb +0 -140
- data/mod/05_standard/spec/set/type/listed_by_spec.rb +0 -157
- data/mod/05_standard/spec/set/type/number_spec.rb +0 -7
- data/mod/05_standard/spec/set/type/phrase_spec.rb +0 -7
- data/mod/05_standard/spec/set/type/search_type_spec.rb +0 -59
- data/mod/05_standard/spec/set/type/set_spec.rb +0 -25
- data/mod/05_standard/spec/set/type/signup_spec.rb +0 -242
- data/mod/05_standard/spec/set/type/toggle_spec.rb +0 -12
- data/mod/05_standard/spec/set/type/uri_spec.rb +0 -41
- data/mod/06_bootstrap/set/all/bootstrap/form.rb +0 -34
- data/mod/06_bootstrap/set/all/bootstrap/helper.rb +0 -140
- data/mod/06_bootstrap/set/all/bootstrap/table.rb +0 -55
- data/mod/06_bootstrap/set/all/bootstrap/tabs.rb +0 -81
- data/mod/06_bootstrap/set/all/bootstrap/wrapper.rb +0 -11
- data/mod/06_bootstrap/set/all/rich_bootstrap.rb +0 -6
- data/mod/06_bootstrap/set/self/bootstrap_js.rb +0 -5
- data/mod/06_bootstrap/set/self/bootswatch_shared.rb +0 -40
- data/mod/06_bootstrap/set/self/smartmenu_css.rb +0 -5
- data/mod/06_bootstrap/set/self/smartmenu_js.rb +0 -5
- data/mod/06_bootstrap/spec/set/all/bootstrap/form_spec.rb +0 -13
- data/tmpsets/README.md +0 -2
- data/tmpsets/set/mod001-01_core/all/active_card.rb +0 -41
- data/tmpsets/set/mod001-01_core/all/collection.rb +0 -348
- data/tmpsets/set/mod001-01_core/all/content.rb +0 -67
- data/tmpsets/set/mod001-01_core/all/erb.rb +0 -18
- data/tmpsets/set/mod001-01_core/all/fetch.rb +0 -345
- data/tmpsets/set/mod001-01_core/all/haml.rb +0 -14
- data/tmpsets/set/mod001-01_core/all/initialize.rb +0 -48
- data/tmpsets/set/mod001-01_core/all/name.rb +0 -348
- data/tmpsets/set/mod001-01_core/all/pattern.rb +0 -64
- data/tmpsets/set/mod001-01_core/all/permissions.rb +0 -298
- data/tmpsets/set/mod001-01_core/all/phases.rb +0 -215
- data/tmpsets/set/mod001-01_core/all/references.rb +0 -106
- data/tmpsets/set/mod001-01_core/all/rules.rb +0 -317
- data/tmpsets/set/mod001-01_core/all/states.rb +0 -29
- data/tmpsets/set/mod001-01_core/all/templating.rb +0 -78
- data/tmpsets/set/mod001-01_core/all/tracked_attributes.rb +0 -152
- data/tmpsets/set/mod001-01_core/all/trash.rb +0 -63
- data/tmpsets/set/mod001-01_core/all/type.rb +0 -73
- data/tmpsets/set/mod001-01_core/all/utils.rb +0 -191
- data/tmpsets/set/mod001-01_core/all/view_cache.rb +0 -15
- data/tmpsets/set/mod002-01_history/all/actions.rb +0 -63
- data/tmpsets/set/mod002-01_history/all/content_history.rb +0 -162
- data/tmpsets/set/mod002-01_history/all/history.rb +0 -382
- data/tmpsets/set/mod003-02_basic_types/all/all_css.rb +0 -49
- data/tmpsets/set/mod003-02_basic_types/all/all_csv.rb +0 -59
- data/tmpsets/set/mod003-02_basic_types/all/all_js.rb +0 -14
- data/tmpsets/set/mod003-02_basic_types/all/base.rb +0 -157
- data/tmpsets/set/mod003-02_basic_types/all/file.rb +0 -19
- data/tmpsets/set/mod003-02_basic_types/all/json.rb +0 -73
- data/tmpsets/set/mod003-02_basic_types/all/rss.rb +0 -77
- data/tmpsets/set/mod003-02_basic_types/all/text.rb +0 -15
- data/tmpsets/set/mod003-02_basic_types/type/html.rb +0 -34
- data/tmpsets/set/mod003-02_basic_types/type/plain_text.rb +0 -20
- data/tmpsets/set/mod003-02_basic_types/type/pointer.rb +0 -386
- data/tmpsets/set/mod004-03_machines/right/machine_input.rb +0 -9
- data/tmpsets/set/mod004-03_machines/right/machine_output.rb +0 -39
- data/tmpsets/set/mod004-03_machines/self/script_ace.rb +0 -19
- data/tmpsets/set/mod004-03_machines/self/script_card_menu.rb +0 -18
- data/tmpsets/set/mod004-03_machines/self/script_html5shiv_printshiv.rb +0 -9
- data/tmpsets/set/mod004-03_machines/self/script_jquery.rb +0 -9
- data/tmpsets/set/mod004-03_machines/self/script_jquery_helper.rb +0 -19
- data/tmpsets/set/mod004-03_machines/self/script_slot.rb +0 -14
- data/tmpsets/set/mod004-03_machines/self/script_tinymce.rb +0 -9
- data/tmpsets/set/mod004-03_machines/self/style_bootstrap_compatible.rb +0 -12
- data/tmpsets/set/mod004-03_machines/self/style_cards.rb +0 -13
- data/tmpsets/set/mod004-03_machines/self/style_jquery_ui_smoothness.rb +0 -10
- data/tmpsets/set/mod004-03_machines/type/coffee_script.rb +0 -68
- data/tmpsets/set/mod004-03_machines/type/css.rb +0 -56
- data/tmpsets/set/mod004-03_machines/type/java_script.rb +0 -44
- data/tmpsets/set/mod004-03_machines/type/scss.rb +0 -29
- data/tmpsets/set/mod004-03_machines/type/skin.rb +0 -19
- data/tmpsets/set/mod005-04_settings/abstract/permission.rb +0 -107
- data/tmpsets/set/mod005-04_settings/right/add_help.rb +0 -18
- data/tmpsets/set/mod005-04_settings/right/comment.rb +0 -10
- data/tmpsets/set/mod005-04_settings/right/create.rb +0 -10
- data/tmpsets/set/mod005-04_settings/right/default.rb +0 -10
- data/tmpsets/set/mod005-04_settings/right/delete.rb +0 -10
- data/tmpsets/set/mod005-04_settings/right/help.rb +0 -10
- data/tmpsets/set/mod005-04_settings/right/read.rb +0 -10
- data/tmpsets/set/mod005-04_settings/right/script.rb +0 -17
- data/tmpsets/set/mod005-04_settings/right/structure.rb +0 -63
- data/tmpsets/set/mod005-04_settings/right/style.rb +0 -17
- data/tmpsets/set/mod005-04_settings/right/update.rb +0 -10
- data/tmpsets/set/mod005-04_settings/self/accountable.rb +0 -10
- data/tmpsets/set/mod005-04_settings/self/add_help.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/autoname.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/captcha.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/create.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/default.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/delete.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/help.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/input.rb +0 -8
- data/tmpsets/set/mod005-04_settings/self/layout.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/on_create.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/on_delete.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/on_update.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/options.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/options_label.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/read.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/recent_settings.rb +0 -10
- data/tmpsets/set/mod005-04_settings/self/script.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/structure.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/style.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/table_of_contents.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/thanks.rb +0 -9
- data/tmpsets/set/mod005-04_settings/self/update.rb +0 -9
- data/tmpsets/set/mod005-04_settings/type/setting.rb +0 -100
- data/tmpsets/set/mod006-05_email/all/email_html.rb +0 -12
- data/tmpsets/set/mod006-05_email/all/email_text.rb +0 -12
- data/tmpsets/set/mod006-05_email/all/follow.rb +0 -260
- data/tmpsets/set/mod006-05_email/all/notify.rb +0 -262
- data/tmpsets/set/mod006-05_email/all/observer.rb +0 -34
- data/tmpsets/set/mod006-05_email/right/bcc.rb +0 -52
- data/tmpsets/set/mod006-05_email/right/cc.rb +0 -10
- data/tmpsets/set/mod006-05_email/right/follow.rb +0 -118
- data/tmpsets/set/mod006-05_email/right/follow_fields.rb +0 -9
- data/tmpsets/set/mod006-05_email/right/followers.rb +0 -39
- data/tmpsets/set/mod006-05_email/right/following.rb +0 -68
- data/tmpsets/set/mod006-05_email/right/from.rb +0 -10
- data/tmpsets/set/mod006-05_email/right/html_message.rb +0 -10
- data/tmpsets/set/mod006-05_email/right/to.rb +0 -10
- data/tmpsets/set/mod006-05_email/self/always.rb +0 -21
- data/tmpsets/set/mod006-05_email/self/created.rb +0 -28
- data/tmpsets/set/mod006-05_email/self/edited.rb +0 -31
- data/tmpsets/set/mod006-05_email/self/follow.rb +0 -9
- data/tmpsets/set/mod006-05_email/self/follow_defaults.rb +0 -76
- data/tmpsets/set/mod006-05_email/self/never.rb +0 -22
- data/tmpsets/set/mod006-05_email/type/email_template.rb +0 -120
- data/tmpsets/set/mod006-05_email/type_plus_right/user/follow.rb +0 -183
- data/tmpsets/set/mod007-05_standard/abstract/attachment.rb +0 -301
- data/tmpsets/set/mod007-05_standard/all/account.rb +0 -72
- data/tmpsets/set/mod007-05_standard/all/comment.rb +0 -68
- data/tmpsets/set/mod007-05_standard/all/error.rb +0 -229
- data/tmpsets/set/mod007-05_standard/all/event_viz.rb +0 -76
- data/tmpsets/set/mod007-05_standard/all/links.rb +0 -164
- data/tmpsets/set/mod007-05_standard/all/rich_html/content.rb +0 -261
- data/tmpsets/set/mod007-05_standard/all/rich_html/editing.rb +0 -251
- data/tmpsets/set/mod007-05_standard/all/rich_html/form.rb +0 -291
- data/tmpsets/set/mod007-05_standard/all/rich_html/header.rb +0 -79
- data/tmpsets/set/mod007-05_standard/all/rich_html/menu.rb +0 -136
- data/tmpsets/set/mod007-05_standard/all/rich_html/modal.rb +0 -56
- data/tmpsets/set/mod007-05_standard/all/rich_html/toolbar.rb +0 -272
- data/tmpsets/set/mod007-05_standard/all/rich_html/wrapper.rb +0 -159
- data/tmpsets/set/mod007-05_standard/right/account.rb +0 -184
- data/tmpsets/set/mod007-05_standard/right/discussion.rb +0 -10
- data/tmpsets/set/mod007-05_standard/right/email.rb +0 -61
- data/tmpsets/set/mod007-05_standard/right/password.rb +0 -53
- data/tmpsets/set/mod007-05_standard/right/salt.rb +0 -12
- data/tmpsets/set/mod007-05_standard/right/stats.rb +0 -42
- data/tmpsets/set/mod007-05_standard/right/status.rb +0 -16
- data/tmpsets/set/mod007-05_standard/right/token.rb +0 -59
- data/tmpsets/set/mod007-05_standard/right/when_created.rb +0 -12
- data/tmpsets/set/mod007-05_standard/right/when_last_edited.rb +0 -12
- data/tmpsets/set/mod007-05_standard/rstar/rules.rb +0 -107
- data/tmpsets/set/mod007-05_standard/self/account_links.rb +0 -56
- data/tmpsets/set/mod007-05_standard/self/alerts.rb +0 -12
- data/tmpsets/set/mod007-05_standard/self/all.rb +0 -35
- data/tmpsets/set/mod007-05_standard/self/foot.rb +0 -15
- data/tmpsets/set/mod007-05_standard/self/head.rb +0 -140
- data/tmpsets/set/mod007-05_standard/self/navbox.rb +0 -40
- data/tmpsets/set/mod007-05_standard/self/now.rb +0 -13
- data/tmpsets/set/mod007-05_standard/self/performance_log.rb +0 -98
- data/tmpsets/set/mod007-05_standard/self/recent.rb +0 -55
- data/tmpsets/set/mod007-05_standard/self/search.rb +0 -73
- data/tmpsets/set/mod007-05_standard/self/signin.rb +0 -140
- data/tmpsets/set/mod007-05_standard/self/stats.rb +0 -110
- data/tmpsets/set/mod007-05_standard/self/version.rb +0 -16
- data/tmpsets/set/mod007-05_standard/type/basic.rb +0 -53
- data/tmpsets/set/mod007-05_standard/type/cardtype.rb +0 -81
- data/tmpsets/set/mod007-05_standard/type/date.rb +0 -15
- data/tmpsets/set/mod007-05_standard/type/file.rb +0 -155
- data/tmpsets/set/mod007-05_standard/type/image.rb +0 -89
- data/tmpsets/set/mod007-05_standard/type/layout_type.rb +0 -22
- data/tmpsets/set/mod007-05_standard/type/number.rb +0 -26
- data/tmpsets/set/mod007-05_standard/type/phrase.rb +0 -10
- data/tmpsets/set/mod007-05_standard/type/search_type.rb +0 -318
- data/tmpsets/set/mod007-05_standard/type/session.rb +0 -43
- data/tmpsets/set/mod007-05_standard/type/set.rb +0 -359
- data/tmpsets/set/mod007-05_standard/type/signup.rb +0 -176
- data/tmpsets/set/mod007-05_standard/type/toggle.rb +0 -19
- data/tmpsets/set/mod007-05_standard/type/uri.rb +0 -18
- data/tmpsets/set/mod007-05_standard/type/user.rb +0 -88
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/form.rb +0 -42
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/helper.rb +0 -151
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/wrapper.rb +0 -19
- data/tmpsets/set/mod008-06_bootstrap/all/rich_bootstrap.rb +0 -15
- data/tmpsets/set/mod008-06_bootstrap/self/bootstrap_cards.rb +0 -16
- data/tmpsets/set/mod008-06_bootstrap/self/bootstrap_js.rb +0 -14
- data/tmpsets/set/mod008-06_bootstrap/self/bootswatch_shared.rb +0 -39
- data/tmpsets/set/mod008-06_bootstrap/self/smartmenu_css.rb +0 -14
- data/tmpsets/set/mod008-06_bootstrap/self/smartmenu_js.rb +0 -13
@@ -0,0 +1,60 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
describe Card::Set::All::Name do
|
4
|
+
describe "autoname" do
|
5
|
+
before do
|
6
|
+
Card::Auth.as_bot do
|
7
|
+
@b1 = Card.create! name: "Book+*type+*autoname", content: "b1"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should handle cards without names" do
|
12
|
+
c = Card.create! type: "Book"
|
13
|
+
expect(c.name).to eq("b1")
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should increment again if name already exists" do
|
17
|
+
_b1 = Card.create! type: "Book"
|
18
|
+
b2 = Card.create! type: "Book"
|
19
|
+
expect(b2.name).to eq("b2")
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should handle trashed names" do
|
23
|
+
b1 = Card.create! type: "Book"
|
24
|
+
Card::Auth.as_bot { b1.delete }
|
25
|
+
b1 = Card.create! type: "Book"
|
26
|
+
expect(b1.name).to eq("b1")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "codename" do
|
31
|
+
before :each do
|
32
|
+
@card = Card["a"]
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should require admin permission" do
|
36
|
+
@card.update_attributes codename: "structure"
|
37
|
+
expect(@card.errors[:codename].first).to match(/only admins/)
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should check uniqueness" do
|
41
|
+
Card::Auth.as_bot do
|
42
|
+
@card.update_attributes codename: "structure"
|
43
|
+
expect(@card.errors[:codename].first).to match(/already in use/)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "repair_key" do
|
49
|
+
it "should fix broken keys" do
|
50
|
+
a = Card["a"]
|
51
|
+
a.update_column "key", "broken_a"
|
52
|
+
a.expire
|
53
|
+
|
54
|
+
a = Card.find a.id
|
55
|
+
expect(a.key).to eq("broken_a")
|
56
|
+
a.repair_key
|
57
|
+
expect(a.key).to eq("a")
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
describe Card::Set::All::Pattern do
|
4
|
+
describe :set_names do
|
5
|
+
it "returns self, type, all for simple cards" do
|
6
|
+
Card::Auth.as_bot do
|
7
|
+
card = Card.new(name: "AnewCard")
|
8
|
+
expect(card.set_names).to eq(["Basic+*type", "*all"])
|
9
|
+
card.save!
|
10
|
+
card = Card.fetch("AnewCard")
|
11
|
+
expect(card.set_names).to eq(["AnewCard+*self", "Basic+*type", "*all"])
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
it "returns set names for simple star cards" do
|
16
|
+
Card::Auth.as_bot do
|
17
|
+
expect(Card.fetch("*update").set_names).to eq(
|
18
|
+
[
|
19
|
+
"*update+*self", "*star", "Setting+*type", "*all"
|
20
|
+
]
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it "returns set names for junction cards" do
|
26
|
+
Card::Auth.as_bot do
|
27
|
+
expect(Card.new(name: "Iliad+author").set_names).to eq(
|
28
|
+
[
|
29
|
+
"Book+author+*type plus right", "author+*right", "Basic+*type",
|
30
|
+
"*all plus", "*all"
|
31
|
+
]
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
it "returns set names for compound star cards" do
|
37
|
+
Card::Auth.as_bot do
|
38
|
+
expect(Card.new(name: "Iliad+*to").set_names).to eq(
|
39
|
+
[
|
40
|
+
"Book+*to+*type plus right", "*to+*right", "*rstar",
|
41
|
+
"Pointer+*type", "*all plus", "*all"
|
42
|
+
]
|
43
|
+
)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# right place for this? really need more prototype tests...
|
48
|
+
it "handles type plus right prototypes properly" do
|
49
|
+
Card::Auth.as_bot do
|
50
|
+
sets = Card.fetch("Fruit+flavor+*type plus right").prototype.set_names
|
51
|
+
expect(sets.include?("Fruit+flavor+*type plus right")).to be_truthy
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe :rule_set_keys do
|
57
|
+
it "returns correct set names for new cards" do
|
58
|
+
card = Card.new name: "AnewCard"
|
59
|
+
expect(card.rule_set_keys).to eq(["#{Card::BasicID}+type", "all"])
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe :safe_set_keys do
|
64
|
+
it "returns css names for simple star cards" do
|
65
|
+
Card::Auth.as_bot do
|
66
|
+
card = Card.new(name: "*AnewCard")
|
67
|
+
expect(card.safe_set_keys).to eq("ALL TYPE-basic STAR")
|
68
|
+
card.save!
|
69
|
+
card = Card.fetch("*AnewCard")
|
70
|
+
expect(card.safe_set_keys).to eq("ALL TYPE-basic STAR SELF-Xanew_card")
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
it "returns set names for junction cards" do
|
75
|
+
card = Card.new(name: "Iliad+author")
|
76
|
+
expect(card.safe_set_keys).to eq(
|
77
|
+
"ALL ALL_PLUS TYPE-basic RIGHT-author TYPE_PLUS_RIGHT-book-author"
|
78
|
+
)
|
79
|
+
card.save!
|
80
|
+
card = Card.fetch("Iliad+author")
|
81
|
+
expect(card.safe_set_keys).to eq(
|
82
|
+
"ALL ALL_PLUS TYPE-basic RIGHT-author TYPE_PLUS_RIGHT-book-author "\
|
83
|
+
"SELF-iliad-author"
|
84
|
+
)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe :label do
|
89
|
+
it "returns label for name" do
|
90
|
+
expect(Card.new(name: "address+*right").label)
|
91
|
+
.to eq(%(All "+address" cards))
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,536 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
class ::Card
|
4
|
+
def writeable_by user
|
5
|
+
Card::Auth.as(user.id) do
|
6
|
+
# warn "writeable #{Card::Auth.as_id}, #{user.inspect}"
|
7
|
+
ok? :update
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def readable_by user
|
12
|
+
Card::Auth.as(user.id) do
|
13
|
+
ok? :read
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
module PermissionSpecHelper
|
19
|
+
def assert_hidden_from user, card, msg=""
|
20
|
+
Card::Auth.as(user.id) { assert_hidden(card, msg) }
|
21
|
+
end
|
22
|
+
|
23
|
+
def assert_not_hidden_from user, card, msg=""
|
24
|
+
Card::Auth.as(user.id) { assert_not_hidden(card, msg) }
|
25
|
+
end
|
26
|
+
|
27
|
+
def assert_locked_from user, card, msg=""
|
28
|
+
Card::Auth.as(user.id) { assert_locked(card, msg) }
|
29
|
+
end
|
30
|
+
|
31
|
+
def assert_not_locked_from user, card, msg=""
|
32
|
+
Card::Auth.as(user.id) { assert_not_locked(card, msg) }
|
33
|
+
end
|
34
|
+
|
35
|
+
def assert_hidden card, msg=""
|
36
|
+
assert !card.ok?(:read)
|
37
|
+
assert_equal [], Card.search(id: card.id).map(&:name), msg
|
38
|
+
end
|
39
|
+
|
40
|
+
def assert_not_hidden card, msg=""
|
41
|
+
assert card.ok?(:read)
|
42
|
+
assert_equal [card.name], Card.search(id: card.id).map(&:name), msg
|
43
|
+
end
|
44
|
+
|
45
|
+
def assert_locked card, msg=""
|
46
|
+
assert_equal false, card.ok?(:update), msg
|
47
|
+
end
|
48
|
+
|
49
|
+
def assert_not_locked card, msg=""
|
50
|
+
assert_equal true, card.ok?(:update), msg
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
include PermissionSpecHelper
|
55
|
+
|
56
|
+
describe Card::Set::All::Permissions do
|
57
|
+
# FIXME: lots of good tests here, butmysql generally disorganized.
|
58
|
+
|
59
|
+
describe "reader rules" do
|
60
|
+
before do
|
61
|
+
@perm_card = Card.new name: "Home+*self+*read", type: "Pointer",
|
62
|
+
content: "[[Anyone Signed In]]"
|
63
|
+
end
|
64
|
+
|
65
|
+
it "is *all+*read by default" do
|
66
|
+
card = Card.fetch("Home")
|
67
|
+
expect(card.read_rule_id).to eq(Card.fetch("*all+*read").id)
|
68
|
+
expect(card.who_can(:read)).to eq([Card::AnyoneID])
|
69
|
+
Card::Auth.as(:anonymous) { expect(card.ok?(:read)).to be_truthy }
|
70
|
+
end
|
71
|
+
|
72
|
+
it "updates to role ('Anyone Signed In')" do
|
73
|
+
name = @perm_card.name
|
74
|
+
Card::Auth.as_bot { @perm_card.save! }
|
75
|
+
pc = Card[name]
|
76
|
+
card = Card["Home"]
|
77
|
+
# warn "card #{name}, #{card.inspect}, #{pc.inspect}"
|
78
|
+
expect(pc).to be
|
79
|
+
expect(card.read_rule_id).to eq(pc.id)
|
80
|
+
expect(card.who_can(:read)).to eq([Card::AnyoneSignedInID])
|
81
|
+
Card::Auth.as(:anonymous) { expect(card.ok?(:read)).to be_falsey }
|
82
|
+
end
|
83
|
+
|
84
|
+
it "updates to user ('Joe Admin')" do
|
85
|
+
@perm_card.content = "[[Joe Admin]]"
|
86
|
+
Card::Auth.as_bot { @perm_card.save! }
|
87
|
+
|
88
|
+
card = Card.fetch("Home")
|
89
|
+
expect(card.read_rule_id).to eq(@perm_card.id)
|
90
|
+
expect(card.who_can(:read)).to eq([Card["joe_admin"].id])
|
91
|
+
Card::Auth.as(:anonymous) { expect(card.ok?(:read)).to be_falsey }
|
92
|
+
Card::Auth.as("joe_user") { expect(card.ok?(:read)).to be_falsey }
|
93
|
+
Card::Auth.as("joe_admin") { expect(card.ok?(:read)).to be_truthy }
|
94
|
+
Card::Auth.as_bot { expect(card.ok?(:read)).to be_truthy }
|
95
|
+
end
|
96
|
+
|
97
|
+
context "when more specific (self) rule is deleted" do
|
98
|
+
it "reverts to more general rule" do
|
99
|
+
Card::Auth.as_bot do
|
100
|
+
@perm_card.save!
|
101
|
+
@perm_card.delete!
|
102
|
+
end
|
103
|
+
card = Card.fetch("Home")
|
104
|
+
expect(card.read_rule_id).to eq(Card.fetch("*all+*read").id)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
context "when more specific (right) rule is deleted" do
|
109
|
+
it "reverts to more general rule" do
|
110
|
+
pc = nil
|
111
|
+
Card::Auth.as_bot do
|
112
|
+
pc = Card.create name: "B+*right+*read", type: "Pointer",
|
113
|
+
content: "[[Anyone Signed In]]"
|
114
|
+
end
|
115
|
+
expect(pc).to be
|
116
|
+
card = Card.fetch("A+B")
|
117
|
+
expect(card.read_rule_id).to eq(pc.id)
|
118
|
+
# important to re-fetch to catch issues
|
119
|
+
# with detecting change in trash status.
|
120
|
+
pc = Card.fetch(pc.name)
|
121
|
+
Card::Auth.as_bot { pc.delete }
|
122
|
+
card = Card.fetch("A+B")
|
123
|
+
expect(card.read_rule_id).to eq(Card.fetch("*all+*read").id)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
context "when more specific rule is renamed" do
|
128
|
+
it "reverts to more general rule" do
|
129
|
+
Card::Auth.as_bot do
|
130
|
+
@perm_card.save!
|
131
|
+
@perm_card = Card[@perm_card.name]
|
132
|
+
@perm_card.name = "Something else+*self+*read"
|
133
|
+
@perm_card.save!
|
134
|
+
end
|
135
|
+
|
136
|
+
card = Card.fetch("Home")
|
137
|
+
expect(card.read_rule_id).to eq(Card.fetch("*all+*read").id)
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
it "gets not overruled by a more general rule added later" do
|
142
|
+
Card::Auth.as_bot do
|
143
|
+
@perm_card.save!
|
144
|
+
c = Card.fetch("Home")
|
145
|
+
c.type_id = Card::PhraseID
|
146
|
+
c.save!
|
147
|
+
Card.create name: "Phrase+*type+*read", type: "Pointer",
|
148
|
+
content: "[[Joe User]]"
|
149
|
+
end
|
150
|
+
|
151
|
+
card = Card.fetch("Home")
|
152
|
+
expect(card.read_rule_id).to eq(@perm_card.id)
|
153
|
+
end
|
154
|
+
|
155
|
+
it "gets updated when trunk type change makes " \
|
156
|
+
"type-plus-right apply / unapply" do
|
157
|
+
@perm_card.name = "Phrase+B+*type plus right+*read"
|
158
|
+
Card::Auth.as_bot { @perm_card.save! }
|
159
|
+
expect(Card.fetch("A+B").read_rule_id).to eq(Card.fetch("*all+*read").id)
|
160
|
+
c = Card.fetch("A")
|
161
|
+
c.type_id = Card::PhraseID
|
162
|
+
c.save!
|
163
|
+
expect(Card.fetch("A+B").read_rule_id).to eq(@perm_card.id)
|
164
|
+
end
|
165
|
+
|
166
|
+
it "works with relative settings" do
|
167
|
+
Card::Auth.as_bot do
|
168
|
+
@perm_card.save!
|
169
|
+
all_plus = Card.fetch "*all plus+*read", new: { content: "_left" }
|
170
|
+
all_plus.save
|
171
|
+
end
|
172
|
+
c = Card.new(name: "Home+Heart")
|
173
|
+
expect(c.who_can(:read)).to eq([Card::AnyoneSignedInID])
|
174
|
+
expect(c.permission_rule_id_and_class(:read).first).to eq(@perm_card.id)
|
175
|
+
c.save
|
176
|
+
expect(c.read_rule_id).to eq(@perm_card.id)
|
177
|
+
end
|
178
|
+
|
179
|
+
it "should get updated when relative settings change" do
|
180
|
+
Card::Auth.as_bot do
|
181
|
+
all_plus = Card.fetch "*all plus+*read", new: { content: "_left" }
|
182
|
+
all_plus.save
|
183
|
+
end
|
184
|
+
c = Card.new(name: "Home+Heart")
|
185
|
+
expect(c.who_can(:read)).to eq([Card::AnyoneID])
|
186
|
+
expect(c.permission_rule_id_and_class(:read).first).to(
|
187
|
+
eq(Card.fetch("*all+*read").id)
|
188
|
+
)
|
189
|
+
c.save
|
190
|
+
expect(c.read_rule_id).to eq(Card.fetch("*all+*read").id)
|
191
|
+
Card::Auth.as_bot { @perm_card.save! }
|
192
|
+
c2 = Card.fetch("Home+Heart")
|
193
|
+
expect(c2.who_can(:read)).to eq([Card::AnyoneSignedInID])
|
194
|
+
expect(c2.read_rule_id).to eq(@perm_card.id)
|
195
|
+
expect(Card.fetch("Home+Heart").read_rule_id).to(
|
196
|
+
eq(@perm_card.id)
|
197
|
+
)
|
198
|
+
Card::Auth.as_bot { @perm_card.delete }
|
199
|
+
expect(Card.fetch("Home").read_rule_id).to eq(Card.fetch("*all+*read").id)
|
200
|
+
expect(Card.fetch("Home+Heart").read_rule_id).to(
|
201
|
+
eq(Card.fetch("*all+*read").id)
|
202
|
+
)
|
203
|
+
end
|
204
|
+
|
205
|
+
it "should insure that class overrides work with relative settings" do
|
206
|
+
Card::Auth.as_bot do
|
207
|
+
all_plus = Card.fetch "*all plus+*read", new: { content: "_left" }
|
208
|
+
all_plus.save
|
209
|
+
Card::Auth.as_bot { @perm_card.save! }
|
210
|
+
c = Card.create(name: "Home+Heart")
|
211
|
+
expect(c.read_rule_id).to eq(@perm_card.id)
|
212
|
+
r = Card.create name: "Heart+*right+*read", type: "Pointer",
|
213
|
+
content: "[[Administrator]]"
|
214
|
+
expect(Card.fetch("Home+Heart").read_rule_id).to eq(r.id)
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
it "should work on virtual+virtual cards" do
|
219
|
+
c = Card.fetch("Number+*type+by name")
|
220
|
+
expect(c.ok?(:read)).to be_truthy
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
context "??" do
|
225
|
+
before do
|
226
|
+
Card::Auth.as_bot do
|
227
|
+
# Card::Auth.cache.reset
|
228
|
+
@u1, @u2, @u3, @r1, @r2, @r3, @c1, @c2, @c3 =
|
229
|
+
%w(u1 u2 u3 r1 r2 r3 c1 c2 c3).map { |x| Card[x] }
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
it "checking ok read should not add to errors" do
|
234
|
+
Card::Auth.as_bot do
|
235
|
+
expect(Card::Auth.always_ok?).to eq(true)
|
236
|
+
end
|
237
|
+
Card::Auth.as("joe_user") do
|
238
|
+
expect(Card::Auth.always_ok?).to eq(false)
|
239
|
+
end
|
240
|
+
Card::Auth.as("joe_admin") do
|
241
|
+
expect(Card::Auth.always_ok?).to eq(true)
|
242
|
+
Card.create! name: "Hidden"
|
243
|
+
Card.create name: "Hidden+*self+*read", type: "Pointer",
|
244
|
+
content: "[[Anyone Signed In]]"
|
245
|
+
end
|
246
|
+
|
247
|
+
Card::Auth.as(:anonymous) do
|
248
|
+
h = Card.fetch("Hidden")
|
249
|
+
expect(h.ok?(:read)).to eq(false)
|
250
|
+
expect(h.errors.empty?).not_to eq(nil)
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
it "should be granted to admin if to anybody" do
|
255
|
+
Card::Auth.as_bot do
|
256
|
+
c1 = Card["c1"]
|
257
|
+
Card.create! name: "c1+*self+*comment", type: "Pointer",
|
258
|
+
content: "[[r1]]"
|
259
|
+
expect(c1.who_can(:comment)).to eq([Card["r1"].id])
|
260
|
+
expect(c1.ok?(:comment)).to be_truthy
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
264
|
+
it "reader setting" do
|
265
|
+
Card.where(trash: false).each do |ca|
|
266
|
+
rule_id, rule_class = ca.permission_rule_id_and_class(:read)
|
267
|
+
next if rule_class != ca.read_rule_class
|
268
|
+
expect(rule_class).to eq(ca.read_rule_class)
|
269
|
+
expect(rule_id).to eq(ca.read_rule_id)
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
it "write user permissions" do
|
274
|
+
Card::Auth.as_bot do
|
275
|
+
@u1.fetch(trait: :roles, new: {}).items = [@r1, @r2]
|
276
|
+
@u2.fetch(trait: :roles, new: {}).items = [@r1, @r3]
|
277
|
+
@u3.fetch(trait: :roles, new: {}).items = [@r1, @r2, @r3]
|
278
|
+
|
279
|
+
(1..3).map do |num|
|
280
|
+
Card.create name: "c#{num}+*self+*update", type: "Pointer",
|
281
|
+
content: "[[u#{num}]]"
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
285
|
+
@c1 = Card["c1"]
|
286
|
+
assert_not_locked_from(@u1, @c1)
|
287
|
+
assert_locked_from(@u2, @c1)
|
288
|
+
assert_locked_from(@u3, @c1)
|
289
|
+
|
290
|
+
@c2 = Card["c2"]
|
291
|
+
assert_locked_from(@u1, @c2)
|
292
|
+
assert_not_locked_from(@u2, @c2)
|
293
|
+
assert_locked_from(@u3, @c2)
|
294
|
+
end
|
295
|
+
|
296
|
+
it "read group permissions" do
|
297
|
+
Card::Auth.as_bot do
|
298
|
+
@u1.fetch(trait: :roles).items = [@r1, @r2]
|
299
|
+
@u2.fetch(trait: :roles).items = [@r1, @r3]
|
300
|
+
|
301
|
+
(1..3).each do |num|
|
302
|
+
Card.create name: "c#{num}+*self+*read", type: "Pointer",
|
303
|
+
content: "[[r#{num}]]"
|
304
|
+
end
|
305
|
+
end
|
306
|
+
|
307
|
+
assert_not_hidden_from(@u1, @c1)
|
308
|
+
assert_not_hidden_from(@u1, @c2)
|
309
|
+
assert_hidden_from(@u1, @c3)
|
310
|
+
|
311
|
+
assert_not_hidden_from(@u2, @c1)
|
312
|
+
assert_hidden_from(@u2, @c2)
|
313
|
+
assert_not_hidden_from(@u2, @c3)
|
314
|
+
end
|
315
|
+
|
316
|
+
it "write group permissions" do
|
317
|
+
Card::Auth.as_bot do
|
318
|
+
(1..3).each do |num|
|
319
|
+
Card.create name: "c#{num}+*self+*update", type: "Pointer",
|
320
|
+
content: "[[r#{num}]]"
|
321
|
+
end
|
322
|
+
|
323
|
+
@u3.fetch(trait: :roles, new: {}).items = [@r1]
|
324
|
+
end
|
325
|
+
|
326
|
+
# u1 u2 u3
|
327
|
+
# c1(r1) T T T
|
328
|
+
# c2(r2) T T F
|
329
|
+
# c3(r3) T F F
|
330
|
+
assert_equal true, @c1.writeable_by(@u1), "c1 writeable by u1"
|
331
|
+
assert_equal true, @c1.writeable_by(@u2), "c1 writeable by u2"
|
332
|
+
assert_equal true, @c1.writeable_by(@u3), "c1 writeable by u3"
|
333
|
+
assert_equal true, @c2.writeable_by(@u1), "c2 writeable by u1"
|
334
|
+
assert_equal true, @c2.writeable_by(@u2), "c2 writeable by u2"
|
335
|
+
assert_equal false, @c2.writeable_by(@u3), "c2 writeable by u3"
|
336
|
+
assert_equal true, @c3.writeable_by(@u1), "c3 writeable by u1"
|
337
|
+
assert_equal false, @c3.writeable_by(@u2), "c3 writeable by u2"
|
338
|
+
assert_equal false, @c3.writeable_by(@u3), "c3 writeable by u3"
|
339
|
+
end
|
340
|
+
|
341
|
+
it "read user permissions" do
|
342
|
+
Card::Auth.as_bot do
|
343
|
+
@u1.fetch(trait: :roles, new: {}).items = [@r1, @r2]
|
344
|
+
@u2.fetch(trait: :roles, new: {}).items = [@r1, @r3]
|
345
|
+
@u3.fetch(trait: :roles, new: {}).items = [@r1, @r2, @r3]
|
346
|
+
|
347
|
+
(1..3).each do |num|
|
348
|
+
Card.create name: "c#{num}+*self+*read", type: "Pointer",
|
349
|
+
content: "[[u#{num}]]"
|
350
|
+
end
|
351
|
+
end
|
352
|
+
|
353
|
+
# NOTE: retrieving private cards is known not to work now.
|
354
|
+
# assert_not_hidden_from(@u1, @c1)
|
355
|
+
# assert_not_hidden_from(@u2, @c2)
|
356
|
+
|
357
|
+
assert_hidden_from(@u2, @c1)
|
358
|
+
assert_hidden_from(@u3, @c1)
|
359
|
+
assert_hidden_from(@u1, @c2)
|
360
|
+
assert_hidden_from(@u3, @c2)
|
361
|
+
end
|
362
|
+
|
363
|
+
context "create permissions" do
|
364
|
+
before do
|
365
|
+
Card::Auth.as_bot do
|
366
|
+
Card.create! name: "*structure+*right+*create", type: "Pointer",
|
367
|
+
content: "[[Anyone Signed In]]"
|
368
|
+
Card.create! name: "*self+*right+*create", type: "Pointer",
|
369
|
+
content: "[[Anyone Signed In]]"
|
370
|
+
end
|
371
|
+
end
|
372
|
+
|
373
|
+
it "inherits" do
|
374
|
+
Card::Auth.as(:anyone_signed_in) do
|
375
|
+
# explicitly granted above
|
376
|
+
expect(Card.fetch("A+*self").ok?(:create)).to be_truthy
|
377
|
+
# by default restricted
|
378
|
+
expect(Card.fetch("A+*right").ok?(:create)).to be_falsey
|
379
|
+
|
380
|
+
expect(Card.fetch("A+*self+*structure", new: {}).ok?(:create)).to(
|
381
|
+
be_truthy # +*structure granted;
|
382
|
+
)
|
383
|
+
expect(Card.fetch("A+*right+*structure", new: {}).ok?(:create)).to(
|
384
|
+
be_falsey # can't create A+B, therefore can't create A+B+C
|
385
|
+
)
|
386
|
+
end
|
387
|
+
end
|
388
|
+
end
|
389
|
+
|
390
|
+
it "private wql" do
|
391
|
+
# set up cards of type TestType, 2 with nil reader, 1 with role1 reader
|
392
|
+
Card::Auth.as_bot do
|
393
|
+
[@c1, @c2, @c3].each do |c|
|
394
|
+
c.update_attributes content: "WeirdWord"
|
395
|
+
end
|
396
|
+
Card.create(name: "c1+*self+*read", type: "Pointer", content: "[[u1]]")
|
397
|
+
end
|
398
|
+
|
399
|
+
Card::Auth.as(@u1) do
|
400
|
+
expect(Card.search(content: "WeirdWord").map(&:name).sort).to(
|
401
|
+
eq %w(c1 c2 c3)
|
402
|
+
)
|
403
|
+
end
|
404
|
+
Card::Auth.as(@u2) do
|
405
|
+
expect(Card.search(content: "WeirdWord").map(&:name).sort).to(
|
406
|
+
eq %w(c2 c3)
|
407
|
+
)
|
408
|
+
end
|
409
|
+
end
|
410
|
+
|
411
|
+
it "role wql" do
|
412
|
+
# warn "u1 roles #{Card[ @u1.id ].fetch(trait:
|
413
|
+
# :roles).item_names.inspect}"
|
414
|
+
|
415
|
+
# set up cards of type TestType, 2 with nil reader, 1 with role1 reader
|
416
|
+
Card::Auth.as_bot do
|
417
|
+
[@c1, @c2, @c3].each do |c|
|
418
|
+
c.update_attributes content: "WeirdWord"
|
419
|
+
end
|
420
|
+
Card.create(name: "c1+*self+*read", type: "Pointer", content: "[[r3]]")
|
421
|
+
end
|
422
|
+
|
423
|
+
Card::Auth.as(@u1) do
|
424
|
+
expect(Card.search(content: "WeirdWord").map(&:name).sort).to(
|
425
|
+
eq(%w(c1 c2 c3))
|
426
|
+
)
|
427
|
+
end
|
428
|
+
# for Card::Auth.as to be effective, you can't have a logged in user
|
429
|
+
Card::Auth.current_id = nil
|
430
|
+
Card::Auth.as(@u2) do
|
431
|
+
expect(Card.search(content: "WeirdWord").map(&:name).sort).to(
|
432
|
+
eq(%w(c2 c3))
|
433
|
+
)
|
434
|
+
end
|
435
|
+
end
|
436
|
+
|
437
|
+
def permission_matrix
|
438
|
+
# TODO
|
439
|
+
# generate this graph three ways:
|
440
|
+
# given a card with editor in group X, can Y edit it?
|
441
|
+
# given a card with reader in group X, can Y view it?
|
442
|
+
# given c card with group anon, can Y change the reader/writer to X
|
443
|
+
|
444
|
+
# X,Y in Anon, auth Member, auth Nonmember, admin
|
445
|
+
|
446
|
+
%(
|
447
|
+
A V C J G
|
448
|
+
A * * * * *
|
449
|
+
V * * . * .
|
450
|
+
C * * * . .
|
451
|
+
J * * . . .
|
452
|
+
G * . . . .
|
453
|
+
)
|
454
|
+
end
|
455
|
+
end
|
456
|
+
|
457
|
+
it "should let joe view new cards" do
|
458
|
+
expect(Card.new.ok?(:read)).to be_truthy
|
459
|
+
end
|
460
|
+
|
461
|
+
context "default permissions" do
|
462
|
+
before do
|
463
|
+
@c = Card.create! name: "sky blue"
|
464
|
+
end
|
465
|
+
|
466
|
+
it "should let anonymous users view basic cards" do
|
467
|
+
Card::Auth.as :anonymous do
|
468
|
+
expect(@c.ok?(:read)).to be_truthy
|
469
|
+
end
|
470
|
+
end
|
471
|
+
|
472
|
+
it "should let joe user basic cards" do
|
473
|
+
Card::Auth.as "joe_user" do
|
474
|
+
expect(@c.ok?(:read)).to be_truthy
|
475
|
+
end
|
476
|
+
end
|
477
|
+
end
|
478
|
+
|
479
|
+
it "should allow anyone signed in to create Basic Cards" do
|
480
|
+
expect(Card.new.ok?(:create)).to be_truthy
|
481
|
+
end
|
482
|
+
|
483
|
+
it "should not allow someone not signed in to create Basic Cards" do
|
484
|
+
Card::Auth.as :anonymous do
|
485
|
+
expect(Card.new.ok?(:create)).not_to be_truthy
|
486
|
+
end
|
487
|
+
end
|
488
|
+
|
489
|
+
context "settings based permissions" do
|
490
|
+
before do
|
491
|
+
Card::Auth.as_bot do
|
492
|
+
@delete_rule_card = Card.fetch "*all+*delete", new: {}
|
493
|
+
@delete_rule_card.type_id = Card::PointerID
|
494
|
+
@delete_rule_card.content = "[[Joe_User]]"
|
495
|
+
@delete_rule_card.save!
|
496
|
+
end
|
497
|
+
end
|
498
|
+
|
499
|
+
it "should handle delete as a setting" do
|
500
|
+
c = Card.new name: "whatever"
|
501
|
+
expect(c.who_can(:delete)).to eq([Card["joe_user"].id])
|
502
|
+
Card::Auth.as("joe_user") do
|
503
|
+
expect(c.ok?(:delete)).to eq(true)
|
504
|
+
end
|
505
|
+
Card::Auth.as("u1") do
|
506
|
+
expect(c.ok?(:delete)).to eq(false)
|
507
|
+
end
|
508
|
+
Card::Auth.as(:anonymous) do
|
509
|
+
expect(c.ok?(:delete)).to eq(false)
|
510
|
+
end
|
511
|
+
Card::Auth.as_bot do
|
512
|
+
expect(c.ok?(:delete)).to eq(true) # because administrator
|
513
|
+
end
|
514
|
+
end
|
515
|
+
end
|
516
|
+
|
517
|
+
it "create read rule as subcard" do
|
518
|
+
Card::Auth.as_bot do
|
519
|
+
Card.create! name: "read rule test",
|
520
|
+
subcards: {
|
521
|
+
"+*self+*read" => { content: "[[Administrator]]" }
|
522
|
+
}
|
523
|
+
expect(Card["read rule test"].read_rule_class)
|
524
|
+
.to eq("*self")
|
525
|
+
rule_id = Card.fetch_id "read rule test+*self+*read"
|
526
|
+
expect(Card["read rule test"].read_rule_id)
|
527
|
+
.to eq(rule_id)
|
528
|
+
end
|
529
|
+
end
|
530
|
+
end
|
531
|
+
|
532
|
+
# FIXME-perm
|
533
|
+
|
534
|
+
# need test for
|
535
|
+
# changing cardtypes gives you correct permissions
|
536
|
+
# (changing cardtype in general...)
|