card 1.16.6 → 1.16.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardoc/checksums +234 -49
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/VERSION +1 -1
- data/config/initializers/mime_types.rb +3 -3
- data/config/initializers/notification.rb +1 -1
- data/db/migrate/20121118115000_update_link_type.rb +8 -8
- data/db/migrate/20130411210957_update_codenames.rb +2 -2
- data/db/migrate/20140822073704_create_new_revision_tables.rb +12 -13
- data/db/migrate/20141001105348_move_revisions_to_actions.rb +16 -16
- data/db/migrate/20141121172918_rename_card_migration_table.rb +4 -4
- data/db/migrate_core_cards/20130419215612_import_help_text.rb +3 -3
- data/db/migrate_core_cards/20130823192433_add_style_cards.rb +45 -47
- data/db/migrate_core_cards/20130910183318_move_styles_to_content.rb +1 -1
- data/db/migrate_core_cards/20130920214038_jsonize_tinymce.rb +3 -3
- data/db/migrate_core_cards/20130920291703_update_stylesheets.rb +3 -3
- data/db/migrate_core_cards/20130927191728_account_events.rb +6 -6
- data/db/migrate_core_cards/20131016172445_common_css_patch.rb +1 -1
- data/db/migrate_core_cards/20140110193325_reset_account_request_type.rb +1 -1
- data/db/migrate_core_cards/20140307231621_user_data_to_cards.rb +19 -19
- data/db/migrate_core_cards/20140317035504_account_requests_to_signups.rb +11 -12
- data/db/migrate_core_cards/20140512155840_add_script_cards.rb +35 -36
- data/db/migrate_core_cards/20140629222005_add_email_cards.rb +55 -55
- data/db/migrate_core_cards/20140725180118_config_card_updates.rb +1 -1
- data/db/migrate_core_cards/20141111083921_delete_machine_output.rb +2 -2
- data/db/migrate_core_cards/20141115034214_config_descriptions_etc.rb +3 -3
- data/db/migrate_core_cards/20141120120605_fix_notification_html_message.rb +2 -2
- data/db/migrate_core_cards/20141204061304_watchers_to_following.rb +8 -8
- data/db/migrate_core_cards/20141208162106_add_ace_script.rb +2 -2
- data/db/migrate_core_cards/20141216155251_add_more_following_cards.rb +16 -16
- data/db/migrate_core_cards/20141230204340_uri_codename.rb +1 -1
- data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +19 -19
- data/db/migrate_core_cards/20150220134731_following_to_follow_rule.rb +3 -3
- data/db/migrate_core_cards/20150317162412_bootstrap_themes.rb +15 -15
- data/db/migrate_core_cards/20150326205655_bootswatch_themes.rb +11 -11
- data/db/migrate_core_cards/20150331135745_new_card_menu.rb +1 -1
- data/db/migrate_core_cards/20150429090551_search_card_context.rb +1 -1
- data/db/migrate_core_cards/20150508212032_menu_compatibility.rb +3 -3
- data/db/migrate_core_cards/20150510031118_fix_skin_images.rb +1 -1
- data/db/migrate_core_cards/20150528084659_add_session_cardtype.rb +4 -4
- data/db/migrate_core_cards/20150601133433_add_recent_setting_session_card.rb +5 -5
- data/db/migrate_core_cards/20150605115802_add_performance_log_card.rb +1 -1
- data/db/migrate_core_cards/20150610171702_add_debugger_session_card.rb +2 -2
- data/db/migrate_core_cards/20150611203506_rails_inflection_updates.rb +5 -5
- 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/20150724123438_update_file_and_image_cards.rb +5 -5
- 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 +2 -2
- data/db/migrate_core_cards/20150910085603_remove_performance_log_card.rb +1 -1
- data/lib/card.rb +4 -4
- data/lib/card/active_record_ext.rb +8 -8
- data/lib/card/auth.rb +6 -6
- data/lib/card/cache.rb +1 -1
- data/lib/card/chunk.rb +1 -1
- data/lib/card/content.rb +1 -1
- data/lib/card/diff.rb +10 -10
- data/lib/card/env.rb +1 -1
- data/lib/card/format.rb +12 -12
- data/lib/card/loader.rb +1 -1
- data/lib/card/migration.rb +1 -1
- data/lib/card/name.rb +4 -4
- data/lib/card/query.rb +255 -61
- data/lib/card/query/attributes.rb +310 -0
- data/lib/card/query/clause.rb +12 -15
- data/lib/card/query/join.rb +73 -0
- data/lib/card/query/reference.rb +51 -0
- data/lib/card/query/sql_statement.rb +228 -0
- data/lib/card/query/value.rb +66 -0
- data/lib/card/reference.rb +6 -6
- data/lib/card/set.rb +12 -12
- data/lib/card/set_pattern.rb +9 -9
- data/lib/card/spec_helper.rb +5 -5
- data/lib/card/success.rb +1 -1
- data/lib/cardio.rb +7 -7
- data/lib/generators/card/format/format_generator.rb +3 -3
- data/lib/generators/card/migration/migration_generator.rb +5 -5
- data/lib/generators/card/set/set_generator.rb +4 -4
- data/mod/01_core/chunk/include.rb +4 -4
- data/mod/01_core/chunk/link.rb +5 -5
- data/mod/01_core/chunk/literal.rb +2 -2
- data/mod/01_core/chunk/query_reference.rb +8 -8
- data/mod/01_core/chunk/uri.rb +18 -18
- data/mod/01_core/format/html_format.rb +4 -4
- data/mod/01_core/set/all/active_card.rb +2 -2
- data/mod/01_core/set/all/collection.rb +21 -26
- data/mod/01_core/set/all/content.rb +2 -2
- data/mod/01_core/set/all/fetch.rb +6 -6
- data/mod/01_core/set/all/initialize.rb +4 -4
- data/mod/01_core/set/all/location_history.rb +2 -2
- data/mod/01_core/set/all/name.rb +14 -14
- data/mod/01_core/set/all/pattern.rb +1 -1
- data/mod/01_core/set/all/permissions.rb +12 -12
- data/mod/01_core/set/all/phases.rb +29 -12
- data/mod/01_core/set/all/references.rb +14 -14
- data/mod/01_core/set/all/rules.rb +8 -8
- data/mod/01_core/set/all/templating.rb +10 -9
- data/mod/01_core/set/all/tracked_attributes.rb +7 -7
- data/mod/01_core/set/all/trash.rb +6 -6
- data/mod/01_core/set/all/type.rb +7 -7
- data/mod/01_core/set/all/utils.rb +4 -4
- data/mod/01_core/set/all/view_cache.rb +1 -1
- data/mod/01_core/set_pattern/02_all_plus.rb +2 -2
- data/mod/01_core/set_pattern/03_type.rb +1 -1
- data/mod/01_core/set_pattern/04_star.rb +1 -1
- data/mod/01_core/set_pattern/05_rstar.rb +2 -2
- data/mod/01_core/set_pattern/06_right.rb +4 -4
- data/mod/01_core/set_pattern/07_type_plus_right.rb +4 -4
- data/mod/01_core/set_pattern/08_self.rb +1 -1
- data/mod/01_core/spec/chunk/uri_spec.rb +73 -73
- data/mod/01_core/spec/format/html_format_spec.rb +5 -5
- data/mod/01_core/spec/set/all/attribute_tracking_spec.rb +1 -1
- data/mod/01_core/spec/set/all/collection_spec.rb +22 -22
- data/mod/01_core/spec/set/all/content_spec.rb +1 -1
- data/mod/01_core/spec/set/all/fetch_spec.rb +24 -24
- data/mod/01_core/spec/set/all/initialize_spec.rb +9 -9
- data/mod/01_core/spec/set/all/name_spec.rb +8 -8
- data/mod/01_core/spec/set/all/pattern_spec.rb +10 -10
- data/mod/01_core/spec/set/all/permissions_spec.rb +45 -45
- data/mod/01_core/spec/set/all/references_spec.rb +1 -1
- data/mod/01_core/spec/set/all/rules2_spec.rb +15 -15
- data/mod/01_core/spec/set/all/rules_spec.rb +37 -37
- data/mod/01_core/spec/set/all/templating_spec.rb +21 -21
- data/mod/01_core/spec/set/all/tracked_attributes_spec.rb +55 -55
- data/mod/01_core/spec/set/all/trash_spec.rb +4 -4
- data/mod/01_core/spec/set/all/type_spec.rb +15 -15
- data/mod/01_history/lib/card/act.rb +2 -2
- data/mod/01_history/lib/card/action.rb +22 -22
- data/mod/01_history/lib/card/change.rb +1 -1
- data/mod/01_history/set/all/actions.rb +2 -2
- data/mod/01_history/set/all/content_history.rb +4 -4
- data/mod/01_history/set/all/history.rb +46 -46
- data/mod/02_basic_types/set/all/all_css.rb +10 -10
- data/mod/02_basic_types/set/all/all_csv.rb +7 -7
- data/mod/02_basic_types/set/all/base.rb +25 -25
- data/mod/02_basic_types/set/all/json.rb +16 -16
- data/mod/02_basic_types/set/all/rss.rb +7 -7
- data/mod/02_basic_types/set/type/html.rb +2 -2
- data/mod/02_basic_types/set/type/plain_text.rb +1 -1
- data/mod/02_basic_types/set/type/pointer.rb +39 -31
- data/mod/02_basic_types/spec/set/all/all_css_spec.rb +1 -1
- data/mod/02_basic_types/spec/set/all/all_csv_spec.rb +1 -1
- data/mod/02_basic_types/spec/set/all/base_spec.rb +18 -18
- data/mod/02_basic_types/spec/set/all/json_spec.rb +4 -4
- data/mod/02_basic_types/spec/set/all/rss_spec.rb +8 -2
- data/mod/02_basic_types/spec/set/type/plain_text_spec.rb +1 -1
- data/mod/02_basic_types/spec/set/type/pointer_spec.rb +54 -44
- data/mod/03_machines/lib/card/machine.rb +46 -29
- data/mod/03_machines/lib/card/machine_input.rb +34 -10
- data/mod/03_machines/set/type/coffee_script.rb +3 -3
- data/mod/03_machines/set/type/css.rb +8 -8
- data/mod/03_machines/set/type/java_script.rb +4 -4
- data/mod/03_machines/set/type/scss.rb +2 -2
- data/mod/03_machines/set/type/skin.rb +1 -1
- data/mod/03_machines/spec/lib/shared_machine_examples.rb +27 -27
- data/mod/03_machines/spec/lib/shared_machine_input_examples.rb +8 -8
- data/mod/03_machines/spec/set/type/coffeescript_spec.rb +6 -6
- data/mod/03_machines/spec/set/type/css_spec.rb +9 -9
- data/mod/03_machines/spec/set/type/javascript_spec.rb +6 -6
- data/mod/03_machines/spec/set/type/scss_spec.rb +5 -5
- data/mod/03_machines/spec/set/type/skin_spec.rb +25 -25
- data/mod/04_settings/lib/card/setting.rb +11 -11
- data/mod/04_settings/set/abstract/permission.rb +9 -9
- data/mod/04_settings/set/right/script.rb +1 -1
- data/mod/04_settings/set/right/structure.rb +0 -5
- data/mod/04_settings/set/right/style.rb +2 -2
- data/mod/04_settings/set/self/accountable.rb +1 -1
- data/mod/04_settings/set/self/add_help.rb +1 -1
- data/mod/04_settings/set/self/autoname.rb +1 -1
- data/mod/04_settings/set/self/captcha.rb +1 -1
- data/mod/04_settings/set/self/create.rb +1 -1
- data/mod/04_settings/set/self/default.rb +1 -1
- data/mod/04_settings/set/self/delete.rb +1 -1
- data/mod/04_settings/set/self/help.rb +1 -1
- data/mod/04_settings/set/self/input.rb +1 -1
- data/mod/04_settings/set/self/layout.rb +1 -1
- data/mod/04_settings/set/self/on_create.rb +1 -1
- data/mod/04_settings/set/self/on_delete.rb +1 -1
- data/mod/04_settings/set/self/on_update.rb +1 -1
- data/mod/04_settings/set/self/options.rb +1 -1
- data/mod/04_settings/set/self/options_label.rb +1 -1
- data/mod/04_settings/set/self/read.rb +1 -1
- data/mod/04_settings/set/self/script.rb +1 -1
- data/mod/04_settings/set/self/structure.rb +1 -1
- data/mod/04_settings/set/self/style.rb +1 -1
- data/mod/04_settings/set/self/table_of_contents.rb +1 -1
- data/mod/04_settings/set/self/thanks.rb +1 -1
- data/mod/04_settings/set/self/update.rb +1 -1
- data/mod/04_settings/set/type/setting.rb +14 -14
- data/mod/04_settings/spec/set/right/comment_spec.rb +5 -5
- data/mod/04_settings/spec/set/right/create_spec.rb +1 -1
- data/mod/04_settings/spec/set/right/script_spec.rb +5 -5
- data/mod/04_settings/spec/set/right/structure_spec.rb +4 -2
- data/mod/04_settings/spec/set/right/style_spec.rb +7 -7
- data/mod/04_settings/spec/set/type/setting_spec.rb +2 -2
- data/mod/05_email/lib/card/follow_option.rb +24 -24
- data/mod/05_email/set/all/follow.rb +24 -16
- data/mod/05_email/set/all/notify.rb +25 -23
- data/mod/05_email/set/all/observer.rb +5 -5
- data/mod/05_email/set/right/bcc.rb +8 -8
- data/mod/05_email/set/right/follow.rb +44 -17
- data/mod/05_email/set/right/follow_fields.rb +1 -1
- data/mod/05_email/set/right/following.rb +49 -40
- data/mod/05_email/set/self/always.rb +2 -2
- data/mod/05_email/set/self/created.rb +1 -1
- data/mod/05_email/set/self/edited.rb +4 -4
- data/mod/05_email/set/self/follow.rb +1 -1
- data/mod/05_email/set/self/follow_defaults.rb +9 -9
- data/mod/05_email/set/self/never.rb +1 -1
- data/mod/05_email/set/type/email_template.rb +9 -9
- data/mod/05_email/set/type_plus_right/user/follow.rb +16 -16
- data/mod/05_email/spec/set/all/follow_spec.rb +10 -10
- data/mod/05_email/spec/set/all/notify_spec.rb +82 -82
- data/mod/05_email/spec/set/all/observer_spec.rb +16 -16
- data/mod/05_email/spec/set/right/followers_spec.rb +6 -6
- data/mod/05_email/spec/set/self/follow_defaults_spec.rb +2 -2
- data/mod/05_standard/lib/carrier_wave/cardmount.rb +5 -5
- data/mod/05_standard/lib/image_uploader.rb +8 -8
- data/mod/05_standard/set/abstract/attachment.rb +18 -18
- data/mod/05_standard/set/all/account.rb +5 -5
- data/mod/05_standard/set/all/comment.rb +7 -7
- data/mod/05_standard/set/all/error.rb +25 -25
- data/mod/05_standard/set/all/event_viz.rb +1 -1
- data/mod/05_standard/set/all/links.rb +9 -9
- data/mod/05_standard/set/all/rich_html/content.rb +34 -34
- data/mod/05_standard/set/all/rich_html/editing.rb +35 -35
- data/mod/05_standard/set/all/rich_html/form.rb +20 -20
- data/mod/05_standard/set/all/rich_html/header.rb +8 -8
- data/mod/05_standard/set/all/rich_html/menu.rb +33 -33
- data/mod/05_standard/set/all/rich_html/modal.rb +16 -16
- data/mod/05_standard/set/all/rich_html/toolbar.rb +63 -63
- data/mod/05_standard/set/all/rich_html/wrapper.rb +8 -8
- data/mod/05_standard/set/right/account.rb +27 -27
- data/mod/05_standard/set/right/email.rb +5 -5
- data/mod/05_standard/set/right/password.rb +5 -5
- data/mod/05_standard/set/rstar/rules.rb +52 -52
- data/mod/05_standard/set/self/account_links.rb +27 -27
- data/mod/05_standard/set/self/all.rb +1 -1
- data/mod/05_standard/set/self/head.rb +5 -5
- data/mod/05_standard/set/self/navbox.rb +11 -11
- data/mod/05_standard/set/self/recent.rb +2 -2
- data/mod/05_standard/set/self/search.rb +13 -13
- data/mod/05_standard/set/self/signin.rb +19 -19
- data/mod/05_standard/set/self/stats.rb +2 -2
- data/mod/05_standard/set/type/basic.rb +1 -1
- data/mod/05_standard/set/type/cardtype.rb +5 -5
- data/mod/05_standard/set/type/date.rb +1 -1
- data/mod/05_standard/set/type/file.rb +7 -7
- data/mod/05_standard/set/type/image.rb +8 -8
- data/mod/05_standard/set/type/number.rb +2 -2
- data/mod/05_standard/set/type/phrase.rb +1 -1
- data/mod/05_standard/set/type/search_type.rb +27 -21
- data/mod/05_standard/set/type/session.rb +2 -2
- data/mod/05_standard/set/type/set.rb +37 -37
- data/mod/05_standard/set/type/signup.rb +25 -25
- data/mod/05_standard/set/type/uri.rb +1 -1
- data/mod/05_standard/set/type/user.rb +21 -21
- data/mod/05_standard/spec/chunk/include_spec.rb +16 -16
- data/mod/05_standard/spec/chunk/link_spec.rb +18 -18
- data/mod/05_standard/spec/chunk/query_reference_spec.rb +1 -1
- data/mod/05_standard/spec/set/all/account_spec.rb +7 -7
- data/mod/05_standard/spec/set/all/email_html_spec.rb +3 -3
- data/mod/05_standard/spec/set/all/history_spec.rb +14 -14
- data/mod/05_standard/spec/set/all/rich_html/editing_spec.rb +1 -1
- data/mod/05_standard/spec/set/all/rich_html/form_spec.rb +2 -2
- data/mod/05_standard/spec/set/right/account_spec.rb +9 -9
- data/mod/05_standard/spec/set/right/email_spec.rb +8 -8
- data/mod/05_standard/spec/set/right/password_spec.rb +9 -9
- data/mod/05_standard/spec/set/right/stats_spec.rb +1 -1
- data/mod/05_standard/spec/set/right/when_created_spec.rb +1 -1
- data/mod/05_standard/spec/set/right/when_last_edited_spec.rb +1 -1
- data/mod/05_standard/spec/set/rstar/rules_spec.rb +2 -2
- data/mod/05_standard/spec/set/self/account_links_spec.rb +2 -2
- data/mod/05_standard/spec/set/self/all_spec.rb +8 -11
- data/mod/05_standard/spec/set/self/head_spec.rb +1 -1
- data/mod/05_standard/spec/set/self/navbox_spec.rb +1 -1
- data/mod/05_standard/spec/set/self/now_spec.rb +1 -1
- data/mod/05_standard/spec/set/self/stats_spec.rb +1 -1
- data/mod/05_standard/spec/set/self/version_spec.rb +1 -1
- data/mod/05_standard/spec/set/type/email_template_spec.rb +25 -25
- data/mod/05_standard/spec/set/type/file_spec.rb +4 -4
- data/mod/05_standard/spec/set/type/html_spec.rb +3 -3
- data/mod/05_standard/spec/set/type/image_spec.rb +6 -6
- data/mod/05_standard/spec/set/type/layout_type_spec.rb +1 -1
- data/mod/05_standard/spec/set/type/search_type_spec.rb +10 -10
- data/mod/05_standard/spec/set/type/signup_spec.rb +11 -11
- data/mod/05_standard/spec/set/type/toggle_spec.rb +2 -2
- data/mod/05_standard/spec/set/type/uri_spec.rb +9 -9
- data/mod/06_bootstrap/set/all/bootstrap/helper.rb +10 -10
- data/mod/06_bootstrap/set/all/bootstrap/wrapper.rb +4 -4
- data/mod/06_bootstrap/set/all/rich_bootstrap.rb +1 -1
- data/spec/lib/card/action_spec.rb +2 -2
- data/spec/lib/card/cache_spec.rb +7 -7
- data/spec/lib/card/content_spec.rb +31 -37
- data/spec/lib/card/diff_spec.rb +56 -56
- data/spec/lib/card/format_spec.rb +11 -11
- data/spec/lib/card/query_spec.rb +382 -265
- data/spec/lib/card/reference_spec.rb +133 -140
- data/spec/lib/card/set_pattern_spec.rb +10 -9
- data/spec/lib/card/set_spec.rb +11 -11
- data/spec/lib/card/success_spec.rb +16 -8
- data/spec/mailers/mailer_spec.rb +5 -5
- data/spec/models/card/cardtype_spec.rb +20 -20
- data/spec/models/card/create_spec.rb +6 -6
- data/spec/models/card/trash_spec.rb +20 -20
- data/spec/models/card/type_transition_spec.rb +3 -3
- data/spec/models/card/validation_spec.rb +5 -5
- data/spec/models/card_spec.rb +24 -24
- data/spec/spec_helper.rb +5 -5
- data/tmpsets/set/mod001-01_core/all/active_card.rb +2 -2
- data/tmpsets/set/mod001-01_core/all/collection.rb +23 -26
- data/tmpsets/set/mod001-01_core/all/content.rb +2 -2
- data/tmpsets/set/mod001-01_core/all/fetch.rb +6 -6
- data/tmpsets/set/mod001-01_core/all/initialize.rb +8 -4
- data/tmpsets/set/mod001-01_core/all/name.rb +14 -14
- data/tmpsets/set/mod001-01_core/all/pattern.rb +1 -1
- data/tmpsets/set/mod001-01_core/all/permissions.rb +12 -12
- data/tmpsets/set/mod001-01_core/all/phases.rb +31 -13
- data/tmpsets/set/mod001-01_core/all/references.rb +14 -14
- data/tmpsets/set/mod001-01_core/all/rules.rb +8 -10
- data/tmpsets/set/mod001-01_core/all/templating.rb +10 -9
- data/tmpsets/set/mod001-01_core/all/tracked_attributes.rb +7 -7
- data/tmpsets/set/mod001-01_core/all/trash.rb +9 -8
- data/tmpsets/set/mod001-01_core/all/type.rb +7 -7
- data/tmpsets/set/mod001-01_core/all/utils.rb +16 -4
- data/tmpsets/set/mod001-01_core/all/view_cache.rb +1 -1
- data/tmpsets/set/mod002-01_history/all/actions.rb +2 -2
- data/tmpsets/set/mod002-01_history/all/content_history.rb +11 -7
- data/tmpsets/set/mod002-01_history/all/history.rb +46 -46
- data/tmpsets/set/mod003-02_basic_types/all/all_css.rb +10 -10
- data/tmpsets/set/mod003-02_basic_types/all/all_csv.rb +7 -7
- data/tmpsets/set/mod003-02_basic_types/all/base.rb +25 -25
- data/tmpsets/set/mod003-02_basic_types/all/json.rb +16 -16
- data/tmpsets/set/mod003-02_basic_types/all/rss.rb +7 -7
- data/tmpsets/set/mod003-02_basic_types/type/html.rb +2 -2
- data/tmpsets/set/mod003-02_basic_types/type/plain_text.rb +1 -1
- data/tmpsets/set/mod003-02_basic_types/type/pointer.rb +38 -31
- data/tmpsets/set/mod004-03_machines/right/machine_output.rb +4 -0
- data/tmpsets/set/mod004-03_machines/type/coffee_script.rb +3 -3
- data/tmpsets/set/mod004-03_machines/type/css.rb +8 -8
- data/tmpsets/set/mod004-03_machines/type/java_script.rb +4 -4
- data/tmpsets/set/mod004-03_machines/type/scss.rb +2 -2
- data/tmpsets/set/mod004-03_machines/type/skin.rb +1 -1
- data/tmpsets/set/mod005-04_settings/abstract/permission.rb +9 -9
- data/tmpsets/set/mod005-04_settings/right/script.rb +1 -1
- data/tmpsets/set/mod005-04_settings/right/structure.rb +0 -5
- data/tmpsets/set/mod005-04_settings/right/style.rb +2 -2
- data/tmpsets/set/mod005-04_settings/self/accountable.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/add_help.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/autoname.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/captcha.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/create.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/default.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/delete.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/help.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/input.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/layout.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/on_create.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/on_delete.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/on_update.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/options.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/options_label.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/read.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/script.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/structure.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/style.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/table_of_contents.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/thanks.rb +1 -1
- data/tmpsets/set/mod005-04_settings/self/update.rb +1 -1
- data/tmpsets/set/mod005-04_settings/type/setting.rb +14 -14
- data/tmpsets/set/mod006-05_email/all/follow.rb +24 -16
- data/tmpsets/set/mod006-05_email/all/notify.rb +25 -23
- data/tmpsets/set/mod006-05_email/all/observer.rb +8 -8
- data/tmpsets/set/mod006-05_email/right/bcc.rb +8 -8
- data/tmpsets/set/mod006-05_email/right/follow.rb +44 -17
- data/tmpsets/set/mod006-05_email/right/follow_fields.rb +1 -1
- data/tmpsets/set/mod006-05_email/right/following.rb +49 -40
- data/tmpsets/set/mod006-05_email/self/always.rb +2 -2
- data/tmpsets/set/mod006-05_email/self/created.rb +1 -1
- data/tmpsets/set/mod006-05_email/self/edited.rb +4 -4
- data/tmpsets/set/mod006-05_email/self/follow.rb +1 -1
- data/tmpsets/set/mod006-05_email/self/follow_defaults.rb +9 -9
- data/tmpsets/set/mod006-05_email/self/never.rb +1 -1
- data/tmpsets/set/mod006-05_email/type/email_template.rb +9 -9
- data/tmpsets/set/mod006-05_email/type_plus_right/user/follow.rb +17 -17
- data/tmpsets/set/mod007-05_standard/abstract/attachment.rb +98 -46
- data/tmpsets/set/mod007-05_standard/all/account.rb +5 -5
- data/tmpsets/set/mod007-05_standard/all/comment.rb +7 -7
- data/tmpsets/set/mod007-05_standard/all/error.rb +26 -26
- data/tmpsets/set/mod007-05_standard/all/event_viz.rb +1 -1
- data/tmpsets/set/mod007-05_standard/all/links.rb +10 -9
- data/tmpsets/set/mod007-05_standard/all/rich_html/content.rb +34 -34
- data/tmpsets/set/mod007-05_standard/all/rich_html/editing.rb +35 -35
- data/tmpsets/set/mod007-05_standard/all/rich_html/form.rb +20 -20
- data/tmpsets/set/mod007-05_standard/all/rich_html/header.rb +8 -8
- data/tmpsets/set/mod007-05_standard/all/rich_html/menu.rb +33 -33
- data/tmpsets/set/mod007-05_standard/all/rich_html/modal.rb +16 -16
- data/tmpsets/set/mod007-05_standard/all/rich_html/toolbar.rb +63 -63
- data/tmpsets/set/mod007-05_standard/all/rich_html/wrapper.rb +8 -8
- data/tmpsets/set/mod007-05_standard/right/account.rb +27 -27
- data/tmpsets/set/mod007-05_standard/right/email.rb +5 -5
- data/tmpsets/set/mod007-05_standard/right/password.rb +5 -5
- data/tmpsets/set/mod007-05_standard/rstar/rules.rb +52 -52
- data/tmpsets/set/mod007-05_standard/self/account_links.rb +27 -27
- data/tmpsets/set/mod007-05_standard/self/all.rb +1 -1
- data/tmpsets/set/mod007-05_standard/self/head.rb +5 -5
- data/tmpsets/set/mod007-05_standard/self/navbox.rb +11 -11
- data/tmpsets/set/mod007-05_standard/self/recent.rb +2 -2
- data/tmpsets/set/mod007-05_standard/self/search.rb +13 -13
- data/tmpsets/set/mod007-05_standard/self/signin.rb +19 -19
- data/tmpsets/set/mod007-05_standard/self/stats.rb +2 -2
- data/tmpsets/set/mod007-05_standard/type/basic.rb +1 -1
- data/tmpsets/set/mod007-05_standard/type/cardtype.rb +5 -5
- data/tmpsets/set/mod007-05_standard/type/date.rb +1 -1
- data/tmpsets/set/mod007-05_standard/type/file.rb +23 -8
- data/tmpsets/set/mod007-05_standard/type/image.rb +10 -8
- data/tmpsets/set/mod007-05_standard/type/number.rb +2 -2
- data/tmpsets/set/mod007-05_standard/type/phrase.rb +1 -1
- data/tmpsets/set/mod007-05_standard/type/search_type.rb +21 -19
- data/tmpsets/set/mod007-05_standard/type/session.rb +2 -2
- data/tmpsets/set/mod007-05_standard/type/set.rb +37 -37
- data/tmpsets/set/mod007-05_standard/type/signup.rb +25 -25
- data/tmpsets/set/mod007-05_standard/type/uri.rb +1 -1
- data/tmpsets/set/mod007-05_standard/type/user.rb +21 -21
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/helper.rb +10 -10
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/wrapper.rb +4 -4
- data/tmpsets/set/mod008-06_bootstrap/all/rich_bootstrap.rb +1 -1
- data/tmpsets/set_pattern/101-all_plus.rb +2 -2
- data/tmpsets/set_pattern/102-type.rb +1 -1
- data/tmpsets/set_pattern/103-star.rb +1 -1
- data/tmpsets/set_pattern/104-rstar.rb +2 -2
- data/tmpsets/set_pattern/105-right.rb +4 -4
- data/tmpsets/set_pattern/106-type_plus_right.rb +4 -4
- data/tmpsets/set_pattern/107-self.rb +1 -1
- metadata +7 -5
- data/lib/card/query/card_clause.rb +0 -528
- data/lib/card/query/ref_clause.rb +0 -47
- data/lib/card/query/value_clause.rb +0 -65
@@ -36,12 +36,12 @@ module PermissionSpecHelper
|
|
36
36
|
|
37
37
|
def assert_hidden( card, msg='' )
|
38
38
|
assert !card.ok?(:read)
|
39
|
-
assert_equal [], Card.search(:
|
39
|
+
assert_equal [], Card.search(id: card.id).map(&:name), msg
|
40
40
|
end
|
41
41
|
|
42
42
|
def assert_not_hidden( card, msg='' )
|
43
43
|
assert card.ok?(:read)
|
44
|
-
assert_equal [card.name], Card.search(:
|
44
|
+
assert_equal [card.name], Card.search(id: card.id).map(&:name), msg
|
45
45
|
end
|
46
46
|
|
47
47
|
def assert_locked( card, msg='' )
|
@@ -61,7 +61,7 @@ describe Card::Set::All::Permissions do
|
|
61
61
|
|
62
62
|
describe "reader rules" do
|
63
63
|
before do
|
64
|
-
@perm_card = Card.new(:
|
64
|
+
@perm_card = Card.new(name: 'Home+*self+*read', type: 'Pointer', content: '[[Anyone Signed In]]')
|
65
65
|
end
|
66
66
|
|
67
67
|
it "should be *all+*read by default" do
|
@@ -109,7 +109,7 @@ describe Card::Set::All::Permissions do
|
|
109
109
|
it "should revert to more general rule when more specific (right) rule is deleted" do
|
110
110
|
pc = nil
|
111
111
|
Card::Auth.as_bot do
|
112
|
-
pc=Card.create(:
|
112
|
+
pc=Card.create(name: 'B+*right+*read', type: 'Pointer', content: '[[Anyone Signed In]]')
|
113
113
|
end
|
114
114
|
expect(pc).to be
|
115
115
|
card = Card.fetch('A+B')
|
@@ -139,7 +139,7 @@ describe Card::Set::All::Permissions do
|
|
139
139
|
c= Card.fetch('Home')
|
140
140
|
c.type_id = Card::PhraseID
|
141
141
|
c.save!
|
142
|
-
Card.create(:
|
142
|
+
Card.create(name: 'Phrase+*type+*read', type: 'Pointer', content: '[[Joe User]]')
|
143
143
|
end
|
144
144
|
|
145
145
|
card = Card.fetch('Home')
|
@@ -159,10 +159,10 @@ describe Card::Set::All::Permissions do
|
|
159
159
|
it "should work with relative settings" do
|
160
160
|
Card::Auth.as_bot do
|
161
161
|
@perm_card.save!
|
162
|
-
all_plus = Card.fetch '*all plus+*read', :
|
162
|
+
all_plus = Card.fetch '*all plus+*read', new: {content: '_left'}
|
163
163
|
all_plus.save
|
164
164
|
end
|
165
|
-
c = Card.new(:
|
165
|
+
c = Card.new(name: 'Home+Heart')
|
166
166
|
expect(c.who_can(:read)).to eq([Card::AnyoneSignedInID])
|
167
167
|
expect(c.permission_rule_card(:read).first.id).to eq(@perm_card.id)
|
168
168
|
c.save
|
@@ -171,10 +171,10 @@ describe Card::Set::All::Permissions do
|
|
171
171
|
|
172
172
|
it "should get updated when relative settings change" do
|
173
173
|
Card::Auth.as_bot do
|
174
|
-
all_plus = Card.fetch '*all plus+*read', :
|
174
|
+
all_plus = Card.fetch '*all plus+*read', new: {content: '_left'}
|
175
175
|
all_plus.save
|
176
176
|
end
|
177
|
-
c = Card.new(:
|
177
|
+
c = Card.new(name: 'Home+Heart')
|
178
178
|
expect(c.who_can(:read)).to eq([Card::AnyoneID])
|
179
179
|
expect(c.permission_rule_card(:read).first.id).to eq(Card.fetch('*all+*read').id)
|
180
180
|
c.save
|
@@ -191,12 +191,12 @@ describe Card::Set::All::Permissions do
|
|
191
191
|
|
192
192
|
it "should insure that class overrides work with relative settings" do
|
193
193
|
Card::Auth.as_bot do
|
194
|
-
all_plus = Card.fetch '*all plus+*read', :
|
194
|
+
all_plus = Card.fetch '*all plus+*read', new: { content: '_left' }
|
195
195
|
all_plus.save
|
196
196
|
Card::Auth.as_bot { @perm_card.save! }
|
197
|
-
c = Card.create(:
|
197
|
+
c = Card.create(name: 'Home+Heart')
|
198
198
|
expect(c.read_rule_id).to eq(@perm_card.id)
|
199
|
-
r = Card.create(:
|
199
|
+
r = Card.create(name: 'Heart+*right+*read', type: 'Pointer', content: '[[Administrator]]')
|
200
200
|
expect(Card.fetch('Home+Heart').read_rule_id).to eq(r.id)
|
201
201
|
end
|
202
202
|
end
|
@@ -229,8 +229,8 @@ describe Card::Set::All::Permissions do
|
|
229
229
|
end
|
230
230
|
Card::Auth.as(:joe_admin) do
|
231
231
|
expect(Card::Auth.always_ok?).to eq(true)
|
232
|
-
Card.create! :
|
233
|
-
Card.create(:
|
232
|
+
Card.create! name: "Hidden"
|
233
|
+
Card.create(name: 'Hidden+*self+*read', type: 'Pointer', content: '[[Anyone Signed In]]')
|
234
234
|
end
|
235
235
|
|
236
236
|
Card::Auth.as(:anonymous) do
|
@@ -243,14 +243,14 @@ describe Card::Set::All::Permissions do
|
|
243
243
|
it "should be granted to admin if to anybody" do
|
244
244
|
Card::Auth.as_bot do
|
245
245
|
c1 = Card['c1']
|
246
|
-
Card.create! :
|
246
|
+
Card.create! name: 'c1+*self+*comment', type: 'Pointer', content: '[[r1]]'
|
247
247
|
expect(c1.who_can( :comment )).to eq([Card['r1'].id])
|
248
248
|
expect(c1.ok?(:comment)).to be_truthy
|
249
249
|
end
|
250
250
|
end
|
251
251
|
|
252
252
|
it "reader setting" do
|
253
|
-
Card.where(:
|
253
|
+
Card.where(trash: false).each do |c|
|
254
254
|
prc = c.permission_rule_card(:read)
|
255
255
|
#warn "C #{c.inspect}, #{c.read_rule_id}, #{prc.first.id}, #{c.read_rule_class}, #{prc.second}, #{prc.first.inspect}" unless prc.last == c.read_rule_class && prc.first.id == c.read_rule_id
|
256
256
|
expect(prc.last).to eq(c.read_rule_class)
|
@@ -261,12 +261,12 @@ describe Card::Set::All::Permissions do
|
|
261
261
|
|
262
262
|
it "write user permissions" do
|
263
263
|
Card::Auth.as_bot do
|
264
|
-
@u1.fetch(:
|
265
|
-
@u2.fetch(:
|
266
|
-
@u3.fetch(:
|
264
|
+
@u1.fetch(trait: :roles, new: {}).items = [@r1, @r2]
|
265
|
+
@u2.fetch(trait: :roles, new: {}).items = [@r1, @r3]
|
266
|
+
@u3.fetch(trait: :roles, new: {}).items = [@r1, @r2, @r3]
|
267
267
|
|
268
268
|
cards=[1,2,3].map do |num|
|
269
|
-
Card.create(:
|
269
|
+
Card.create(name: "c#{num}+*self+*update", type: 'Pointer', content: "[[u#{num}]]")
|
270
270
|
end
|
271
271
|
end
|
272
272
|
|
@@ -283,11 +283,11 @@ describe Card::Set::All::Permissions do
|
|
283
283
|
|
284
284
|
it "read group permissions" do
|
285
285
|
Card::Auth.as_bot do
|
286
|
-
@u1.fetch(:
|
287
|
-
@u2.fetch(:
|
286
|
+
@u1.fetch(trait: :roles).items = [@r1, @r2]
|
287
|
+
@u2.fetch(trait: :roles).items = [@r1, @r3]
|
288
288
|
|
289
289
|
[1,2,3].each do |num|
|
290
|
-
Card.create(:
|
290
|
+
Card.create(name: "c#{num}+*self+*read", type: 'Pointer', content: "[[r#{num}]]")
|
291
291
|
end
|
292
292
|
end
|
293
293
|
|
@@ -303,10 +303,10 @@ describe Card::Set::All::Permissions do
|
|
303
303
|
it "write group permissions" do
|
304
304
|
Card::Auth.as_bot do
|
305
305
|
[1,2,3].each do |num|
|
306
|
-
Card.create(:
|
306
|
+
Card.create(name: "c#{num}+*self+*update", type: 'Pointer', content: "[[r#{num}]]")
|
307
307
|
end
|
308
308
|
|
309
|
-
@u3.fetch(:
|
309
|
+
@u3.fetch(trait: :roles, new: {}).items = [@r1]
|
310
310
|
end
|
311
311
|
|
312
312
|
%{ u1 u2 u3
|
@@ -328,12 +328,12 @@ describe Card::Set::All::Permissions do
|
|
328
328
|
|
329
329
|
it "read user permissions" do
|
330
330
|
Card::Auth.as_bot {
|
331
|
-
@u1.fetch(:
|
332
|
-
@u2.fetch(:
|
333
|
-
@u3.fetch(:
|
331
|
+
@u1.fetch(trait: :roles, new: {}).items = [@r1, @r2]
|
332
|
+
@u2.fetch(trait: :roles, new: {}).items = [@r1, @r3]
|
333
|
+
@u3.fetch(trait: :roles, new: {}).items = [@r1, @r2, @r3]
|
334
334
|
|
335
335
|
[1,2,3].each do |num|
|
336
|
-
Card.create(:
|
336
|
+
Card.create(name: "c#{num}+*self+*read", type: 'Pointer', content: "[[u#{num}]]")
|
337
337
|
end
|
338
338
|
}
|
339
339
|
|
@@ -351,8 +351,8 @@ describe Card::Set::All::Permissions do
|
|
351
351
|
context "create permissions" do
|
352
352
|
before do
|
353
353
|
Card::Auth.as_bot do
|
354
|
-
Card.create! :
|
355
|
-
Card.create! :
|
354
|
+
Card.create! name: '*structure+*right+*create', type: 'Pointer', content: '[[Anyone Signed In]]'
|
355
|
+
Card.create! name: '*self+*right+*create', type: 'Pointer', content: '[[Anyone Signed In]]'
|
356
356
|
end
|
357
357
|
end
|
358
358
|
|
@@ -361,8 +361,8 @@ describe Card::Set::All::Permissions do
|
|
361
361
|
expect(Card.fetch( 'A+*self' ).ok?(:create)).to be_truthy #explicitly granted above
|
362
362
|
expect(Card.fetch( 'A+*right').ok?(:create)).to be_falsey #by default restricted
|
363
363
|
|
364
|
-
expect(Card.fetch( 'A+*self+*structure', :
|
365
|
-
expect(Card.fetch( 'A+*right+*structure', :
|
364
|
+
expect(Card.fetch( 'A+*self+*structure', new: {} ).ok?(:create)).to be_truthy # +*structure granted;
|
365
|
+
expect(Card.fetch( 'A+*right+*structure', new: {} ).ok?(:create)).to be_falsey # can't create A+B, therefore can't create A+B+C
|
366
366
|
end
|
367
367
|
end
|
368
368
|
|
@@ -373,36 +373,36 @@ describe Card::Set::All::Permissions do
|
|
373
373
|
# set up cards of type TestType, 2 with nil reader, 1 with role1 reader
|
374
374
|
Card::Auth.as_bot do
|
375
375
|
[@c1,@c2,@c3].each do |c|
|
376
|
-
c.update_attributes :
|
376
|
+
c.update_attributes content: 'WeirdWord'
|
377
377
|
end
|
378
|
-
Card.create(:
|
378
|
+
Card.create(name: "c1+*self+*read", type: 'Pointer', content: "[[u1]]")
|
379
379
|
end
|
380
380
|
|
381
381
|
Card::Auth.as(@u1) do
|
382
|
-
expect(Card.search(:
|
382
|
+
expect(Card.search(content: 'WeirdWord').map(&:name).sort).to eq(%w( c1 c2 c3 ))
|
383
383
|
end
|
384
384
|
Card::Auth.as(@u2) do
|
385
|
-
expect(Card.search(:
|
385
|
+
expect(Card.search(content: 'WeirdWord').map(&:name).sort).to eq(%w( c2 c3 ))
|
386
386
|
end
|
387
387
|
end
|
388
388
|
|
389
389
|
it "role wql" do
|
390
|
-
#warn "u1 roles #{Card[ @u1.id ].fetch(:
|
390
|
+
#warn "u1 roles #{Card[ @u1.id ].fetch(trait: :roles).item_names.inspect}"
|
391
391
|
|
392
392
|
# set up cards of type TestType, 2 with nil reader, 1 with role1 reader
|
393
393
|
Card::Auth.as_bot do
|
394
394
|
[@c1,@c2,@c3].each do |c|
|
395
|
-
c.update_attributes :
|
395
|
+
c.update_attributes content: 'WeirdWord'
|
396
396
|
end
|
397
|
-
Card.create(:
|
397
|
+
Card.create(name: "c1+*self+*read", type: 'Pointer', content: "[[r3]]")
|
398
398
|
end
|
399
399
|
|
400
400
|
Card::Auth.as(@u1) do
|
401
|
-
expect(Card.search(:
|
401
|
+
expect(Card.search(content: 'WeirdWord').map(&:name).sort).to eq(%w( c1 c2 c3 ))
|
402
402
|
end
|
403
403
|
Card::Auth.current_id =nil # for Card::Auth.as to be effective, you can't have a logged in user
|
404
404
|
Card::Auth.as(@u2) do
|
405
|
-
expect(Card.search(:
|
405
|
+
expect(Card.search(content: 'WeirdWord').map(&:name).sort).to eq(%w( c2 c3 ))
|
406
406
|
end
|
407
407
|
end
|
408
408
|
|
@@ -438,7 +438,7 @@ describe Card::Set::All::Permissions do
|
|
438
438
|
|
439
439
|
context "default permissions" do
|
440
440
|
before do
|
441
|
-
@c = Card.create! :
|
441
|
+
@c = Card.create! name: "sky blue"
|
442
442
|
end
|
443
443
|
|
444
444
|
it "should let anonymous users view basic cards" do
|
@@ -469,7 +469,7 @@ describe Card::Set::All::Permissions do
|
|
469
469
|
context "settings based permissions" do
|
470
470
|
before do
|
471
471
|
Card::Auth.as_bot do
|
472
|
-
@delete_rule_card = Card.fetch '*all+*delete', :
|
472
|
+
@delete_rule_card = Card.fetch '*all+*delete', new: {}
|
473
473
|
@delete_rule_card.type_id = Card::PointerID
|
474
474
|
@delete_rule_card.content = '[[Joe_User]]'
|
475
475
|
@delete_rule_card.save!
|
@@ -477,7 +477,7 @@ describe Card::Set::All::Permissions do
|
|
477
477
|
end
|
478
478
|
|
479
479
|
it "should handle delete as a setting" do
|
480
|
-
c = Card.new :
|
480
|
+
c = Card.new name: 'whatever'
|
481
481
|
expect(c.who_can(:delete)).to eq([Card['joe_user'].id])
|
482
482
|
Card::Auth.as(:joe_user) do
|
483
483
|
expect(c.ok?(:delete)).to eq(true)
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
describe Card::Set::All::References do
|
4
4
|
it "should replace references should work on inclusions inside links" do
|
5
|
-
card = Card.create!(:
|
5
|
+
card = Card.create!(name: "ref test", content: "[[test_card|test{{test}}]]" )
|
6
6
|
assert_equal "[[test_card|test{{best}}]]", card.replace_references("test", "best" )
|
7
7
|
end
|
8
8
|
end
|
@@ -9,7 +9,7 @@ describe Card do
|
|
9
9
|
|
10
10
|
before do
|
11
11
|
Card::Auth.as_bot do
|
12
|
-
Card.create! :
|
12
|
+
Card.create! name: 'Basic+*type+*table of contents', content: '2'
|
13
13
|
end
|
14
14
|
expect(@c1 = Card['Onne Heading']).to be
|
15
15
|
expect(@c2 = Card['Twwo Heading']).to be
|
@@ -53,12 +53,12 @@ describe Card do
|
|
53
53
|
expect(sets).to eq(['Cardtype A+*type', 'Cardtype A+*right'])
|
54
54
|
end
|
55
55
|
# it "should show type plus right sets when they exist" do
|
56
|
-
# Card::Auth.as_bot { Card.create :
|
56
|
+
# Card::Auth.as_bot { Card.create name: 'Basic+A+*type plus right', content: '' }
|
57
57
|
# sets = Card['A'].related_sets
|
58
58
|
# sets.should == ['A+*self', 'A+*right', 'Basic+A+*type plus right']
|
59
59
|
# end
|
60
60
|
# it "should show type plus right sets when they exist, and type" do
|
61
|
-
# Card::Auth.as_bot { Card.create :
|
61
|
+
# Card::Auth.as_bot { Card.create name: 'Basic+Cardtype A+*type plus right', content: '' }
|
62
62
|
# sets = Card['Cardtype A'].related_sets
|
63
63
|
# sets.should == ['Cardtype A+*self', 'Cardtype A+*type', 'Cardtype A+*right', 'Basic+Cardtype A+*type plus right']
|
64
64
|
# end
|
@@ -114,12 +114,12 @@ describe Card do
|
|
114
114
|
|
115
115
|
before do
|
116
116
|
Card::Auth.as_bot do
|
117
|
-
@c1 = Card.create :
|
118
|
-
:
|
119
|
-
@c2 = Card.create :
|
120
|
-
:
|
121
|
-
@c3 = Card.create :
|
122
|
-
:
|
117
|
+
@c1 = Card.create name: 'toc1', type: "CardtypeE",
|
118
|
+
content: Card['Onne Heading'].content
|
119
|
+
@c2 = Card.create name: 'toc2', type: "CardtypeE",
|
120
|
+
content: Card['Twwo Heading'].content
|
121
|
+
@c3 = Card.create name: 'toc3', type: "CardtypeE",
|
122
|
+
content: Card['Three Heading'].content
|
123
123
|
end
|
124
124
|
expect(@c1.type_name).to eq('Cardtype E')
|
125
125
|
@rule_card = @c1.rule_card(:table_of_contents)
|
@@ -173,10 +173,10 @@ describe Card do
|
|
173
173
|
context "when I create a new rule" do
|
174
174
|
before do
|
175
175
|
Card::Auth.as_bot do
|
176
|
-
Card.create! :
|
177
|
-
@c1 = Card.create! :
|
178
|
-
@c2 = Card.create! :
|
179
|
-
@c3 = Card.create! :
|
176
|
+
Card.create! name: 'Basic+*type+*table of contents', content: '2'
|
177
|
+
@c1 = Card.create! name: 'toc1', type: "CardtypeE", content: Card['Onne Heading'].content
|
178
|
+
@c2 = Card.create! name: 'toc2', content: Card['Twwo Heading'].content
|
179
|
+
@c3 = Card.create! name: 'toc3', content: Card['Three Heading'].content
|
180
180
|
expect(@c1.type_name).to eq('Cardtype E')
|
181
181
|
@rule_card = @c1.rule_card(:table_of_contents)
|
182
182
|
|
@@ -188,7 +188,7 @@ describe Card do
|
|
188
188
|
c.content = '2'
|
189
189
|
c.save!
|
190
190
|
else
|
191
|
-
c=Card.create! :
|
191
|
+
c=Card.create! name: 'CardtypeE+*type+*table of content', content: '2'
|
192
192
|
end
|
193
193
|
end
|
194
194
|
end
|
@@ -218,7 +218,7 @@ describe Card do
|
|
218
218
|
before do
|
219
219
|
expect(@c1 = Card["Onne Heading"]).to be
|
220
220
|
# FIXME: CardtypeE should inherit from *default => Basic
|
221
|
-
#@c2 = Card.create :
|
221
|
+
#@c2 = Card.create name: 'toc2', type: "CardtypeE", content: Card['Twwo Heading'].content
|
222
222
|
expect(@c2 = Card["Twwo Heading"]).to be
|
223
223
|
expect(@c1.type_id).to eq(Card::BasicID)
|
224
224
|
expect(@rule_card = @c1.rule_card(:table_of_contents)).to be
|
@@ -7,47 +7,47 @@ describe Card::Set::All::Rules do
|
|
7
7
|
|
8
8
|
describe "setting data setup" do
|
9
9
|
it "should make Set of +*type" do
|
10
|
-
Card.create! :
|
11
|
-
expect(Card.create!( :
|
10
|
+
Card.create! name: "SpeciForm", type: 'Cardtype'
|
11
|
+
expect(Card.create!( name: "SpeciForm+*type" ).type_code).to eq(:set)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
describe "#rule" do
|
16
16
|
it "retrieves Set based value" do
|
17
|
-
Card.create :
|
18
|
-
expect(Card.new( :
|
17
|
+
Card.create name: "Book+*type+*add help", content: "authorize"
|
18
|
+
expect(Card.new( type: "Book" ).rule(:add_help, fallback: :help)).to eq("authorize")
|
19
19
|
end
|
20
20
|
|
21
21
|
it "retrieves default values" do
|
22
|
-
#Card.create :
|
23
|
-
assert c=Card.create(:
|
24
|
-
# Card.default_rule(:add_help, :
|
25
|
-
expect(Card.new( :
|
22
|
+
#Card.create name: "all Basic cards", type: "Set", content: "{\"type\": \"Basic\"}" #defaults should work when other Sets are present
|
23
|
+
assert c=Card.create(name: "*all+*add help", content: "lobotomize")
|
24
|
+
# Card.default_rule(:add_help, fallback: :help).should == "lobotomize"
|
25
|
+
expect(Card.new( type: "Basic" ).rule(:add_help, fallback: :help)).to eq("lobotomize")
|
26
26
|
end
|
27
27
|
|
28
28
|
it "retrieves single values" do
|
29
|
-
Card.create! :
|
29
|
+
Card.create! name: "banana+*self+*help", content: "pebbles"
|
30
30
|
expect(Card["banana"].rule(:help)).to eq("pebbles")
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
context 'with fallback' do
|
34
34
|
before do
|
35
|
-
Card.create :
|
35
|
+
Card.create name: "*all+*help", content: "edit any kind of card"
|
36
36
|
end
|
37
37
|
|
38
38
|
it "retrieves default setting" do
|
39
|
-
expect(Card.new( :
|
39
|
+
expect(Card.new( type: "Book" ).rule(:add_help, fallback: :help)).to eq("edit any kind of card")
|
40
40
|
end
|
41
41
|
|
42
42
|
it "retrieves primary setting" do
|
43
|
-
Card.create :
|
44
|
-
expect(Card.new( :
|
43
|
+
Card.create name: "*all+*add help", content: "add any kind of card"
|
44
|
+
expect(Card.new( type: "Book" ).rule(:add_help, fallback: :help)).to eq("add any kind of card")
|
45
45
|
end
|
46
46
|
|
47
47
|
it "retrieves more specific default setting" do
|
48
|
-
Card.create :
|
49
|
-
Card.create :
|
50
|
-
expect(Card.new( :
|
48
|
+
Card.create name: "*all+*add help", content: "add any kind of card"
|
49
|
+
Card.create name: "*Book+*type+*help", content: "edit a Book"
|
50
|
+
expect(Card.new( type: "Book" ).rule(:add_help, fallback: :help)).to eq("add any kind of card")
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
@@ -58,9 +58,9 @@ describe Card::Set::All::Rules do
|
|
58
58
|
@pointer_settings = [ :options, :options_label, :input ]
|
59
59
|
end
|
60
60
|
it "doesn't fail on nonexistent trunks" do
|
61
|
-
expect(Card.new(:
|
61
|
+
expect(Card.new(name: 'foob+*right').setting_codenames_by_group.class).to eq(Hash)
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
it "returns universal setting names for non-pointer set" do
|
65
65
|
skip "Different api, we should just put the tests in a new spec for that"
|
66
66
|
snbg = Card.fetch('*star').setting_codenames_by_group
|
@@ -72,55 +72,55 @@ describe Card::Set::All::Rules do
|
|
72
72
|
|
73
73
|
|
74
74
|
it "returns pointer-specific setting names for pointer card" do
|
75
|
-
c = Card.fetch 'Fruit+*type+*create+*self', :
|
75
|
+
c = Card.fetch 'Fruit+*type+*create+*self', new: {}
|
76
76
|
snbg = c.setting_codenames_by_group
|
77
77
|
expect(snbg[:pointer]).to eq(@pointer_settings)
|
78
78
|
end
|
79
79
|
|
80
80
|
end
|
81
|
-
|
81
|
+
|
82
82
|
describe 'user specific rules' do
|
83
83
|
before do
|
84
84
|
Card::Auth.current_id = Card.fetch('Joe User').id
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
it "user rule is recognized as rule" do
|
88
88
|
Card::Auth.as_bot do
|
89
|
-
card = Card.create(:
|
89
|
+
card = Card.create(name: "Book+*type+Joe User+*follow", content: "[[*always]]")
|
90
90
|
expect(card.is_rule?).to be_truthy
|
91
91
|
end
|
92
92
|
end
|
93
|
-
|
93
|
+
|
94
94
|
it "retrieves Set based value" do
|
95
95
|
Card::Auth.as_bot do
|
96
|
-
Card.create :
|
96
|
+
Card.create name: "Book+*type+Joe User+*follow", content: "[[*always]]"
|
97
97
|
end
|
98
|
-
expect(Card.new( :
|
98
|
+
expect(Card.new( type: "Book" ).rule(:follow)).to eq("[[*always]]")
|
99
99
|
end
|
100
|
-
|
100
|
+
|
101
101
|
it "retrieves user indepedent Set based value" do
|
102
102
|
Card::Auth.as_bot do
|
103
|
-
Card.create :
|
103
|
+
Card.create name: "Book+*type+*all+*follow", content: "[[Home]]"
|
104
104
|
end
|
105
|
-
expect(Card.new( :
|
105
|
+
expect(Card.new( type: "Book" ).rule(:follow)).to eq("[[Home]]")
|
106
106
|
end
|
107
|
-
|
107
|
+
|
108
108
|
it "uses *all user rule when no super.s"
|
109
|
-
|
109
|
+
|
110
110
|
it "user-specific value overwrites user-independent value" do
|
111
111
|
Card::Auth.as_bot do
|
112
|
-
Card.create :
|
113
|
-
Card.create :
|
112
|
+
Card.create name: "Book+*type+Joe User+*follow", content: "[[*never]]"
|
113
|
+
Card.create name: "Book+*type+*all+*follow", content: "[[*always]]"
|
114
114
|
end
|
115
|
-
expect(Card.new( :
|
115
|
+
expect(Card.new( type: "Book" ).rule(:follow)).to eq("[[*never]]")
|
116
116
|
end
|
117
|
-
|
117
|
+
|
118
118
|
describe '#all_user_ids_with_rule_for' do
|
119
119
|
it "returns all user with values for the given Set and rule" do
|
120
120
|
Card::Auth.as_bot do
|
121
|
-
Card.create(:
|
121
|
+
Card.create(name: "Book+*type+Joe User+*follow", content: "[[Home]]")
|
122
122
|
Card::Auth.current_id = Card.fetch('Joe Admin').id
|
123
|
-
Card.create(:
|
123
|
+
Card.create(name: "Book+*type+Joe Admin+*follow", content: "[[Home]]")
|
124
124
|
user_ids = Card.all_user_ids_with_rule_for( Card.fetch("Book+*type"), :follow ).sort
|
125
125
|
expect(user_ids).to eq [Card['Joe User'].id, Card['Joe Admin'].id].sort
|
126
126
|
end
|