card 1.16.1 → 1.16.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardoc/checksums +60 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/.yardopts +6 -0
- data/README_Developers.rdoc +100 -0
- data/VERSION +1 -1
- data/card.gemspec +18 -18
- data/db/migrate/20150724210803_add_comment_to_actions.rb +5 -0
- data/db/migrate_core_cards/20150724123438_update_file_and_image_cards.rb +70 -0
- data/db/migrate_core_cards/20150807205221_create_references_for_search_cards.rb +10 -0
- data/db/migrate_core_cards/data/1.12_stylesheets/common.scss +4 -2
- data/db/schema.rb +2 -1
- data/db/seed/new/card_actions.yml +2334 -12538
- data/db/seed/new/card_acts.yml +1 -1
- data/db/seed/new/card_changes.yml +7384 -38929
- data/db/seed/new/card_references.yml +207 -207
- data/db/seed/new/cards.yml +1364 -1440
- data/db/seed/test/fixtures/card_actions.yml +3285 -13219
- data/db/seed/test/fixtures/card_acts.yml +107 -107
- data/db/seed/test/fixtures/card_changes.yml +10830 -42375
- data/db/seed/test/fixtures/card_references.yml +393 -393
- data/db/seed/test/fixtures/cards.yml +1701 -1777
- data/db/version.txt +1 -1
- data/db/version_core_cards.txt +1 -1
- data/lib/card.rb +13 -3
- data/lib/card/chunk.rb +22 -15
- data/lib/card/content.rb +9 -8
- data/lib/card/diff.rb +79 -79
- data/lib/card/loader.rb +33 -33
- data/lib/card/name.rb +8 -0
- data/lib/card/set.rb +44 -17
- data/lib/card/set_pattern.rb +8 -0
- data/lib/cardio.rb +19 -3
- data/mod/01_core/chunk/link.rb +7 -6
- data/mod/01_core/chunk/query_reference.rb +65 -0
- data/mod/01_core/set/all/content.rb +1 -1
- data/mod/01_core/set/all/fetch.rb +15 -7
- data/mod/01_core/set/all/initialize.rb +4 -3
- data/mod/01_core/set/all/phases.rb +12 -8
- data/mod/01_core/set/all/references.rb +12 -6
- data/mod/01_core/set/all/rules.rb +14 -11
- data/mod/01_core/set/all/states.rb +2 -1
- data/mod/01_core/set/all/tracked_attributes.rb +14 -0
- data/mod/01_core/spec/set/all/collection_spec.rb +5 -5
- data/mod/01_core/spec/set/all/name_spec.rb +6 -6
- data/mod/01_history/lib/card/act.rb +2 -2
- data/mod/01_history/lib/card/action.rb +11 -2
- data/mod/01_history/set/all/actions.rb +4 -3
- data/mod/01_history/set/all/content_history.rb +1 -1
- data/mod/01_history/set/all/history.rb +55 -66
- data/mod/02_basic_types/set/all/file.rb +26 -3
- data/mod/02_basic_types/set/type/pointer.rb +13 -14
- data/mod/02_basic_types/spec/set/all/file_spec.rb +0 -1
- data/mod/03_machines/lib/card/machine.rb +4 -4
- data/mod/03_machines/lib/javascript/wagn_mod.js.coffee +4 -17
- data/mod/03_machines/lib/stylesheets/style_cards.scss +5 -0
- data/mod/03_machines/set/right/machine_input.rb +3 -0
- data/mod/03_machines/set/right/machine_output.rb +4 -0
- data/mod/04_settings/lib/card/setting.rb +2 -1
- data/mod/04_settings/set/abstract/permission.rb +95 -0
- data/mod/04_settings/set/right/comment.rb +2 -90
- data/mod/04_settings/set/right/create.rb +2 -2
- data/mod/04_settings/set/right/delete.rb +2 -3
- data/mod/04_settings/set/right/read.rb +3 -2
- data/mod/04_settings/set/right/update.rb +3 -2
- data/mod/04_settings/set/self/recent_settings.rb +3 -0
- data/mod/04_settings/set/type/setting.rb +9 -1
- data/mod/05_email/set/all/notify.rb +2 -1
- data/mod/05_email/set/type/email_template.rb +17 -17
- data/mod/05_standard/file/credit_image/image-icon.png +0 -0
- data/mod/05_standard/file/credit_image/image-large.png +0 -0
- data/mod/05_standard/file/credit_image/image-medium.png +0 -0
- data/mod/05_standard/file/credit_image/image-original.png +0 -0
- data/mod/05_standard/file/credit_image/image-small.png +0 -0
- data/mod/05_standard/file/favicon/{icon-image.png → image-icon.png} +0 -0
- data/mod/05_standard/file/favicon/{large-image.png → image-large.png} +0 -0
- data/mod/05_standard/file/favicon/{medium-image.png → image-medium.png} +0 -0
- data/mod/05_standard/file/favicon/{original-image.png → image-original.png} +0 -0
- data/mod/05_standard/file/favicon/{small-image.png → image-small.png} +0 -0
- data/mod/05_standard/file/logo/{icon-image.png → image-icon.png} +0 -0
- data/mod/05_standard/file/logo/{large-image.png → image-large.png} +0 -0
- data/mod/05_standard/file/logo/{medium-image.png → image-medium.png} +0 -0
- data/mod/05_standard/file/logo/{original-image.png → image-original.png} +0 -0
- data/mod/05_standard/file/logo/{small-image.png → image-small.png} +0 -0
- data/mod/05_standard/lib/carrier_wave/cardmount.rb +79 -0
- data/mod/05_standard/lib/file_uploader.rb +127 -0
- data/mod/05_standard/lib/image_uploader.rb +35 -0
- data/mod/05_standard/set/abstract/attachment.rb +85 -0
- data/mod/05_standard/set/all/error.rb +1 -18
- data/mod/05_standard/set/all/event_viz.rb +17 -14
- data/mod/05_standard/set/all/rich_html/editing.rb +10 -10
- data/mod/05_standard/set/all/rich_html/toolbar.rb +44 -37
- data/mod/05_standard/set/right/account.rb +1 -1
- data/mod/05_standard/set/right/password.rb +9 -10
- data/mod/05_standard/set/self/recent.rb +1 -1
- data/mod/05_standard/set/type/file.rb +43 -31
- data/mod/05_standard/set/type/image.rb +22 -6
- data/mod/05_standard/set/type/search_type.rb +4 -2
- data/mod/05_standard/set/type/session.rb +7 -5
- data/mod/05_standard/set/type/set.rb +3 -1
- data/mod/05_standard/spec/set/all/history_spec.rb +1 -1
- data/mod/05_standard/spec/set/type/cardtype_spec.rb +3 -3
- data/mod/05_standard/spec/set/type/file_spec.rb +85 -1
- data/mod/05_standard/spec/set/type/image_spec.rb +89 -5
- data/mod/05_standard/spec/set/type/search_type_spec.rb +16 -1
- data/mod/06_bootstrap/file/{cerulean_skin/icon-image.png → cerulean_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{cerulean_skin/large-image.png → cerulean_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{cerulean_skin/medium-image.png → cerulean_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{cerulean_skin/original-image.png → cerulean_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{cerulean_skin/small-image.png → cerulean_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{cosmo_skin/icon-image.png → cosmo_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{cosmo_skin/large-image.png → cosmo_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{cosmo_skin/medium-image.png → cosmo_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{cosmo_skin/original-image.png → cosmo_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{cosmo_skin/small-image.png → cosmo_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{cyborg_skin/icon-image.png → cyborg_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{cyborg_skin/large-image.png → cyborg_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{cyborg_skin/medium-image.png → cyborg_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{cyborg_skin/original-image.png → cyborg_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{cyborg_skin/small-image.png → cyborg_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{darkly_skin/icon-image.png → darkly_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{darkly_skin/large-image.png → darkly_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{darkly_skin/medium-image.png → darkly_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{darkly_skin/original-image.png → darkly_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{darkly_skin/small-image.png → darkly_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{flatly_skin/icon-image.png → flatly_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{flatly_skin/large-image.png → flatly_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{flatly_skin/medium-image.png → flatly_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{flatly_skin/original-image.png → flatly_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{flatly_skin/small-image.png → flatly_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{journal_skin/icon-image.png → journal_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{journal_skin/large-image.png → journal_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{journal_skin/medium-image.png → journal_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{journal_skin/original-image.png → journal_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{journal_skin/small-image.png → journal_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{lumen_skin/icon-image.png → lumen_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{lumen_skin/large-image.png → lumen_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{lumen_skin/medium-image.png → lumen_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{lumen_skin/original-image.png → lumen_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{lumen_skin/small-image.png → lumen_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{paper_skin/icon-image.png → paper_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{paper_skin/large-image.png → paper_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{paper_skin/medium-image.png → paper_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{paper_skin/original-image.png → paper_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{paper_skin/small-image.png → paper_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{readable_skin/icon-image.png → readable_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{readable_skin/large-image.png → readable_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{readable_skin/medium-image.png → readable_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{readable_skin/original-image.png → readable_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{readable_skin/small-image.png → readable_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{sandstone_skin/icon-image.png → sandstone_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{sandstone_skin/large-image.png → sandstone_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{sandstone_skin/medium-image.png → sandstone_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{sandstone_skin/original-image.png → sandstone_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{sandstone_skin/small-image.png → sandstone_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{simplex_skin/icon-image.png → simplex_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{simplex_skin/large-image.png → simplex_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{simplex_skin/medium-image.png → simplex_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{simplex_skin/original-image.png → simplex_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{simplex_skin/small-image.png → simplex_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{slate_skin/icon-image.png → slate_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{slate_skin/large-image.png → slate_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{slate_skin/medium-image.png → slate_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{slate_skin/original-image.png → slate_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{slate_skin/small-image.png → slate_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{spacelab_skin/icon-image.png → spacelab_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{spacelab_skin/large-image.png → spacelab_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{spacelab_skin/medium-image.png → spacelab_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{spacelab_skin/original-image.png → spacelab_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{spacelab_skin/small-image.png → spacelab_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{superhero_skin/icon-image.png → superhero_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{superhero_skin/large-image.png → superhero_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{superhero_skin/medium-image.png → superhero_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{superhero_skin/original-image.png → superhero_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{superhero_skin/small-image.png → superhero_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{united_skin/icon-image.png → united_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{united_skin/large-image.png → united_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{united_skin/medium-image.png → united_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{united_skin/original-image.png → united_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{united_skin/small-image.png → united_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/file/{yeti_skin/icon-image.png → yeti_skin_image/image-icon.png} +0 -0
- data/mod/06_bootstrap/file/{yeti_skin/large-image.png → yeti_skin_image/image-large.png} +0 -0
- data/mod/06_bootstrap/file/{yeti_skin/medium-image.png → yeti_skin_image/image-medium.png} +0 -0
- data/mod/06_bootstrap/file/{yeti_skin/original-image.png → yeti_skin_image/image-original.png} +0 -0
- data/mod/06_bootstrap/file/{yeti_skin/small-image.png → yeti_skin_image/image-small.png} +0 -0
- data/mod/06_bootstrap/lib/stylesheets/bootstrap_cards.scss +5 -3
- data/spec/lib/card/reference_spec.rb +8 -1
- data/tmpsets/README.md +2 -0
- data/tmpsets/set/mod001-01_core/all/active_card.rb +40 -0
- data/tmpsets/set/mod001-01_core/all/collection.rb +348 -0
- data/tmpsets/set/mod001-01_core/all/content.rb +68 -0
- data/tmpsets/set/mod001-01_core/all/erb.rb +17 -0
- data/tmpsets/set/mod001-01_core/all/fetch.rb +242 -0
- data/tmpsets/set/mod001-01_core/all/haml.rb +13 -0
- data/tmpsets/set/mod001-01_core/all/initialize.rb +56 -0
- data/tmpsets/set/mod001-01_core/all/name.rb +279 -0
- data/tmpsets/set/mod001-01_core/all/pattern.rb +62 -0
- data/tmpsets/set/mod001-01_core/all/permissions.rb +289 -0
- data/tmpsets/set/mod001-01_core/all/phases.rb +187 -0
- data/tmpsets/set/mod001-01_core/all/references.rb +130 -0
- data/tmpsets/set/mod001-01_core/all/rules.rb +324 -0
- data/tmpsets/set/mod001-01_core/all/states.rb +28 -0
- data/tmpsets/set/mod001-01_core/all/templating.rb +132 -0
- data/tmpsets/set/mod001-01_core/all/tracked_attributes.rb +136 -0
- data/tmpsets/set/mod001-01_core/all/trash.rb +56 -0
- data/tmpsets/set/mod001-01_core/all/type.rb +91 -0
- data/tmpsets/set/mod001-01_core/all/utils.rb +162 -0
- data/tmpsets/set/mod001-01_core/all/view_cache.rb +14 -0
- data/tmpsets/set/mod002-01_history/all/actions.rb +54 -0
- data/tmpsets/set/mod002-01_history/all/content_history.rb +140 -0
- data/tmpsets/set/mod002-01_history/all/history.rb +341 -0
- data/tmpsets/set/mod003-02_basic_types/all/all_css.rb +48 -0
- data/tmpsets/set/mod003-02_basic_types/all/all_csv.rb +58 -0
- data/tmpsets/set/mod003-02_basic_types/all/all_js.rb +13 -0
- data/tmpsets/set/mod003-02_basic_types/all/base.rb +128 -0
- data/tmpsets/set/mod003-02_basic_types/all/file.rb +42 -0
- data/tmpsets/set/mod003-02_basic_types/all/json.rb +72 -0
- data/tmpsets/set/mod003-02_basic_types/all/rss.rb +78 -0
- data/tmpsets/set/mod003-02_basic_types/all/text.rb +14 -0
- data/tmpsets/set/mod003-02_basic_types/type/html.rb +33 -0
- data/tmpsets/set/mod003-02_basic_types/type/plain_text.rb +16 -0
- data/tmpsets/set/mod003-02_basic_types/type/pointer.rb +358 -0
- data/tmpsets/set/mod004-03_machines/right/machine_input.rb +8 -0
- data/tmpsets/set/mod004-03_machines/right/machine_output.rb +30 -0
- data/tmpsets/set/mod004-03_machines/self/script_ace.rb +18 -0
- data/tmpsets/set/mod004-03_machines/self/script_card_menu.rb +17 -0
- data/tmpsets/set/mod004-03_machines/self/script_html5shiv_printshiv.rb +8 -0
- data/tmpsets/set/mod004-03_machines/self/script_jquery.rb +8 -0
- data/tmpsets/set/mod004-03_machines/self/script_jquery_helper.rb +18 -0
- data/tmpsets/set/mod004-03_machines/self/script_slot.rb +13 -0
- data/tmpsets/set/mod004-03_machines/self/script_tinymce.rb +8 -0
- data/tmpsets/set/mod004-03_machines/self/style_bootstrap_compatible.rb +11 -0
- data/tmpsets/set/mod004-03_machines/self/style_cards.rb +12 -0
- data/tmpsets/set/mod004-03_machines/self/style_jquery_ui_smoothness.rb +9 -0
- data/tmpsets/set/mod004-03_machines/type/coffee_script.rb +67 -0
- data/tmpsets/set/mod004-03_machines/type/css.rb +55 -0
- data/tmpsets/set/mod004-03_machines/type/java_script.rb +43 -0
- data/tmpsets/set/mod004-03_machines/type/scss.rb +28 -0
- data/tmpsets/set/mod004-03_machines/type/skin.rb +18 -0
- data/tmpsets/set/mod005-04_settings/abstract/permission.rb +101 -0
- data/tmpsets/set/mod005-04_settings/right/add_help.rb +17 -0
- data/tmpsets/set/mod005-04_settings/right/comment.rb +9 -0
- data/tmpsets/set/mod005-04_settings/right/create.rb +9 -0
- data/tmpsets/set/mod005-04_settings/right/default.rb +9 -0
- data/tmpsets/set/mod005-04_settings/right/delete.rb +9 -0
- data/tmpsets/set/mod005-04_settings/right/help.rb +9 -0
- data/tmpsets/set/mod005-04_settings/right/read.rb +9 -0
- data/tmpsets/set/mod005-04_settings/right/script.rb +16 -0
- data/tmpsets/set/mod005-04_settings/right/structure.rb +16 -0
- data/tmpsets/set/mod005-04_settings/right/style.rb +16 -0
- data/tmpsets/set/mod005-04_settings/right/update.rb +9 -0
- data/tmpsets/set/mod005-04_settings/self/accountable.rb +9 -0
- data/tmpsets/set/mod005-04_settings/self/add_help.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/autoname.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/captcha.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/create.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/default.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/delete.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/help.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/input.rb +7 -0
- data/tmpsets/set/mod005-04_settings/self/layout.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/on_create.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/on_delete.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/on_update.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/options.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/options_label.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/read.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/recent_settings.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/script.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/structure.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/style.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/table_of_contents.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/thanks.rb +8 -0
- data/tmpsets/set/mod005-04_settings/self/update.rb +8 -0
- data/tmpsets/set/mod005-04_settings/type/setting.rb +96 -0
- data/tmpsets/set/mod006-05_email/all/email_html.rb +11 -0
- data/tmpsets/set/mod006-05_email/all/email_text.rb +11 -0
- data/tmpsets/set/mod006-05_email/all/follow.rb +260 -0
- data/tmpsets/set/mod006-05_email/all/notify.rb +244 -0
- data/tmpsets/set/mod006-05_email/all/observer.rb +33 -0
- data/tmpsets/set/mod006-05_email/right/bcc.rb +51 -0
- data/tmpsets/set/mod006-05_email/right/cc.rb +9 -0
- data/tmpsets/set/mod006-05_email/right/follow.rb +90 -0
- data/tmpsets/set/mod006-05_email/right/follow_fields.rb +8 -0
- data/tmpsets/set/mod006-05_email/right/followers.rb +35 -0
- data/tmpsets/set/mod006-05_email/right/following.rb +58 -0
- data/tmpsets/set/mod006-05_email/right/from.rb +9 -0
- data/tmpsets/set/mod006-05_email/right/html_message.rb +9 -0
- data/tmpsets/set/mod006-05_email/right/to.rb +9 -0
- data/tmpsets/set/mod006-05_email/self/always.rb +20 -0
- data/tmpsets/set/mod006-05_email/self/created.rb +27 -0
- data/tmpsets/set/mod006-05_email/self/edited.rb +30 -0
- data/tmpsets/set/mod006-05_email/self/follow.rb +8 -0
- data/tmpsets/set/mod006-05_email/self/follow_defaults.rb +71 -0
- data/tmpsets/set/mod006-05_email/self/never.rb +21 -0
- data/tmpsets/set/mod006-05_email/type/email_template.rb +119 -0
- data/tmpsets/set/mod006-05_email/type_plus_right/user/follow.rb +182 -0
- data/tmpsets/set/mod007-05_standard/abstract/attachment.rb +91 -0
- data/tmpsets/set/mod007-05_standard/all/account.rb +73 -0
- data/tmpsets/set/mod007-05_standard/all/comment.rb +45 -0
- data/tmpsets/set/mod007-05_standard/all/error.rb +198 -0
- data/tmpsets/set/mod007-05_standard/all/event_viz.rb +75 -0
- data/tmpsets/set/mod007-05_standard/all/links.rb +153 -0
- data/tmpsets/set/mod007-05_standard/all/rich_html/content.rb +248 -0
- data/tmpsets/set/mod007-05_standard/all/rich_html/editing.rb +216 -0
- data/tmpsets/set/mod007-05_standard/all/rich_html/form.rb +238 -0
- data/tmpsets/set/mod007-05_standard/all/rich_html/header.rb +80 -0
- data/tmpsets/set/mod007-05_standard/all/rich_html/menu.rb +135 -0
- data/tmpsets/set/mod007-05_standard/all/rich_html/modal.rb +98 -0
- data/tmpsets/set/mod007-05_standard/all/rich_html/toolbar.rb +271 -0
- data/tmpsets/set/mod007-05_standard/all/rich_html/wrapper.rb +158 -0
- data/tmpsets/set/mod007-05_standard/right/account.rb +187 -0
- data/tmpsets/set/mod007-05_standard/right/discussion.rb +9 -0
- data/tmpsets/set/mod007-05_standard/right/email.rb +57 -0
- data/tmpsets/set/mod007-05_standard/right/password.rb +44 -0
- data/tmpsets/set/mod007-05_standard/right/salt.rb +11 -0
- data/tmpsets/set/mod007-05_standard/right/stats.rb +41 -0
- data/tmpsets/set/mod007-05_standard/right/status.rb +15 -0
- data/tmpsets/set/mod007-05_standard/right/token.rb +11 -0
- data/tmpsets/set/mod007-05_standard/right/when_created.rb +11 -0
- data/tmpsets/set/mod007-05_standard/right/when_last_edited.rb +11 -0
- data/tmpsets/set/mod007-05_standard/rstar/rules.rb +411 -0
- data/tmpsets/set/mod007-05_standard/self/account_links.rb +55 -0
- data/tmpsets/set/mod007-05_standard/self/alerts.rb +11 -0
- data/tmpsets/set/mod007-05_standard/self/all.rb +28 -0
- data/tmpsets/set/mod007-05_standard/self/foot.rb +14 -0
- data/tmpsets/set/mod007-05_standard/self/head.rb +126 -0
- data/tmpsets/set/mod007-05_standard/self/navbox.rb +39 -0
- data/tmpsets/set/mod007-05_standard/self/now.rb +12 -0
- data/tmpsets/set/mod007-05_standard/self/performance_log.rb +98 -0
- data/tmpsets/set/mod007-05_standard/self/recent.rb +54 -0
- data/tmpsets/set/mod007-05_standard/self/search.rb +49 -0
- data/tmpsets/set/mod007-05_standard/self/signin.rb +130 -0
- data/tmpsets/set/mod007-05_standard/self/stats.rb +109 -0
- data/tmpsets/set/mod007-05_standard/self/version.rb +15 -0
- data/tmpsets/set/mod007-05_standard/type/basic.rb +52 -0
- data/tmpsets/set/mod007-05_standard/type/cardtype.rb +78 -0
- data/tmpsets/set/mod007-05_standard/type/date.rb +14 -0
- data/tmpsets/set/mod007-05_standard/type/file.rb +103 -0
- data/tmpsets/set/mod007-05_standard/type/image.rb +89 -0
- data/tmpsets/set/mod007-05_standard/type/layout_type.rb +21 -0
- data/tmpsets/set/mod007-05_standard/type/number.rb +25 -0
- data/tmpsets/set/mod007-05_standard/type/phrase.rb +9 -0
- data/tmpsets/set/mod007-05_standard/type/search_type.rb +291 -0
- data/tmpsets/set/mod007-05_standard/type/session.rb +42 -0
- data/tmpsets/set/mod007-05_standard/type/set.rb +354 -0
- data/tmpsets/set/mod007-05_standard/type/signup.rb +150 -0
- data/tmpsets/set/mod007-05_standard/type/toggle.rb +18 -0
- data/tmpsets/set/mod007-05_standard/type/uri.rb +17 -0
- data/tmpsets/set/mod007-05_standard/type/user.rb +78 -0
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/form.rb +41 -0
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/helper.rb +150 -0
- data/tmpsets/set/mod008-06_bootstrap/all/bootstrap/wrapper.rb +18 -0
- data/tmpsets/set/mod008-06_bootstrap/all/rich_bootstrap.rb +14 -0
- data/tmpsets/set/mod008-06_bootstrap/self/bootstrap_cards.rb +15 -0
- data/tmpsets/set/mod008-06_bootstrap/self/bootstrap_js.rb +13 -0
- data/tmpsets/set/mod008-06_bootstrap/self/bootswatch_shared.rb +38 -0
- data/tmpsets/set/mod008-06_bootstrap/self/smartmenu_css.rb +13 -0
- data/tmpsets/set/mod008-06_bootstrap/self/smartmenu_js.rb +12 -0
- data/tmpsets/set_pattern/100-all.rb +24 -0
- data/tmpsets/set_pattern/101-all_plus.rb +26 -0
- data/tmpsets/set_pattern/102-type.rb +36 -0
- data/tmpsets/set_pattern/103-star.rb +28 -0
- data/tmpsets/set_pattern/104-rstar.rb +30 -0
- data/tmpsets/set_pattern/105-right.rb +33 -0
- data/tmpsets/set_pattern/106-type_plus_right.rb +36 -0
- data/tmpsets/set_pattern/107-self.rb +32 -0
- metadata +306 -107
- data/mod/05_standard/set/all/attach.rb +0 -164
- data/mod/05_standard/spec/set/all/attach_spec.rb +0 -9
@@ -0,0 +1,55 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module AccountLinks; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/account_links.rb ~~~~~~~~~~~
|
3
|
+
|
4
|
+
format :html do
|
5
|
+
|
6
|
+
def item_links args
|
7
|
+
[
|
8
|
+
optional_render( :my_card, args),
|
9
|
+
optional_render( :invite, args),
|
10
|
+
optional_render( :sign_out, args),
|
11
|
+
optional_render( :sign_up, args),
|
12
|
+
optional_render( :sign_in, args)
|
13
|
+
]
|
14
|
+
end
|
15
|
+
|
16
|
+
#ENGLISH below
|
17
|
+
view :sign_up, :perms=>lambda { |r| !Auth.signed_in? && Card.new(:type_id=>Card::SignupID).ok?(:create) },
|
18
|
+
:denial=>:blank do |args|
|
19
|
+
link_to( 'Sign up', card_path('account/signup'), :id=>'signup-link' )
|
20
|
+
end
|
21
|
+
|
22
|
+
view :sign_in, :perms=>lambda { |r| !Auth.signed_in? },
|
23
|
+
:denial=>:blank do |args|
|
24
|
+
link_to( 'Sign in', card_path(':signin'), :id=>'signin-link' )
|
25
|
+
end
|
26
|
+
|
27
|
+
view :invite, :perms=>lambda { |r| Auth.signed_in? && Card.new(:type_id=>Card.default_accounted_type_id).ok?(:create) },
|
28
|
+
:denial=>:blank do |args|
|
29
|
+
link_to( 'Invite', card_path('account/signup'), :id=>'invite-a-friend-link' )
|
30
|
+
end
|
31
|
+
|
32
|
+
view :sign_out, :perms=>lambda { |r| Auth.signed_in? },
|
33
|
+
:denial=>:blank do |args|
|
34
|
+
link_to( 'Sign out', card_path('delete/:signin'), :id=>'signout-link' )
|
35
|
+
end
|
36
|
+
|
37
|
+
view :my_card, :perms=>lambda { |r| Auth.signed_in? },
|
38
|
+
:denial=>:blank do |args|
|
39
|
+
card_link( Auth.current.cardname, :id=>'my-card-link' )
|
40
|
+
end
|
41
|
+
|
42
|
+
view :raw do |args|
|
43
|
+
item_links(args).join ' '
|
44
|
+
end
|
45
|
+
|
46
|
+
view :core do |args|
|
47
|
+
content_tag :span, :id=>'logging' do
|
48
|
+
render_raw args
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/account_links.rb ~~~~~~~~~~~
|
55
|
+
end;end;end;end;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module Alerts; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/alerts.rb ~~~~~~~~~~~
|
3
|
+
|
4
|
+
view :raw do |args|
|
5
|
+
'<!-- *alerts is deprecated. please remove from layout -->'
|
6
|
+
end
|
7
|
+
view :core, :raw
|
8
|
+
|
9
|
+
|
10
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/alerts.rb ~~~~~~~~~~~
|
11
|
+
end;end;end;end;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module All; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/all.rb ~~~~~~~~~~~
|
3
|
+
|
4
|
+
event :admin_tasks, :on=>:update, :before=>:approve do
|
5
|
+
if task = Env.params[:task]
|
6
|
+
if Auth.always_ok?
|
7
|
+
case task.to_sym
|
8
|
+
when :clear_cache ; Card::Cache.reset_global; Card::ViewCache.reset
|
9
|
+
when :repair_references ; Card::Reference.repair_all
|
10
|
+
when :empty_trash ; Card.empty_trash
|
11
|
+
when :clear_view_cache ; Card::ViewCache.reset
|
12
|
+
when :delete_old_revisions ; Card::Action.delete_old
|
13
|
+
when :delete_old_sessions
|
14
|
+
if months = Env.params[:months].to_i and months > 0
|
15
|
+
ActiveRecord::SessionStore::Session.delete_all ["updated_at < ?", months.months.ago]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
Env.params[:success] = Card[:stats].name
|
19
|
+
abort :success
|
20
|
+
else
|
21
|
+
raise Card::PermissionDenied.new(self)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/all.rb ~~~~~~~~~~~
|
28
|
+
end;end;end;end;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module Foot; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/foot.rb ~~~~~~~~~~~
|
3
|
+
|
4
|
+
format :html do
|
5
|
+
view :raw do |args|
|
6
|
+
'<!-- *foot is deprecated. please remove from layout -->'
|
7
|
+
end
|
8
|
+
|
9
|
+
view :core, :raw
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/foot.rb ~~~~~~~~~~~
|
14
|
+
end;end;end;end;
|
@@ -0,0 +1,126 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module Head; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/head.rb ~~~~~~~~~~~
|
3
|
+
format :html do
|
4
|
+
|
5
|
+
view :raw do |args|
|
6
|
+
%(
|
7
|
+
<meta charset="UTF-8">
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
9
|
+
#{ head_title }
|
10
|
+
#{ head_buttons }
|
11
|
+
#{ head_stylesheets }
|
12
|
+
#{ head_javascript }
|
13
|
+
)
|
14
|
+
end
|
15
|
+
|
16
|
+
view :core do |args|
|
17
|
+
case
|
18
|
+
when focal? ; CGI.escapeHTML _render_raw(args)
|
19
|
+
when @mainline ; "(*head)"
|
20
|
+
else ; _render_raw(args)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def head_title
|
25
|
+
title = root.card && root.card.name
|
26
|
+
title = nil if title.blank?
|
27
|
+
title = params[:action] if title=='*placeholder'
|
28
|
+
%(<title>#{title ? "#{title} - " : ''}#{ Card.setting :title }</title>)
|
29
|
+
end
|
30
|
+
|
31
|
+
def head_buttons
|
32
|
+
bits = []
|
33
|
+
[:favicon, :logo].each do |name|
|
34
|
+
if c = Card[name] and c.type_id == ImageID and !c.db_content.blank?
|
35
|
+
bits << %{<link rel="shortcut icon" href="#{ subformat(c)._render_source :size=>:small }" />}
|
36
|
+
break
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
#Universal Edit Button
|
41
|
+
if root.card
|
42
|
+
if !root.card.new_record? && root.card.ok?(:update)
|
43
|
+
bits << %{<link rel="alternate" type="application/x-wiki" title="Edit this page!" href="#{ root.path :view=>:edit }"/>}
|
44
|
+
end
|
45
|
+
|
46
|
+
# RSS # move to mods!
|
47
|
+
if root.card.type_id == SearchTypeID
|
48
|
+
opts = { :format => :rss }
|
49
|
+
root.search_params[:vars].each { |key, val| opts["_#{key}"] = val }
|
50
|
+
bits << %{<link rel="alternate" type="application/rss+xml" title="RSS" href=#{page_path root.card.cardname, opts} />}
|
51
|
+
end
|
52
|
+
end
|
53
|
+
bits.join "\n "
|
54
|
+
end
|
55
|
+
|
56
|
+
def head_stylesheets
|
57
|
+
manual_style = params[:style]
|
58
|
+
style_card = Card[manual_style] if manual_style
|
59
|
+
style_card ||= root.card.rule_card :style
|
60
|
+
@css_path = if params[:debug] == 'style'
|
61
|
+
page_path( style_card.cardname, :item => :import, :format => :css)
|
62
|
+
elsif style_card
|
63
|
+
card_path style_card.machine_output_url
|
64
|
+
end
|
65
|
+
|
66
|
+
if @css_path
|
67
|
+
%{<link href="#{@css_path}" media="all" rel="stylesheet" type="text/css" />}
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def head_javascript
|
72
|
+
varvals = [
|
73
|
+
"window.wagn={rootPath:'#{ Card.config.relative_url_root }'}",
|
74
|
+
"window.tinyMCEPreInit={base:\"#{card_path 'assets/tinymce'}\",query:'3.5.9',suffix:''}" # tinyMCE doesn't load on non-root wagns w/o preinit line
|
75
|
+
]
|
76
|
+
card.have_recaptcha_keys? and varvals << "wagn.recaptchaKey='#{Card.config.recaptcha_public_key}'"
|
77
|
+
c=Card[:double_click] and !Card.toggle c.content and varvals << 'wagn.noDoubleClick=true'
|
78
|
+
@css_path and varvals << "wagn.cssPath='#{@css_path}'"
|
79
|
+
|
80
|
+
manual_script = params[:script]
|
81
|
+
script_card = Card[manual_script] if manual_script
|
82
|
+
script_card ||= root.card.rule_card :script
|
83
|
+
|
84
|
+
@js_tag = if params[:debug] == 'script'
|
85
|
+
script_card.format(:js).render_core :item => :include_tag
|
86
|
+
elsif script_card
|
87
|
+
javascript_include_tag script_card.machine_output_url
|
88
|
+
end
|
89
|
+
|
90
|
+
ie9_card = Card[:script_html5shiv_printshiv]
|
91
|
+
%(#{ javascript_tag do varvals * ';' end }
|
92
|
+
#{ @js_tag if @js_tag }
|
93
|
+
<!--[if lt IE 9]>#{ javascript_include_tag ie9_card.machine_output_url if ie9_card }<![endif]-->
|
94
|
+
#{ javascript_tag { "wagn.setTinyMCEConfig('#{ escape_javascript Card.setting(:tiny_mce).to_s }')" } }
|
95
|
+
#{ google_analytics_head_javascript }
|
96
|
+
<script type="text/javascript">
|
97
|
+
$('document').ready(function() {
|
98
|
+
$('.card-slot').trigger('slotReady');
|
99
|
+
})
|
100
|
+
</script>)
|
101
|
+
end
|
102
|
+
|
103
|
+
|
104
|
+
def google_analytics_head_javascript
|
105
|
+
if ga_key = Card.setting("*google analytics key") #fixme. escape this?
|
106
|
+
%{
|
107
|
+
<script type="text/javascript">
|
108
|
+
var _gaq = _gaq || [];
|
109
|
+
_gaq.push(['_setAccount', '#{ga_key}']);
|
110
|
+
_gaq.push(['_trackPageview']);
|
111
|
+
(function() {
|
112
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
113
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
114
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
115
|
+
})();
|
116
|
+
</script>
|
117
|
+
}
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/head.rb ~~~~~~~~~~~
|
126
|
+
end;end;end;end;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module Navbox; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/navbox.rb ~~~~~~~~~~~
|
3
|
+
|
4
|
+
format :html do
|
5
|
+
|
6
|
+
view :raw do |args|
|
7
|
+
input_args = { :class=>'navbox form-control' }
|
8
|
+
@@placeholder ||= begin
|
9
|
+
p = Card["#{Card[:navbox].name}+*placeholder"] and p.raw_content
|
10
|
+
end
|
11
|
+
input_args[:placeholder] = @@placeholder if @@placeholder
|
12
|
+
|
13
|
+
content_tag :div, :class=>'form-group' do
|
14
|
+
text_field_tag :_keyword, '', input_args
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
view :navbar_left do |args|
|
19
|
+
_render_core args.merge(:navbar_class=>'navbar-form navbar-left')
|
20
|
+
end
|
21
|
+
|
22
|
+
view :navbar_right do |args|
|
23
|
+
_render_core args.merge(:navbar_class=>'navbar-form navbar-right')
|
24
|
+
end
|
25
|
+
|
26
|
+
view :core do |args|
|
27
|
+
tag_args = { :method=>'get', :role=>'search', :class=>"nodblclick navbox-form #{args[:navbar_class]}"}
|
28
|
+
form_tag Card.path_setting('/:search'), tag_args do
|
29
|
+
_render_raw args
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/navbox.rb ~~~~~~~~~~~
|
39
|
+
end;end;end;end;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module Now; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/now.rb ~~~~~~~~~~~
|
3
|
+
|
4
|
+
view :raw do |args|
|
5
|
+
Time.now.strftime '%A, %B %d, %Y %I:%M %p %Z'
|
6
|
+
end
|
7
|
+
|
8
|
+
view :core, :raw
|
9
|
+
|
10
|
+
|
11
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/now.rb ~~~~~~~~~~~
|
12
|
+
end;end;end;end;
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module PerformanceLog; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/performance_log.rb ~~~~~~~~~~~
|
3
|
+
def log_dir
|
4
|
+
dir = File.join File.dirname(Wagn.paths['log'].existent.first), 'performance'
|
5
|
+
Dir.mkdir dir unless Dir.exists? dir
|
6
|
+
dir
|
7
|
+
end
|
8
|
+
|
9
|
+
def log_path item
|
10
|
+
File.join log_dir, "#{item.gsub('/','_').gsub(/[^0-9A-Za-z.\-]/, '_')}.log"
|
11
|
+
end
|
12
|
+
|
13
|
+
def csv_path
|
14
|
+
File.join log_dir, "#{Card[:performance_log].codename}.csv"
|
15
|
+
end
|
16
|
+
|
17
|
+
def add_log_entry request, html_log
|
18
|
+
time = DateTime.now.utc.strftime "%Y%m%d%H%M%S"
|
19
|
+
name = "%s+%s %s" % [Card[:performance_log].name, time, request.gsub('/','/') ]
|
20
|
+
if Card.fetch name
|
21
|
+
name += 'a'
|
22
|
+
while Card.fetch name
|
23
|
+
name.next!
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
Card::Auth.as_bot do
|
28
|
+
File.open(Card[:performance_log].log_path(name), 'w') {|f| f.puts html_log}
|
29
|
+
Card[:performance_log].add_item! name
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def add_csv_entry page, wbench_data, runs
|
34
|
+
if !File.exists? csv_path
|
35
|
+
File.open(csv_path, 'w') { |f| f.puts "page,render time, dom loading time, connection time"}
|
36
|
+
end
|
37
|
+
browser = wbench_data.browser
|
38
|
+
runs.times do |i|
|
39
|
+
csv_data = [
|
40
|
+
page,
|
41
|
+
browser['responseEnd'][i] - browser['requestStart'][i],
|
42
|
+
browser['domComplete'][i] - browser['domLoading'][i], # domLoadingTime
|
43
|
+
browser['requestStart'][i], # domLoadingStart
|
44
|
+
]
|
45
|
+
csv_line = CSV.generate_line(csv_data)
|
46
|
+
File.open(csv_path, 'a') { |f| f.puts csv_line }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
format :html do
|
51
|
+
view :core do |args|
|
52
|
+
wagn_data =
|
53
|
+
card.item_names.map do |item|
|
54
|
+
path = card.log_path item
|
55
|
+
if File.exists? path
|
56
|
+
File.read(path)
|
57
|
+
end
|
58
|
+
end.compact.join "\n"
|
59
|
+
browser_data = CSV.parse(File.read(card.csv_path))
|
60
|
+
output [
|
61
|
+
table(browser_data, true),
|
62
|
+
wagn_data
|
63
|
+
]
|
64
|
+
end
|
65
|
+
|
66
|
+
def table data, with_header=false
|
67
|
+
thead = if with_header
|
68
|
+
content_tag :thead do
|
69
|
+
content_tag :tr do
|
70
|
+
data.shift.map do |item|
|
71
|
+
content_tag :th, item
|
72
|
+
end.join "\n"
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
tbody = content_tag :tbody do
|
77
|
+
data.map do |row|
|
78
|
+
content_tag :tr do
|
79
|
+
row.map do |item|
|
80
|
+
content_tag :td, item
|
81
|
+
end.join "\n"
|
82
|
+
end
|
83
|
+
end.join "\n"
|
84
|
+
end
|
85
|
+
|
86
|
+
%{
|
87
|
+
<table class="table">
|
88
|
+
#{thead}
|
89
|
+
#{tbody}
|
90
|
+
</table>
|
91
|
+
}
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/performance_log.rb ~~~~~~~~~~~
|
98
|
+
end;end;end;end;
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; module Self; module Recent; extend Card::Set # ~~~~~~~~~~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/recent.rb ~~~~~~~~~~~
|
3
|
+
|
4
|
+
view :title do |args|
|
5
|
+
super args.merge( :title=>'Recent Changes' )
|
6
|
+
end
|
7
|
+
|
8
|
+
format :html do
|
9
|
+
|
10
|
+
view :card_list do |args|
|
11
|
+
search_vars[:item] ||= :change
|
12
|
+
|
13
|
+
cards_by_day = Hash.new { |h, day| h[day] = [] }
|
14
|
+
search_results.each do |card|
|
15
|
+
begin
|
16
|
+
stamp = card.updated_at
|
17
|
+
day = Date.new(stamp.year, stamp.month, stamp.day)
|
18
|
+
rescue =>e
|
19
|
+
day = Date.today
|
20
|
+
card.content = "(error getting date)"
|
21
|
+
end
|
22
|
+
cards_by_day[day] << card if card.followable?
|
23
|
+
end
|
24
|
+
|
25
|
+
paging = _optional_render :paging, args
|
26
|
+
%{
|
27
|
+
#{ paging }
|
28
|
+
#{
|
29
|
+
cards_by_day.keys.sort.reverse.map do |day|
|
30
|
+
%{
|
31
|
+
<h2>#{format_date(day, include_time = false) }</h2>
|
32
|
+
<div class="search-result-list">
|
33
|
+
#{
|
34
|
+
cards_by_day[day].map do |card|
|
35
|
+
%{
|
36
|
+
<div class="search-result-item item-#{ search_vars[:item] }">
|
37
|
+
#{ nest(card, :view=>search_vars[:item]) }
|
38
|
+
</div>
|
39
|
+
}
|
40
|
+
end * ' '
|
41
|
+
}
|
42
|
+
</div>
|
43
|
+
}
|
44
|
+
end * "\n"
|
45
|
+
}
|
46
|
+
#{ paging }
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
# ~~~~~~~~~~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/05_standard/set/self/recent.rb ~~~~~~~~~~~
|
54
|
+
end;end;end;end;
|