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
@@ -23,7 +23,7 @@ def reset_patterns_if_rule saving=false
|
|
23
23
|
|
24
24
|
#this is really messy.
|
25
25
|
if saving
|
26
|
-
self.add_to_read_rule_update_queue( set.item_cards :
|
26
|
+
self.add_to_read_rule_update_queue( set.item_cards limit: 0 ) if right.id == Card::ReadID
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
class Card; module Set; module All; module Permissions; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/01_core/set/all/permissions.rb ~~~~~~~~~~~
|
3
3
|
|
4
|
-
Card.error_codes.merge! :
|
4
|
+
Card.error_codes.merge! permission_denied: [:denial, 403], captcha: [:errors,449]
|
5
5
|
|
6
6
|
|
7
7
|
# ok? and ok! are public facing methods to approve one action at a time
|
@@ -9,8 +9,8 @@ Card.error_codes.merge! :permission_denied=>[:denial, 403], :captcha=>[:errors,4
|
|
9
9
|
# fetching: if the optional :trait parameter is supplied, it is passed
|
10
10
|
# to fetch and the test is perfomed on the fetched card, therefore:
|
11
11
|
#
|
12
|
-
# :
|
13
|
-
# :
|
12
|
+
# trait: :account would fetch this card plus a tag codenamed :account
|
13
|
+
# trait: :roles, new: {} would initialize a new card with default ({}) options.
|
14
14
|
|
15
15
|
|
16
16
|
def ok? action
|
@@ -46,7 +46,7 @@ def permission_rule_card action
|
|
46
46
|
|
47
47
|
rcard = Auth.as_bot do
|
48
48
|
if ['_left','[[_left]]'].member?(opcard.db_content) && self.junction? # compound cards can inherit permissions from left parent
|
49
|
-
lcard = left_or_new( :
|
49
|
+
lcard = left_or_new( skip_virtual: true, skip_modules: true )
|
50
50
|
if action==:create && lcard.real? && !lcard.action==:create
|
51
51
|
action = :update
|
52
52
|
end
|
@@ -104,7 +104,7 @@ def ok_to_create
|
|
104
104
|
if @action_ok and junction?
|
105
105
|
[:left, :right].each do |side|
|
106
106
|
next if side==:left && @superleft # left is supercard; create permissions will get checked there.
|
107
|
-
part_card = send side, :
|
107
|
+
part_card = send side, new: {}
|
108
108
|
if part_card && part_card.new_card? # if no card, there must be other errors
|
109
109
|
unless part_card.ok? :create
|
110
110
|
deny_because you_cant("create #{part_card.name}")
|
@@ -144,7 +144,7 @@ def ok_to_comment
|
|
144
144
|
end
|
145
145
|
|
146
146
|
|
147
|
-
event :set_read_rule, :
|
147
|
+
event :set_read_rule, before: :store do
|
148
148
|
if trash == true
|
149
149
|
self.read_rule_id = self.read_rule_class = nil
|
150
150
|
else
|
@@ -157,7 +157,7 @@ event :set_read_rule, :before=>:store do
|
|
157
157
|
|
158
158
|
if !new_card? && type_id_changed?
|
159
159
|
Auth.as_bot do
|
160
|
-
Card.search(:
|
160
|
+
Card.search(left: self.name).each do |plus_card|
|
161
161
|
plus_card = plus_card.refresh.update_read_rule
|
162
162
|
end
|
163
163
|
end
|
@@ -174,12 +174,12 @@ def update_read_rule
|
|
174
174
|
#warn "updating read rule for #{inspect} to #{rcard.inspect}, #{rclass}"
|
175
175
|
|
176
176
|
self.read_rule_class = rclass
|
177
|
-
Card.where(:
|
177
|
+
Card.where(id: self.id).update_all(read_rule_id: rcard.id, read_rule_class: rclass)
|
178
178
|
expire
|
179
179
|
|
180
180
|
# currently doing a brute force search for every card that may be impacted. may want to optimize(?)
|
181
181
|
Auth.as_bot do
|
182
|
-
Card.search(:
|
182
|
+
Card.search(left: self.name).each do |plus_card|
|
183
183
|
if plus_card.rule(:read) == '_left'
|
184
184
|
plus_card.update_read_rule
|
185
185
|
end
|
@@ -195,7 +195,7 @@ def add_to_read_rule_update_queue updates
|
|
195
195
|
end
|
196
196
|
|
197
197
|
|
198
|
-
event :check_permissions, :
|
198
|
+
event :check_permissions, after: :approve do
|
199
199
|
task = if @action != :delete && comment #will be obviated by new comment handling
|
200
200
|
:comment
|
201
201
|
else
|
@@ -233,10 +233,10 @@ def have_recaptcha_keys?
|
|
233
233
|
!!( Card.config.recaptcha_public_key && Card.config.recaptcha_private_key )
|
234
234
|
end
|
235
235
|
|
236
|
-
event :recaptcha, :
|
236
|
+
event :recaptcha, before: :approve do
|
237
237
|
if !@supercard && !Env[:recaptcha_used] && recaptcha_on?
|
238
238
|
Env[:recaptcha_used] = true
|
239
|
-
Env[:controller].verify_recaptcha :
|
239
|
+
Env[:controller].verify_recaptcha model: self, attribute: :captcha
|
240
240
|
end
|
241
241
|
end
|
242
242
|
|
@@ -93,6 +93,7 @@ end
|
|
93
93
|
|
94
94
|
|
95
95
|
def extend
|
96
|
+
|
96
97
|
run_callbacks :extend
|
97
98
|
run_callbacks :subsequent
|
98
99
|
rescue =>e
|
@@ -122,26 +123,43 @@ end
|
|
122
123
|
|
123
124
|
|
124
125
|
def event_applies? opts
|
125
|
-
|
126
|
-
|
126
|
+
on_condition_applies?(opts[:on]) &&
|
127
|
+
changed_condition_applies?(opts[:changed]) &&
|
128
|
+
when_condition_applies?(opts[:when])
|
129
|
+
end
|
130
|
+
|
131
|
+
def on_condition_applies? action
|
132
|
+
if action
|
133
|
+
Array.wrap(action).member? @action
|
134
|
+
else
|
135
|
+
true
|
127
136
|
end
|
128
|
-
|
137
|
+
end
|
129
138
|
|
130
|
-
|
131
|
-
|
139
|
+
def changed_condition_applies? db_column
|
140
|
+
if db_column
|
141
|
+
db_column = 'db_content' if db_column.to_sym == :content
|
142
|
+
@action != :delete && changes[db_column.to_s]
|
143
|
+
else
|
144
|
+
true
|
132
145
|
end
|
133
|
-
|
134
|
-
|
146
|
+
end
|
147
|
+
|
148
|
+
def when_condition_applies? block
|
149
|
+
if block
|
150
|
+
block.call self
|
151
|
+
else
|
152
|
+
true
|
135
153
|
end
|
136
|
-
true
|
137
154
|
end
|
138
155
|
|
156
|
+
|
139
157
|
def subcards
|
140
158
|
@subcards ||= {}
|
141
159
|
end
|
142
160
|
|
143
161
|
|
144
|
-
event :process_subcards, :
|
162
|
+
event :process_subcards, after: :approve, on: :save do
|
145
163
|
subcards.keys.each do |sub_name|
|
146
164
|
opts = @subcards[sub_name] || {}
|
147
165
|
opts = { 'content' => opts } if String===opts
|
@@ -170,7 +188,7 @@ event :process_subcards, :after=>:approve, :on=>:save do
|
|
170
188
|
end
|
171
189
|
end
|
172
190
|
|
173
|
-
event :approve_subcards, :
|
191
|
+
event :approve_subcards, after: :process_subcards do
|
174
192
|
subcards.each do |key, subcard|
|
175
193
|
if !subcard.valid_subcard?
|
176
194
|
subcard.errors.each do |field, err|
|
@@ -181,14 +199,14 @@ event :approve_subcards, :after=>:process_subcards do
|
|
181
199
|
end
|
182
200
|
end
|
183
201
|
|
184
|
-
event :store_subcards, :
|
202
|
+
event :store_subcards, after: :store do
|
185
203
|
subcards.each do |key, sub|
|
186
|
-
sub.save! :
|
204
|
+
sub.save! validate: false #unless @draft
|
187
205
|
end
|
188
206
|
end
|
189
207
|
|
190
208
|
def success
|
191
|
-
Env
|
209
|
+
Env.success(cardname)
|
192
210
|
end
|
193
211
|
|
194
212
|
|
@@ -18,7 +18,7 @@ def replace_references old_name, new_name
|
|
18
18
|
obj_content.find_chunks( Card::Chunk::Reference ).select do |chunk|
|
19
19
|
if old_ref_name = chunk.referee_name and new_ref_name = old_ref_name.replace_part(old_name, new_name)
|
20
20
|
chunk.referee_name = chunk.replace_reference old_name, new_name
|
21
|
-
Card::Reference.where( :
|
21
|
+
Card::Reference.where( referee_key: old_ref_name.key ).update_all referee_key: new_ref_name.key
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -32,7 +32,7 @@ def update_references rendered_content = nil, refresh = false
|
|
32
32
|
Card::Reference.delete_all_from self
|
33
33
|
|
34
34
|
# FIXME: why not like this: references_expired = nil # do we have to make sure this is saved?
|
35
|
-
#Card.update( id, :
|
35
|
+
#Card.update( id, references_expired: nil )
|
36
36
|
# or just this and save it elsewhere?
|
37
37
|
#references_expired=nil
|
38
38
|
|
@@ -69,11 +69,11 @@ def update_references rendered_content = nil, refresh = false
|
|
69
69
|
else 'P'
|
70
70
|
end
|
71
71
|
Card::Reference.create!(
|
72
|
-
:
|
73
|
-
:
|
74
|
-
:
|
75
|
-
:
|
76
|
-
:
|
72
|
+
referer_id: id,
|
73
|
+
referee_id: Card.where(key: name.key).pluck(:id).first,
|
74
|
+
referee_key: name.key,
|
75
|
+
ref_type: ref_type,
|
76
|
+
present: 1
|
77
77
|
)
|
78
78
|
end
|
79
79
|
end
|
@@ -91,18 +91,18 @@ def referencers
|
|
91
91
|
end
|
92
92
|
|
93
93
|
def includers
|
94
|
-
return [] unless refs = references_from.where( :
|
94
|
+
return [] unless refs = references_from.where( ref_type: 'I' )
|
95
95
|
refs.map(&:referer_id).map( &Card.method(:fetch) ).compact
|
96
96
|
end
|
97
97
|
|
98
98
|
def referees
|
99
99
|
return [] unless refs = references_to
|
100
|
-
refs.map { |ref| Card.fetch ref.referee_key, :
|
100
|
+
refs.map { |ref| Card.fetch ref.referee_key, new: {} }.compact
|
101
101
|
end
|
102
102
|
|
103
103
|
def includees
|
104
|
-
return [] unless refs = references_to.where( :
|
105
|
-
refs.map { |ref| Card.fetch ref.referee_key, :
|
104
|
+
return [] unless refs = references_to.where( ref_type: 'I' )
|
105
|
+
refs.map { |ref| Card.fetch ref.referee_key, new: {} }.compact
|
106
106
|
end
|
107
107
|
|
108
108
|
|
@@ -110,17 +110,17 @@ end
|
|
110
110
|
protected
|
111
111
|
|
112
112
|
|
113
|
-
event :refresh_references, :
|
113
|
+
event :refresh_references, after: :store, on: :save do
|
114
114
|
self.update_references
|
115
115
|
expire_structuree_references
|
116
116
|
end
|
117
117
|
|
118
|
-
event :refresh_references_on_create, :
|
118
|
+
event :refresh_references_on_create, before: :refresh_references, on: :create do
|
119
119
|
Card::Reference.update_existing_key self
|
120
120
|
# FIXME: bogus blank default content is set on structured cards...
|
121
121
|
end
|
122
122
|
|
123
|
-
event :refresh_references_on_delete, :
|
123
|
+
event :refresh_references_on_delete, after: :store, on: :delete do
|
124
124
|
Card::Reference.update_on_delete self
|
125
125
|
expire_structuree_references
|
126
126
|
end
|
@@ -2,8 +2,6 @@
|
|
2
2
|
class Card; module Set; module All; module Rules; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/01_core/set/all/rules.rb ~~~~~~~~~~~
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
7
5
|
RuleSQL = %{
|
8
6
|
select rules.id as rule_id, settings.id as setting_id, sets.id as set_id, sets.left_id as anchor_id, sets.right_id as set_tag_id
|
9
7
|
from cards rules
|
@@ -28,19 +26,19 @@ ReadRuleSQL = %{
|
|
28
26
|
end
|
29
27
|
|
30
28
|
def is_standard_rule?
|
31
|
-
(r = right( :
|
29
|
+
(r = right( skip_modules: true )) &&
|
32
30
|
r.type_id == Card::SettingID &&
|
33
|
-
(l = left( :
|
31
|
+
(l = left( skip_modules: true )) &&
|
34
32
|
l.type_id == Card::SetID
|
35
33
|
end
|
36
34
|
|
37
35
|
def is_user_rule?
|
38
36
|
cardname.parts.length > 2 &&
|
39
|
-
(r = right( :
|
37
|
+
(r = right( skip_modules: true )) &&
|
40
38
|
r.type_id == Card::SettingID &&
|
41
|
-
(set = self[0..-3, :
|
39
|
+
(set = self[0..-3, skip_modules: true]) &&
|
42
40
|
set.type_id == Card::SetID &&
|
43
|
-
(user = self[-2, :
|
41
|
+
(user = self[-2, skip_modules: true] ) &&
|
44
42
|
(user.type_id == Card::UserID || user.codename == 'all' )
|
45
43
|
end
|
46
44
|
|
@@ -82,7 +80,7 @@ def related_sets with_self = false
|
|
82
80
|
sets << ["#{name}+*self", Card::SelfSet.label( name) ] if with_self
|
83
81
|
sets << ["#{name}+*right", Card::RightSet.label(name) ] if known? && cardname.simple?
|
84
82
|
|
85
|
-
# Card.search(:
|
83
|
+
# Card.search(type: 'Set',left: {right: name},right: '*type plus right',return: 'name').each do |set_name|
|
86
84
|
# sets<< set_name
|
87
85
|
# end
|
88
86
|
sets
|
@@ -187,7 +185,7 @@ module ClassMethods
|
|
187
185
|
end
|
188
186
|
user_ids = user_ids_cache[key] || []
|
189
187
|
if user_ids.include? AllID # rule for all -> return all user ids
|
190
|
-
Card.where(:
|
188
|
+
Card.where(type_id: UserID).pluck(:id)
|
191
189
|
else
|
192
190
|
user_ids
|
193
191
|
end
|
@@ -195,7 +193,7 @@ module ClassMethods
|
|
195
193
|
end
|
196
194
|
|
197
195
|
def user_rule_cards user_name, setting_code
|
198
|
-
Card.search :
|
196
|
+
Card.search right: {codename: setting_code}, left: {left: {type_id: SetID}, right: user_name}
|
199
197
|
end
|
200
198
|
|
201
199
|
def rule_cache
|
@@ -17,7 +17,7 @@ def template
|
|
17
17
|
|
18
18
|
# NEW CARDS
|
19
19
|
if new_card?
|
20
|
-
default = rule_card :default, :
|
20
|
+
default = rule_card :default, skip_modules: true
|
21
21
|
|
22
22
|
dup_card = dup
|
23
23
|
dup_card.type_id = default ? default.type_id : Card.default_type_id
|
@@ -57,14 +57,14 @@ def virtual?
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def structure_rule_card
|
60
|
-
card = rule_card :structure, :
|
60
|
+
card = rule_card :structure, skip_modules: true
|
61
61
|
card && card.db_content.strip == '_self' ? nil : card
|
62
62
|
end
|
63
63
|
|
64
64
|
def structuree_names
|
65
65
|
if wql = structuree_spec
|
66
66
|
Auth.as_bot do
|
67
|
-
Card::Query.
|
67
|
+
Card::Query.run(wql.merge return: :name)
|
68
68
|
end
|
69
69
|
else
|
70
70
|
[]
|
@@ -77,7 +77,7 @@ end
|
|
77
77
|
# I'll leave the FIXME here until the need (and/or other solution) is well documented. -efm
|
78
78
|
|
79
79
|
def expire_structuree_references
|
80
|
-
update_structurees :
|
80
|
+
update_structurees references_expired: 1
|
81
81
|
end
|
82
82
|
|
83
83
|
def update_structurees args
|
@@ -86,8 +86,9 @@ def update_structurees args
|
|
86
86
|
# by a +*type plus right+*structure rule, the override would not be respected.
|
87
87
|
if query = structuree_spec
|
88
88
|
Auth.as_bot do
|
89
|
-
|
90
|
-
|
89
|
+
query[:return] = :id
|
90
|
+
Card::Query.run(query).each_slice(100) do |id_batch|
|
91
|
+
Card.where( id: id_batch ).update_all args
|
91
92
|
end
|
92
93
|
end
|
93
94
|
end
|
@@ -98,7 +99,7 @@ def assigns_type?
|
|
98
99
|
# for example, X+*type+*structure governs all cards of type X,
|
99
100
|
# but the content rule does not (in fact cannot) have the type X.
|
100
101
|
if is_structure?
|
101
|
-
if set_pattern = Card.fetch( cardname.trunk_name.tag_name, :
|
102
|
+
if set_pattern = Card.fetch( cardname.trunk_name.tag_name, skip_modules: true )
|
102
103
|
pattern_code = set_pattern.codename and
|
103
104
|
set_class = Card::SetPattern.find( pattern_code ) and
|
104
105
|
set_class.assigns_type
|
@@ -121,9 +122,9 @@ def structuree_spec
|
|
121
122
|
end
|
122
123
|
end
|
123
124
|
|
124
|
-
event :update_structurees_type, :
|
125
|
+
event :update_structurees_type, after: :store, changed: :type_id do
|
125
126
|
if assigns_type? # certain *structure templates
|
126
|
-
update_structurees :
|
127
|
+
update_structurees type_id: type_id
|
127
128
|
end
|
128
129
|
end
|
129
130
|
|
@@ -44,7 +44,7 @@ end
|
|
44
44
|
|
45
45
|
protected
|
46
46
|
|
47
|
-
event :set_content, :
|
47
|
+
event :set_content, before: :store, on: :save do
|
48
48
|
self.db_content = content || '' #necessary?
|
49
49
|
self.db_content = Card::Content.clean! self.db_content if clean_html?
|
50
50
|
@selected_action_id = @selected_content = nil
|
@@ -55,7 +55,7 @@ end
|
|
55
55
|
|
56
56
|
#fixme - the following don't really belong here, but they have to come after the reference stuff. we need to organize a bit!
|
57
57
|
|
58
|
-
event :update_ruled_cards, :
|
58
|
+
event :update_ruled_cards, after: :store do
|
59
59
|
if is_rule?
|
60
60
|
# warn "updating ruled cards for #{name}"
|
61
61
|
self.class.clear_rule_cache
|
@@ -78,7 +78,7 @@ event :update_ruled_cards, :after=>:store do
|
|
78
78
|
Auth.as_bot do
|
79
79
|
cur_index = rule_class_ids.index Card[read_rule_class].id
|
80
80
|
if rule_class_index = rule_class_ids.index( class_id )
|
81
|
-
set.item_cards(:
|
81
|
+
set.item_cards(limit: 0).each do |item_card|
|
82
82
|
in_set[item_card.key] = true
|
83
83
|
next if cur_index < rule_class_index
|
84
84
|
if cur_index >= rule_class_index
|
@@ -98,7 +98,7 @@ event :update_ruled_cards, :after=>:store do
|
|
98
98
|
|
99
99
|
#then find all cards with me as read_rule_id that were not just updated and regenerate their read_rules
|
100
100
|
if !new_record?
|
101
|
-
Card.where( :
|
101
|
+
Card.where( read_rule_id: self.id, trash: false ).reject do |w|
|
102
102
|
in_set[ w.key ]
|
103
103
|
end.each &:update_read_rule
|
104
104
|
end
|
@@ -107,14 +107,14 @@ event :update_ruled_cards, :after=>:store do
|
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
110
|
-
event :process_read_rule_update_queue, :
|
110
|
+
event :process_read_rule_update_queue, after: :store do
|
111
111
|
Array.wrap(@read_rule_update_queue).each { |card| card.update_read_rule }
|
112
112
|
@read_rule_update_queue = []
|
113
113
|
end
|
114
114
|
|
115
|
-
# set_callback :store, :after, :process_read_rule_update_queue, :
|
115
|
+
# set_callback :store, :after, :process_read_rule_update_queue, prepend: true
|
116
116
|
|
117
|
-
event :expire_related, :
|
117
|
+
event :expire_related, after: :store do
|
118
118
|
self.expire
|
119
119
|
|
120
120
|
if self.is_structure?
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
class Card; module Set; module All; module Trash; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/01_core/set/all/trash.rb ~~~~~~~~~~~
|
3
3
|
def delete
|
4
|
-
update_attributes :
|
4
|
+
update_attributes trash: true unless new_card?
|
5
5
|
end
|
6
6
|
|
7
7
|
def delete!
|
8
|
-
update_attributes! :
|
8
|
+
update_attributes! trash: true unless new_card?
|
9
9
|
end
|
10
10
|
|
11
11
|
|
12
|
-
event :pull_from_trash, :
|
12
|
+
event :pull_from_trash, before: :store, on: :create do
|
13
13
|
if trashed_card = Card.find_by_key_and_trash(key, true)
|
14
|
-
# a. (Rails way) tried Card.where(:
|
14
|
+
# a. (Rails way) tried Card.where(key: 'wagn_bot').select(:id), but it wouldn't work. This #select
|
15
15
|
# generally breaks on cards. I think our initialization process screws with something
|
16
16
|
# b. (Wagn way) we could get card directly from fetch if we add :include_trashed (eg).
|
17
17
|
# likely low ROI, but would be nice to have interface to retrieve cards from trash...
|
@@ -23,22 +23,22 @@ event :pull_from_trash, :before=>:store, :on=>:create do
|
|
23
23
|
true
|
24
24
|
end
|
25
25
|
|
26
|
-
event :validate_delete, :
|
26
|
+
event :validate_delete, before: :approve, on: :delete do
|
27
27
|
if !codename.blank?
|
28
28
|
errors.add :delete, "#{name} is is a system card. (#{codename})"
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
undeletable_all_rules_tags = %w{ default style layout create read update delete }
|
32
32
|
if junction? and l=left and l.codename == 'all' and undeletable_all_rules_tags.member? right.codename
|
33
33
|
errors.add :delete, "#{name} is an indestructible rule"
|
34
34
|
end
|
35
|
-
|
35
|
+
|
36
36
|
if account && Card::Act.find_by_actor_id( self.id )
|
37
37
|
errors.add :delete, "Edits have been made with #{name}'s user account.\nDeleting this card would mess up our history."
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
event :validate_delete_children, :
|
41
|
+
event :validate_delete_children, after: :approve, on: :delete do
|
42
42
|
children.each do |child|
|
43
43
|
child.supercard = self
|
44
44
|
subcards[child.name]=child
|
@@ -52,5 +52,6 @@ event :validate_delete_children, :after=>:approve, :on=>:delete do
|
|
52
52
|
end
|
53
53
|
|
54
54
|
|
55
|
+
|
55
56
|
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/01_core/set/all/trash.rb ~~~~~~~~~~~
|
56
57
|
end;end;end;end;
|