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
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
describe "Card::Set::All::Follow" do
|
4
4
|
def follow_view card_name
|
5
|
-
render_card :follow_link, :
|
5
|
+
render_card :follow_link, name: card_name
|
6
6
|
end
|
7
7
|
|
8
8
|
describe "follower_ids" do
|
@@ -57,7 +57,7 @@ describe "Card::Set::All::Follow" do
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def assert_following_view name, args
|
60
|
-
assert_follow_view name, args.reverse_merge(:
|
60
|
+
assert_follow_view name, args.reverse_merge(following: true, text: "unfollow" )
|
61
61
|
end
|
62
62
|
|
63
63
|
# href="/card/update/Home+*self+philipp+*follow?card%5Bcontent%5D=%5B%5Bnever%5D%5D&success%5Bid%5D=Home&success%5Bview%5D=follow"
|
@@ -83,51 +83,51 @@ describe "Card::Set::All::Follow" do
|
|
83
83
|
|
84
84
|
context "when not following" do
|
85
85
|
it 'renders follow link' do
|
86
|
-
assert_follow_view 'No One Sees Me', :
|
86
|
+
assert_follow_view 'No One Sees Me', add_set: 'No One Sees Me+*self'
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
90
|
context "when following *self" do
|
91
91
|
it 'renders following link' do
|
92
|
-
assert_following_view 'Look At Me', :
|
92
|
+
assert_following_view 'Look At Me', add_set: 'Look at me+*self'
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
96
|
context "when following *type" do
|
97
97
|
it 'renders following link' do
|
98
|
-
assert_following_view 'Sunglasses', :
|
98
|
+
assert_following_view 'Sunglasses', add_set: 'Sunglasses+*self'
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
102
|
context "when following cardtype card" do
|
103
103
|
it 'renders following all link' do
|
104
|
-
assert_following_view 'Optic', :
|
104
|
+
assert_following_view 'Optic', add_set: 'Optic+*type', text: 'unfollow'
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
108
|
context "when not following cardtype card" do
|
109
109
|
it "renders 'follow all' link" do
|
110
|
-
assert_follow_view 'Basic', :
|
110
|
+
assert_follow_view 'Basic', add_set: 'Basic+*type', text: 'follow'
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
114
|
context "when following *right" do
|
115
115
|
it "renders following link" do
|
116
|
-
assert_following_view 'Magnifier+lens', :
|
116
|
+
assert_following_view 'Magnifier+lens', add_set: 'Magnifier+lens+*self'
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
120
120
|
context 'when following content I created' do
|
121
121
|
before { Card::Auth.current_id = Card['Narcissist'].id }
|
122
122
|
it "renders following link" do
|
123
|
-
assert_following_view 'Sunglasses', :
|
123
|
+
assert_following_view 'Sunglasses', add_set: 'Sunglasses+*self', user: 'Narcissist'
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
127
127
|
context 'when following content I edited' do
|
128
128
|
before { Card::Auth.current_id = Card['Narcissist'].id }
|
129
129
|
it "renders following link" do
|
130
|
-
assert_following_view 'Magnifier+lens', :
|
130
|
+
assert_following_view 'Magnifier+lens', add_set: 'Magnifier+lens+*self', user: 'Narcissist'
|
131
131
|
end
|
132
132
|
end
|
133
133
|
end
|
@@ -4,18 +4,18 @@ shared_examples_for 'notifications' do
|
|
4
4
|
describe '#list_of_changes' do
|
5
5
|
name = 'subedit notice'
|
6
6
|
content = 'new content'
|
7
|
-
|
7
|
+
|
8
8
|
before do
|
9
|
-
@card = Card.create!(:name
|
9
|
+
@card = Card.create!(name: name, content: content)
|
10
10
|
end
|
11
|
-
subject { @card.format(:format
|
12
|
-
|
11
|
+
subject { @card.format(format: format).render_list_of_changes }
|
12
|
+
|
13
13
|
context 'for a new card' do
|
14
14
|
it { is_expected.to include "content: #{content}" }
|
15
15
|
it { is_expected.to include 'cardtype: Basic' }
|
16
16
|
end
|
17
17
|
context 'for a updated card' do
|
18
|
-
before { @card.update_attributes!(:
|
18
|
+
before { @card.update_attributes!(name: 'bnn card', type: :pointer, content: 'changed content') }
|
19
19
|
it { is_expected.to include 'new content: [[changed content]]' }
|
20
20
|
it { is_expected.to include 'new cardtype: Pointer' }
|
21
21
|
it { is_expected.to include 'new name: bnn card' }
|
@@ -24,25 +24,25 @@ shared_examples_for 'notifications' do
|
|
24
24
|
before { @card.delete }
|
25
25
|
it { is_expected.to be_empty }
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
context 'for a given action' do
|
29
29
|
subject do
|
30
30
|
action = @card.last_action
|
31
|
-
@card.update_attributes!(:
|
32
|
-
@card.format(:format
|
31
|
+
@card.update_attributes!(name: 'bnn card', type: :pointer, content: 'changed content')
|
32
|
+
@card.format(format: format).render_list_of_changes(action: action)
|
33
33
|
end
|
34
34
|
it { is_expected.to include "content: #{content}" }
|
35
35
|
end
|
36
36
|
context 'for a given action id' do
|
37
37
|
subject do
|
38
38
|
action_id = @card.last_action.id
|
39
|
-
@card.update_attributes!(:
|
40
|
-
@card.format(:format
|
39
|
+
@card.update_attributes!(name: 'bnn card', type: :pointer, content: 'changed content')
|
40
|
+
@card.format(format: format).render_list_of_changes(action_id: action_id)
|
41
41
|
end
|
42
42
|
it { is_expected.to include "content: #{content}" }
|
43
43
|
end
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
describe 'subedit_notice' do
|
47
47
|
def list_of_changes_for card
|
48
48
|
card.db_content
|
@@ -50,27 +50,27 @@ shared_examples_for 'notifications' do
|
|
50
50
|
name = 'subedit notice card'
|
51
51
|
content = 'new content'
|
52
52
|
before do
|
53
|
-
@card = Card.create!(:name
|
53
|
+
@card = Card.create!(name: name, content: content)
|
54
54
|
end
|
55
|
-
subject { @card.format(:format
|
56
|
-
|
55
|
+
subject { @card.format(format: format).render_subedit_notice }
|
56
|
+
|
57
57
|
context 'for a new card' do
|
58
58
|
it { is_expected.to include name }
|
59
59
|
it { is_expected.to include 'created' }
|
60
60
|
it { is_expected.to include list_of_changes_for @card }
|
61
61
|
end
|
62
|
-
|
62
|
+
|
63
63
|
context 'for a updated card' do
|
64
64
|
changed_name = 'changed subedit notice'
|
65
65
|
changed_content = 'changed content'
|
66
|
-
before { @card.update_attributes!(:
|
66
|
+
before { @card.update_attributes!(name: changed_name, content: changed_content) }
|
67
67
|
it { is_expected.to include changed_name }
|
68
68
|
it { is_expected.to include 'updated' }
|
69
69
|
it { is_expected.to include list_of_changes_for @card }
|
70
70
|
end
|
71
|
-
|
71
|
+
|
72
72
|
context 'for a deleted card' do
|
73
|
-
before { @card.delete }
|
73
|
+
before { @card.delete }
|
74
74
|
it { is_expected.to include name }
|
75
75
|
it { is_expected.to include 'deleted' }
|
76
76
|
end
|
@@ -79,7 +79,7 @@ end
|
|
79
79
|
|
80
80
|
|
81
81
|
describe Card::Set::All::Notify do
|
82
|
-
|
82
|
+
|
83
83
|
describe 'content of notification email' do
|
84
84
|
context 'for new card with subcards' do
|
85
85
|
name = "another card with subcards"
|
@@ -88,21 +88,21 @@ describe Card::Set::All::Notify do
|
|
88
88
|
sub2_content = 'new content of subcard 2'
|
89
89
|
before do
|
90
90
|
Card::Auth.as_bot do
|
91
|
-
@card = Card.create!(:name
|
92
|
-
:
|
93
|
-
|
91
|
+
@card = Card.create!(name: name, content: content,
|
92
|
+
subcards: { '+s1'=>{content: sub1_content},
|
93
|
+
'+s2'=>{content: sub2_content} })
|
94
94
|
end
|
95
95
|
end
|
96
|
-
subject {
|
96
|
+
subject {
|
97
97
|
Card[:follower_notification_email].format.render_mail(
|
98
|
-
:
|
99
|
-
:
|
100
|
-
:
|
101
|
-
:
|
102
|
-
:
|
98
|
+
context: @card.refresh(true),
|
99
|
+
to: Card['Joe User'].email,
|
100
|
+
follower: Card['Joe User'].name,
|
101
|
+
followed_set: "#{@card.name}+*self",
|
102
|
+
follow_option: '*always'
|
103
103
|
).text_part.body.raw_source
|
104
104
|
}
|
105
|
-
|
105
|
+
|
106
106
|
it { is_expected.to include content }
|
107
107
|
it { is_expected.to include sub1_content }
|
108
108
|
it { is_expected.to include sub2_content }
|
@@ -110,7 +110,7 @@ describe Card::Set::All::Notify do
|
|
110
110
|
context 'and missing permissions' do
|
111
111
|
context 'for subcard' do
|
112
112
|
before do
|
113
|
-
Card.create_or_update! "#{name}+s1+*self+*read"
|
113
|
+
Card.create_or_update! "#{name}+s1+*self+*read", type: 'Pointer', content: '[[Administrator]]'
|
114
114
|
end
|
115
115
|
it "excludes subcard content" do
|
116
116
|
is_expected.not_to include sub1_content
|
@@ -118,18 +118,18 @@ describe Card::Set::All::Notify do
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
context 'for main card' do
|
121
|
-
subject {
|
121
|
+
subject {
|
122
122
|
Card[:follower_notification_email].format.render_mail(
|
123
|
-
:
|
124
|
-
:
|
125
|
-
:
|
126
|
-
:
|
127
|
-
:
|
123
|
+
context: @card.refresh(true),
|
124
|
+
to: Card['Joe User'].email,
|
125
|
+
follower: Card['Joe User'].name,
|
126
|
+
followed_set: @card.name+"+s1+*self",
|
127
|
+
follow_option: '*always'
|
128
128
|
).text_part.body.raw_source
|
129
129
|
}
|
130
130
|
before do
|
131
|
-
Card.create_or_update! "#{name}+*self+*read"
|
132
|
-
Card.create_or_update! "#{name}+s1+*self+*read"
|
131
|
+
Card.create_or_update! "#{name}+*self+*read",type: 'Pointer',content: '[[Administrator]]'
|
132
|
+
Card.create_or_update! "#{name}+s1+*self+*read",type: 'Pointer',content: '[[Anyone]]'
|
133
133
|
end
|
134
134
|
it 'includes subcard content' do
|
135
135
|
is_expected.to include sub1_content
|
@@ -141,9 +141,9 @@ describe Card::Set::All::Notify do
|
|
141
141
|
end
|
142
142
|
context 'for all parts' do
|
143
143
|
before do
|
144
|
-
Card.create_or_update! "#{name}+s1+*self+*read"
|
145
|
-
Card.create_or_update! "#{name}+s2+*self+*read"
|
146
|
-
Card.create_or_update! "#{name}+*self+*read"
|
144
|
+
Card.create_or_update! "#{name}+s1+*self+*read",type: 'Pointer',content: '[[Administrator]]'
|
145
|
+
Card.create_or_update! "#{name}+s2+*self+*read",type: 'Pointer',content: '[[Administrator]]'
|
146
|
+
Card.create_or_update! "#{name}+*self+*read",type: 'Pointer',content: '[[Administrator]]'
|
147
147
|
end
|
148
148
|
it { is_expected.not_to include content }
|
149
149
|
it { is_expected.not_to include sub1_content }
|
@@ -155,8 +155,8 @@ describe Card::Set::All::Notify do
|
|
155
155
|
end
|
156
156
|
end
|
157
157
|
end
|
158
|
-
|
159
|
-
|
158
|
+
|
159
|
+
|
160
160
|
describe 'html format' do
|
161
161
|
include_examples 'notifications' do
|
162
162
|
let(:format) { 'email_html' }
|
@@ -174,16 +174,16 @@ describe Card::Set::All::Notify do
|
|
174
174
|
sub1_content = 'new content of subcard 1'
|
175
175
|
sub2_content = 'new content of subcard 2'
|
176
176
|
Card::Auth.as_bot do
|
177
|
-
@card = Card.create!(:name
|
178
|
-
:
|
179
|
-
'+s2'=>{:
|
177
|
+
@card = Card.create!(name: name, content: content,
|
178
|
+
subcards: { '+s1'=>{content: sub1_content},
|
179
|
+
'+s2'=>{content: sub2_content} })
|
180
180
|
end
|
181
181
|
result = Card[:follower_notification_email].format.render_mail(
|
182
|
-
:
|
183
|
-
:
|
184
|
-
:
|
185
|
-
:
|
186
|
-
:
|
182
|
+
context: @card,
|
183
|
+
to: Card['Joe User'].email,
|
184
|
+
follower: Card['Joe User'].name,
|
185
|
+
followed_set: "#{@card.name}+*self",
|
186
|
+
follow_option: '*always'
|
187
187
|
).text_part.body.raw_source
|
188
188
|
expect(result).to eq(%{"another card with subcards" was just created by Joe User.
|
189
189
|
|
@@ -214,7 +214,7 @@ Use this link to unfollow /update/Joe_User+*follow?card%5Bsubcards%5D%5Banother+
|
|
214
214
|
})
|
215
215
|
end
|
216
216
|
end
|
217
|
-
|
217
|
+
|
218
218
|
|
219
219
|
describe "#notify_followers" do
|
220
220
|
def expect_user user_name
|
@@ -224,16 +224,16 @@ Use this link to unfollow /update/Joe_User+*follow?card%5Bsubcards%5D%5Banother+
|
|
224
224
|
def be_notified
|
225
225
|
receive(:send_change_notice)
|
226
226
|
end
|
227
|
-
|
227
|
+
|
228
228
|
def be_notified_of set_name, option_name='*always'
|
229
229
|
receive(:send_change_notice).with(kind_of(Card::Act), set_name, option_name)
|
230
230
|
end
|
231
|
-
|
231
|
+
|
232
232
|
def update card_name, new_content='updated content'
|
233
|
-
Card[card_name].update_attributes! :
|
233
|
+
Card[card_name].update_attributes! content: new_content
|
234
234
|
end
|
235
|
-
|
236
|
-
|
235
|
+
|
236
|
+
|
237
237
|
|
238
238
|
it "sends notifications of edits" do
|
239
239
|
expect_user("Big Brother").to be_notified_of "All Eyes On Me+*self"
|
@@ -245,7 +245,7 @@ Use this link to unfollow /update/Joe_User+*follow?card%5Bsubcards%5D%5Banother+
|
|
245
245
|
expect_user("Big Brother").not_to be_notified
|
246
246
|
update "Google glass"
|
247
247
|
end
|
248
|
-
|
248
|
+
|
249
249
|
it "sends only one notification per user" do
|
250
250
|
expect_user("Big Brother").to receive(:send_change_notice).exactly(1)
|
251
251
|
update "Google glass"
|
@@ -255,16 +255,16 @@ Use this link to unfollow /update/Joe_User+*follow?card%5Bsubcards%5D%5Banother+
|
|
255
255
|
expect_user("Big Brother").not_to be_notified
|
256
256
|
update "No One Sees Me"
|
257
257
|
end
|
258
|
-
|
259
|
-
|
260
|
-
|
258
|
+
|
259
|
+
|
260
|
+
|
261
261
|
context "when following *type sets" do
|
262
262
|
before do
|
263
263
|
Card::Auth.current_id = Card['joe admin'].id
|
264
264
|
end
|
265
|
-
|
265
|
+
|
266
266
|
it "sends notifications of new card" do
|
267
|
-
new_card = Card.new :
|
267
|
+
new_card = Card.new name: "Microscope", type: "Optic"
|
268
268
|
expect_user("Optic fan").to be_notified_of "Optic+*type", "*always"
|
269
269
|
new_card.save!
|
270
270
|
end
|
@@ -274,14 +274,14 @@ Use this link to unfollow /update/Joe_User+*follow?card%5Bsubcards%5D%5Banother+
|
|
274
274
|
update "Sunglasses"
|
275
275
|
end
|
276
276
|
end
|
277
|
-
|
277
|
+
|
278
278
|
context 'when following *right sets' do
|
279
279
|
it "sends notifications of new card" do
|
280
|
-
new_card = Card.new :
|
280
|
+
new_card = Card.new name: "Telescope+lens"
|
281
281
|
expect_user("Big Brother").to be_notified_of "lens+*right", '*always'
|
282
282
|
new_card.save!
|
283
283
|
end
|
284
|
-
|
284
|
+
|
285
285
|
it "sends notifications of update" do
|
286
286
|
expect_user("Big Brother").to be_notified_of "lens+*right", '*always'
|
287
287
|
update "Magnifier+lens"
|
@@ -294,7 +294,7 @@ Use this link to unfollow /update/Joe_User+*follow?card%5Bsubcards%5D%5Banother+
|
|
294
294
|
update 'Sunglasses'
|
295
295
|
end
|
296
296
|
end
|
297
|
-
|
297
|
+
|
298
298
|
context 'when following "content I edited"' do
|
299
299
|
it 'sends notifications of update' do
|
300
300
|
expect_user('Narcissist').to be_notified_of '*all', '*edited'
|
@@ -306,46 +306,46 @@ Use this link to unfollow /update/Joe_User+*follow?card%5Bsubcards%5D%5Banother+
|
|
306
306
|
context "when following ascendant" do
|
307
307
|
it "doesn't sends notification of arbitrary subcards" do
|
308
308
|
expect_user('Sunglasses fan').not_to be_notified
|
309
|
-
Card.create :
|
309
|
+
Card.create name: 'Sunglasses+about'
|
310
310
|
end
|
311
|
-
|
311
|
+
|
312
312
|
context 'and follow fields rule contains subcards' do
|
313
313
|
it 'sends notification of new subcard' do
|
314
|
-
new_card = Card.new :
|
314
|
+
new_card = Card.new name: 'Sunglasses+producer'
|
315
315
|
expect_user('Sunglasses fan').to be_notified_of 'Sunglasses+*self', '*always'
|
316
316
|
new_card.save!
|
317
317
|
end
|
318
|
-
|
318
|
+
|
319
319
|
it 'sends notification of updated subcard' do
|
320
320
|
expect_user('Sunglasses fan').to be_notified_of 'Sunglasses+*self', '*always'
|
321
321
|
update 'Sunglasses+price'
|
322
322
|
end
|
323
323
|
end
|
324
|
-
|
324
|
+
|
325
325
|
context "and follow fields rule contains *include" do
|
326
326
|
it "sends notification of new included card" do
|
327
|
-
new_card = Card.new :
|
327
|
+
new_card = Card.new name: 'Sunglasses+lens'
|
328
328
|
expect_user("Sunglasses fan").to be_notified_of "Sunglasses+*self"
|
329
329
|
new_card.save!
|
330
330
|
end
|
331
|
-
|
331
|
+
|
332
332
|
it "sends notification of updated included card" do
|
333
333
|
expect_user("Sunglasses fan").to be_notified_of "Sunglasses+*self"
|
334
334
|
update 'Sunglasses+tint'
|
335
335
|
end
|
336
|
-
|
336
|
+
|
337
337
|
it "doesn't send notification of not included card" do
|
338
|
-
new_card = Card.new :
|
338
|
+
new_card = Card.new name: 'Sunglasses+frame'
|
339
339
|
expect_user("Sunglasses fan").not_to be_notified
|
340
340
|
new_card.save!
|
341
|
-
end
|
341
|
+
end
|
342
342
|
end
|
343
|
-
|
343
|
+
|
344
344
|
context "and follow fields rule doesn't contain *include" do
|
345
345
|
it "doesn't send notification of included card" do
|
346
346
|
expect_user('Big Brother').not_to be_notified
|
347
|
-
Card.create! :
|
348
|
-
end
|
347
|
+
Card.create! name: 'Google glass+price'
|
348
|
+
end
|
349
349
|
end
|
350
350
|
end
|
351
351
|
context 'when following a set' do
|
@@ -353,9 +353,9 @@ Use this link to unfollow /update/Joe_User+*follow?card%5Bsubcards%5D%5Banother+
|
|
353
353
|
expect_user('Optic fan').to be_notified_of 'Optic+*type'
|
354
354
|
update 'Sunglasses+tint'
|
355
355
|
end
|
356
|
-
|
356
|
+
|
357
357
|
it 'sends notification of subcard mentioned in follow fields rule' do
|
358
|
-
expect_user('Optic fan').to be_notified_of 'Optic+*type'
|
358
|
+
expect_user('Optic fan').to be_notified_of 'Optic+*type'
|
359
359
|
update 'Sunglasses+price'
|
360
360
|
end
|
361
361
|
end
|
@@ -3,48 +3,48 @@
|
|
3
3
|
describe Card::Set::Type::EmailTemplate do
|
4
4
|
before :each do
|
5
5
|
Card::Auth.as_bot do
|
6
|
-
Card.create! :
|
6
|
+
Card.create! name: "mail template", type_code: 'email_template', subcards: {'+*html message'=>{content: 'Hi Joe! My name is {{_self|name}}'},
|
7
7
|
'+*to'=>{content: 'joe@user.com'},
|
8
8
|
'+*from'=>{content: 'from@user.com'} }
|
9
9
|
end
|
10
10
|
end
|
11
11
|
it 'sends email on update' do
|
12
12
|
Card::Auth.as_bot do
|
13
|
-
Card.create! :
|
13
|
+
Card.create! name: "mail test+*self+*on update", type_code: :pointer, content: "[[mail template]]"
|
14
14
|
end
|
15
15
|
card = Card.fetch "mail test"
|
16
16
|
expect { Card::Auth.as_bot { card.update_attributes(content: "test") } }.to change { Mail::TestMailer.deliveries.count }.by(1)
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
it 'sends email on delete' do
|
20
20
|
Card::Auth.as_bot do
|
21
|
-
Card.create! :
|
21
|
+
Card.create! name: "mail test+*self+*on delete", type_code: :pointer, content: "[[mail template]]"
|
22
22
|
end
|
23
23
|
card = Card.fetch "mail test"
|
24
24
|
expect { Card::Auth.as_bot { card.delete } }.to change { Mail::TestMailer.deliveries.count }.by(1)
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
it 'sends email on create' do
|
28
28
|
Card::Auth.as_bot do
|
29
|
-
Card.create! :
|
29
|
+
Card.create! name: "Cardtype A+*type+*on create", type_code: :pointer, content: "[[mail template]]"
|
30
30
|
end
|
31
|
-
expect { Card::Auth.as_bot { Card.create! :
|
31
|
+
expect { Card::Auth.as_bot { Card.create! name: "mail test", type_code: :cardtype_a} }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
describe '#send_action_mails' do
|
35
35
|
before do
|
36
36
|
Card::Auth.as_bot do
|
37
|
-
Card.create! :
|
37
|
+
Card.create! name: "another mail template", type_code: 'email_template', subcards: {'+*html message'=>{content: 'Hi Joe! My name is {{_self|name}}'},
|
38
38
|
'+*to'=>{content: 'joe@user.com'},
|
39
39
|
'+*from'=>{content: 'from@user.com'} }
|
40
|
-
Card.create! :
|
41
|
-
Card.create! :
|
40
|
+
Card.create! name: "mail test+*self+*on update", type_code: :pointer, content: "[[mail template]]\n[[another mail template]]"
|
41
|
+
Card.create! name: "mail test+*self+*on delete", type_code: :pointer, content: "[[mail template]]\n[[another mail template]]"
|
42
42
|
end
|
43
|
-
card = Card.fetch "mail test"
|
43
|
+
card = Card.fetch "mail test"
|
44
44
|
ActionMailer::Base.deliveries = []
|
45
|
-
card.send_action_mails :
|
45
|
+
card.send_action_mails on: :update
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
it 'delivers all emails for given action' do
|
49
49
|
expect(ActionMailer::Base.deliveries.size).to eq(2)
|
50
50
|
end
|
@@ -52,12 +52,12 @@ describe Card::Set::Type::EmailTemplate do
|
|
52
52
|
expect(ActionMailer::Base.deliveries.last.body.raw_source).to include('My name is mail test')
|
53
53
|
end
|
54
54
|
end
|
55
|
-
|
55
|
+
|
56
56
|
# describe '#send_timer_mails' do
|
57
57
|
# before do
|
58
58
|
# ActionMailer::Base.deliveries = []
|
59
59
|
# Card::Auth.as_bot do
|
60
|
-
# Card.create! :
|
60
|
+
# Card.create! name: "A+*hourly", type_code: 'email_template', subcards: {'+*message'=>{content: 'hourly update name:{{_self|name}}'},
|
61
61
|
# '+*to'=>{content: 'joe@user.com'},
|
62
62
|
# '+*from'=>{content: 'from@user.com'}}
|
63
63
|
# end
|