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
@@ -1,88 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
|
3
|
-
describe Card::Set::All::Initialize do
|
4
|
-
describe 'new' do
|
5
|
-
it 'handles explicit nil as parameters' do
|
6
|
-
c = Card.new nil
|
7
|
-
expect(c).to be_instance_of(Card)
|
8
|
-
expect(c.name).to eq('')
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'handles nil name' do
|
12
|
-
c = Card.new name: nil
|
13
|
-
expect(c).to be_instance_of(Card)
|
14
|
-
expect(c.name).to eq('')
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'handles legit name' do
|
18
|
-
c = Card.new name: 'Ceee'
|
19
|
-
expect(c).to be_instance_of(Card)
|
20
|
-
expect(c.name).to eq('Ceee')
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'handles no type' do
|
24
|
-
c = Card.new
|
25
|
-
expect(c.type_id).to eq(Card::BasicID)
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'handles nil type_id' do
|
29
|
-
c = Card.new name: 'Ceee', type_id: nil
|
30
|
-
expect(c.type_id).to eq(Card::BasicID)
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'handles empty string type_id' do
|
34
|
-
c = Card.new type_id: ''
|
35
|
-
expect(c.type_id).to eq(Card::BasicID)
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'handles cardtype name and casespace variant as type' do
|
39
|
-
expect(Card.new(type: 'Phrase').type_id).to eq(Card::PhraseID)
|
40
|
-
expect(Card.new(type: 'PHRASE').type_id).to eq(Card::PhraseID)
|
41
|
-
expect(Card.new(type: 'phrase').type_id).to eq(Card::PhraseID)
|
42
|
-
expect(Card.new(type: 'phrase??').type_id).to eq(Card::PhraseID)
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'handles type_code' do
|
46
|
-
expect(Card.new(type_code: 'phrase').type_id).to eq(Card::PhraseID)
|
47
|
-
expect(Card.new(type_code: :phrase).type_id).to eq(Card::PhraseID)
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'handles type_id' do
|
51
|
-
expect(Card.new(type_id: Card::PhraseID).type_code).to eq(:phrase)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
describe 'module inclusion' do
|
56
|
-
context '(search)' do
|
57
|
-
before do
|
58
|
-
@c = Card.new type: 'Search', name: 'Module Inclusion Test Card'
|
59
|
-
end
|
60
|
-
|
61
|
-
it 'happens after new' do
|
62
|
-
expect(@c.respond_to?(:get_query)).to be_truthy
|
63
|
-
end
|
64
|
-
|
65
|
-
it 'happens after save' do
|
66
|
-
expect(@c.respond_to?(:get_query)).to be_truthy
|
67
|
-
@c.save!
|
68
|
-
expect(@c.respond_to?(:get_query)).to be_truthy
|
69
|
-
end
|
70
|
-
|
71
|
-
it 'happens after fetch' do
|
72
|
-
@c.save!
|
73
|
-
c = Card.fetch(@c.name)
|
74
|
-
expect(c.respond_to?(:get_query)).to be_truthy
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
context '(pointer)' do
|
79
|
-
it 'happens with explicit pointer setting' do
|
80
|
-
expect(Card.new(type: 'Pointer').respond_to?(:add_item)).to be_truthy
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'happens with implicit pointer setting (from template)' do
|
84
|
-
expect(Card.new(name: 'Home+*cc').respond_to?(:add_item)).to be_truthy
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
@@ -1,60 +0,0 @@
|
|
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
|
@@ -1,78 +0,0 @@
|
|
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
|
-
'*update+*self', '*star', 'Setting+*type', '*all'
|
19
|
-
])
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'returns set names for junction cards' do
|
24
|
-
Card::Auth.as_bot do
|
25
|
-
expect(Card.new(name: 'Iliad+author').set_names).to eq([
|
26
|
-
'Book+author+*type plus right', 'author+*right', 'Basic+*type', '*all plus', '*all'
|
27
|
-
])
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'returns set names for compound star cards' do
|
32
|
-
Card::Auth.as_bot do
|
33
|
-
expect(Card.new(name: 'Iliad+*to').set_names).to eq([
|
34
|
-
'Book+*to+*type plus right', '*to+*right', '*rstar', 'Pointer+*type', '*all plus', '*all'
|
35
|
-
])
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'handles type plus right prototypes properly' do # right place for this? really need more prototype tests...
|
40
|
-
Card::Auth.as_bot do
|
41
|
-
expect(Card.fetch('Fruit+flavor+*type plus right').prototype.set_names.include?('Fruit+flavor+*type plus right')).to be_truthy
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe :rule_set_keys do
|
47
|
-
it 'returns correct set names for new cards' do
|
48
|
-
card = Card.new name: 'AnewCard'
|
49
|
-
expect(card.rule_set_keys).to eq(["#{Card::BasicID}+type", 'all'])
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
describe :safe_set_keys do
|
54
|
-
it 'returns css names for simple star cards' do
|
55
|
-
Card::Auth.as_bot do
|
56
|
-
card = Card.new(name: '*AnewCard')
|
57
|
-
expect(card.safe_set_keys).to eq('ALL TYPE-basic STAR')
|
58
|
-
card.save!
|
59
|
-
card = Card.fetch('*AnewCard')
|
60
|
-
expect(card.safe_set_keys).to eq('ALL TYPE-basic STAR SELF-Xanew_card')
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
it 'returns set names for junction cards' do
|
65
|
-
card = Card.new(name: 'Iliad+author')
|
66
|
-
expect(card.safe_set_keys).to eq('ALL ALL_PLUS TYPE-basic RIGHT-author TYPE_PLUS_RIGHT-book-author')
|
67
|
-
card.save!
|
68
|
-
card = Card.fetch('Iliad+author')
|
69
|
-
expect(card.safe_set_keys).to eq('ALL ALL_PLUS TYPE-basic RIGHT-author TYPE_PLUS_RIGHT-book-author SELF-iliad-author')
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
describe :label do
|
74
|
-
it 'returns label for name' do
|
75
|
-
expect(Card.new(name: 'address+*right').label).to eq(%(All "+address" cards))
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
@@ -1,538 +0,0 @@
|
|
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
|
-
}
|
331
|
-
|
332
|
-
assert_equal true, @c1.writeable_by(@u1), 'c1 writeable by u1'
|
333
|
-
assert_equal true, @c1.writeable_by(@u2), 'c1 writeable by u2'
|
334
|
-
assert_equal true, @c1.writeable_by(@u3), 'c1 writeable by u3'
|
335
|
-
assert_equal true, @c2.writeable_by(@u1), 'c2 writeable by u1'
|
336
|
-
assert_equal true, @c2.writeable_by(@u2), 'c2 writeable by u2'
|
337
|
-
assert_equal false, @c2.writeable_by(@u3), 'c2 writeable by u3'
|
338
|
-
assert_equal true, @c3.writeable_by(@u1), 'c3 writeable by u1'
|
339
|
-
assert_equal false, @c3.writeable_by(@u2), 'c3 writeable by u2'
|
340
|
-
assert_equal false, @c3.writeable_by(@u3), 'c3 writeable by u3'
|
341
|
-
end
|
342
|
-
|
343
|
-
it 'read user permissions' do
|
344
|
-
Card::Auth.as_bot do
|
345
|
-
@u1.fetch(trait: :roles, new: {}).items = [@r1, @r2]
|
346
|
-
@u2.fetch(trait: :roles, new: {}).items = [@r1, @r3]
|
347
|
-
@u3.fetch(trait: :roles, new: {}).items = [@r1, @r2, @r3]
|
348
|
-
|
349
|
-
(1..3).each do |num|
|
350
|
-
Card.create name: "c#{num}+*self+*read", type: 'Pointer',
|
351
|
-
content: "[[u#{num}]]"
|
352
|
-
end
|
353
|
-
end
|
354
|
-
|
355
|
-
# NOTE: retrieving private cards is known not to work now.
|
356
|
-
# assert_not_hidden_from(@u1, @c1)
|
357
|
-
# assert_not_hidden_from(@u2, @c2)
|
358
|
-
|
359
|
-
assert_hidden_from(@u2, @c1)
|
360
|
-
assert_hidden_from(@u3, @c1)
|
361
|
-
assert_hidden_from(@u1, @c2)
|
362
|
-
assert_hidden_from(@u3, @c2)
|
363
|
-
end
|
364
|
-
|
365
|
-
context 'create permissions' do
|
366
|
-
before do
|
367
|
-
Card::Auth.as_bot do
|
368
|
-
Card.create! name: '*structure+*right+*create', type: 'Pointer',
|
369
|
-
content: '[[Anyone Signed In]]'
|
370
|
-
Card.create! name: '*self+*right+*create', type: 'Pointer',
|
371
|
-
content: '[[Anyone Signed In]]'
|
372
|
-
end
|
373
|
-
end
|
374
|
-
|
375
|
-
it 'inherits' do
|
376
|
-
Card::Auth.as(:anyone_signed_in) do
|
377
|
-
# explicitly granted above
|
378
|
-
expect(Card.fetch('A+*self').ok?(:create)).to be_truthy
|
379
|
-
# by default restricted
|
380
|
-
expect(Card.fetch('A+*right').ok?(:create)).to be_falsey
|
381
|
-
|
382
|
-
expect(Card.fetch('A+*self+*structure', new: {}).ok?(:create)).to(
|
383
|
-
be_truthy # +*structure granted;
|
384
|
-
)
|
385
|
-
expect(Card.fetch('A+*right+*structure', new: {}).ok?(:create)).to(
|
386
|
-
be_falsey # can't create A+B, therefore can't create A+B+C
|
387
|
-
)
|
388
|
-
end
|
389
|
-
end
|
390
|
-
end
|
391
|
-
|
392
|
-
it 'private wql' do
|
393
|
-
# set up cards of type TestType, 2 with nil reader, 1 with role1 reader
|
394
|
-
Card::Auth.as_bot do
|
395
|
-
[@c1, @c2, @c3].each do |c|
|
396
|
-
c.update_attributes content: 'WeirdWord'
|
397
|
-
end
|
398
|
-
Card.create(name: 'c1+*self+*read', type: 'Pointer', content: '[[u1]]')
|
399
|
-
end
|
400
|
-
|
401
|
-
Card::Auth.as(@u1) do
|
402
|
-
expect(Card.search(content: 'WeirdWord').map(&:name).sort).to(
|
403
|
-
eq %w( c1 c2 c3 )
|
404
|
-
)
|
405
|
-
end
|
406
|
-
Card::Auth.as(@u2) do
|
407
|
-
expect(Card.search(content: 'WeirdWord').map(&:name).sort).to(
|
408
|
-
eq %w( c2 c3 )
|
409
|
-
)
|
410
|
-
end
|
411
|
-
end
|
412
|
-
|
413
|
-
it 'role wql' do
|
414
|
-
# warn "u1 roles #{Card[ @u1.id ].fetch(trait:
|
415
|
-
# :roles).item_names.inspect}"
|
416
|
-
|
417
|
-
# set up cards of type TestType, 2 with nil reader, 1 with role1 reader
|
418
|
-
Card::Auth.as_bot do
|
419
|
-
[@c1, @c2, @c3].each do |c|
|
420
|
-
c.update_attributes content: 'WeirdWord'
|
421
|
-
end
|
422
|
-
Card.create(name: 'c1+*self+*read', type: 'Pointer', content: '[[r3]]')
|
423
|
-
end
|
424
|
-
|
425
|
-
Card::Auth.as(@u1) do
|
426
|
-
expect(Card.search(content: 'WeirdWord').map(&:name).sort).to(
|
427
|
-
eq(%w( c1 c2 c3 ))
|
428
|
-
)
|
429
|
-
end
|
430
|
-
# for Card::Auth.as to be effective, you can't have a logged in user
|
431
|
-
Card::Auth.current_id = nil
|
432
|
-
Card::Auth.as(@u2) do
|
433
|
-
expect(Card.search(content: 'WeirdWord').map(&:name).sort).to(
|
434
|
-
eq(%w( c2 c3 ))
|
435
|
-
)
|
436
|
-
end
|
437
|
-
end
|
438
|
-
|
439
|
-
def permission_matrix
|
440
|
-
# TODO
|
441
|
-
# generate this graph three ways:
|
442
|
-
# given a card with editor in group X, can Y edit it?
|
443
|
-
# given a card with reader in group X, can Y view it?
|
444
|
-
# given c card with group anon, can Y change the reader/writer to X
|
445
|
-
|
446
|
-
# X,Y in Anon, auth Member, auth Nonmember, admin
|
447
|
-
|
448
|
-
%(
|
449
|
-
A V C J G
|
450
|
-
A * * * * *
|
451
|
-
V * * . * .
|
452
|
-
C * * * . .
|
453
|
-
J * * . . .
|
454
|
-
G * . . . .
|
455
|
-
)
|
456
|
-
end
|
457
|
-
end
|
458
|
-
|
459
|
-
it 'should let joe view new cards' do
|
460
|
-
expect(Card.new.ok?(:read)).to be_truthy
|
461
|
-
end
|
462
|
-
|
463
|
-
context 'default permissions' do
|
464
|
-
before do
|
465
|
-
@c = Card.create! name: 'sky blue'
|
466
|
-
end
|
467
|
-
|
468
|
-
it 'should let anonymous users view basic cards' do
|
469
|
-
Card::Auth.as :anonymous do
|
470
|
-
expect(@c.ok?(:read)).to be_truthy
|
471
|
-
end
|
472
|
-
end
|
473
|
-
|
474
|
-
it 'should let joe user basic cards' do
|
475
|
-
Card::Auth.as 'joe_user' do
|
476
|
-
expect(@c.ok?(:read)).to be_truthy
|
477
|
-
end
|
478
|
-
end
|
479
|
-
end
|
480
|
-
|
481
|
-
it 'should allow anyone signed in to create Basic Cards' do
|
482
|
-
expect(Card.new.ok?(:create)).to be_truthy
|
483
|
-
end
|
484
|
-
|
485
|
-
it 'should not allow someone not signed in to create Basic Cards' do
|
486
|
-
Card::Auth.as :anonymous do
|
487
|
-
expect(Card.new.ok?(:create)).not_to be_truthy
|
488
|
-
end
|
489
|
-
end
|
490
|
-
|
491
|
-
context 'settings based permissions' do
|
492
|
-
before do
|
493
|
-
Card::Auth.as_bot do
|
494
|
-
@delete_rule_card = Card.fetch '*all+*delete', new: {}
|
495
|
-
@delete_rule_card.type_id = Card::PointerID
|
496
|
-
@delete_rule_card.content = '[[Joe_User]]'
|
497
|
-
@delete_rule_card.save!
|
498
|
-
end
|
499
|
-
end
|
500
|
-
|
501
|
-
it 'should handle delete as a setting' do
|
502
|
-
c = Card.new name: 'whatever'
|
503
|
-
expect(c.who_can(:delete)).to eq([Card['joe_user'].id])
|
504
|
-
Card::Auth.as('joe_user') do
|
505
|
-
expect(c.ok?(:delete)).to eq(true)
|
506
|
-
end
|
507
|
-
Card::Auth.as('u1') do
|
508
|
-
expect(c.ok?(:delete)).to eq(false)
|
509
|
-
end
|
510
|
-
Card::Auth.as(:anonymous) do
|
511
|
-
expect(c.ok?(:delete)).to eq(false)
|
512
|
-
end
|
513
|
-
Card::Auth.as_bot do
|
514
|
-
expect(c.ok?(:delete)).to eq(true) # because administrator
|
515
|
-
end
|
516
|
-
end
|
517
|
-
end
|
518
|
-
|
519
|
-
it 'create read rule as subcard' do
|
520
|
-
Card::Auth.as_bot do
|
521
|
-
Card.create! name: 'read rule test',
|
522
|
-
subcards: {
|
523
|
-
'+*self+*read' => { content: '[[Administrator]]' }
|
524
|
-
}
|
525
|
-
expect(Card['read rule test'].read_rule_class)
|
526
|
-
.to eq('*self')
|
527
|
-
rule_id = Card.fetch_id 'read rule test+*self+*read'
|
528
|
-
expect(Card['read rule test'].read_rule_id)
|
529
|
-
.to eq(rule_id)
|
530
|
-
end
|
531
|
-
end
|
532
|
-
end
|
533
|
-
|
534
|
-
# FIXME-perm
|
535
|
-
|
536
|
-
# need test for
|
537
|
-
# changing cardtypes gives you correct permissions
|
538
|
-
# (changing cardtype in general...)
|