spontaneous 0.1.0.alpha1 → 0.2.0.alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +40 -35
- data/LICENSE +20 -0
- data/Rakefile +39 -42
- data/Readme.markdown +155 -0
- data/application/css/definitions.scss +3 -0
- data/application/css/editing.scss +9 -4
- data/application/css/min/565d4c25e82148acb01c45c8d675b37a08676d77.css +1 -0
- data/application/css/min/84dbe894ea96eafd321c30823d630817bfc4b03b.css +1 -0
- data/application/css/min/d1b54ff4847c613618267ca1c15658e2aee0a4e5.css +1 -0
- data/application/css/v2.scss +144 -50
- data/application/js/add_alias_dialogue.js +18 -8
- data/application/js/ajax.js +1 -1
- data/application/js/authentication.js +8 -1
- data/application/js/box.js +37 -7
- data/application/js/box_container.js +1 -1
- data/application/js/compatibility.js +7 -0
- data/application/js/content.js +7 -0
- data/application/js/content_area.js +4 -0
- data/application/js/edit_panel.js +44 -18
- data/application/js/editing.js +12 -0
- data/application/js/event_source.js +17 -0
- data/application/js/extensions.js +2 -0
- data/application/js/field_types/file_field.js +2 -1
- data/application/js/field_types/image_field.js +35 -48
- data/application/js/field_types/long_string_field.js +12 -0
- data/application/js/field_types/markdown_field.js +2 -5
- data/application/js/field_types/string_field.js +5 -1
- data/application/js/field_types/webvideo_field.js +15 -0
- data/application/js/init.js +1 -0
- data/application/js/location.js +30 -19
- data/application/js/login.js +1 -2
- data/application/js/min/2a0c2962537a3181fedfff5c92596ba6d3122dc9.js +3 -0
- data/application/js/min/4cf1c493d3379ecba5287758c61238034c0893f9.js +2 -0
- data/application/js/min/78ac6b99d96750bb6b9f9aad4cb9cd91cd03f391.js +3 -0
- data/application/js/min/c8efb9b9f7c3f6613fcebc6be60f605b6570a382.js +90 -0
- data/application/js/page.js +1 -0
- data/application/js/page_entry.js +6 -40
- data/application/js/preview.js +2 -3
- data/application/js/top_bar.js +76 -31
- data/application/js/upload.js +5 -2
- data/application/js/upload_manager.js +2 -81
- data/application/js/vendor/jquery-1.7.1.min.js +4 -0
- data/application/js/vendor/jquery-ui-1.8.16.custom.min.js +791 -0
- data/application/js/views.js +3 -3
- data/application/js/views/box_view.js +164 -83
- data/application/js/views/page_piece_view.js +2 -2
- data/application/js/views/page_view.js +46 -15
- data/application/js/views/piece_view.js +29 -8
- data/application/static/diagonal-texture.png +0 -0
- data/application/static/item-buttons-highlight.png +0 -0
- data/application/static/plus-box.png +0 -0
- data/application/static/plus_alt.svg +8 -0
- data/application/static/slot-up-arrow.png +0 -0
- data/application/views/{index.erubis → index.erb} +9 -5
- data/application/views/{login.erubis → login.erb} +14 -10
- data/application/views/schema_modification_error.html.erb +18 -6
- data/application/views/{unsupported.erubis → unsupported.erb} +0 -0
- data/bin/spot +15 -2
- data/db/migrations/20100610142136_init.rb +2 -2
- data/db/migrations/20101130104334_timestamps.rb +2 -2
- data/db/migrations/20110209152710_users_and_groups.rb +11 -11
- data/db/migrations/20120106171423_visibility_path.rb +19 -0
- data/db/migrations/20120107124541_owner_id.rb +19 -0
- data/docs/recipe-interface-screenshot.png +0 -0
- data/lib/cutaneous.rb +11 -10
- data/lib/cutaneous/context_helper.rb +119 -14
- data/lib/cutaneous/preview_context.rb +4 -3
- data/lib/cutaneous/preview_renderer.rb +1 -6
- data/lib/cutaneous/publish_context.rb +1 -0
- data/lib/cutaneous/{first_pass_renderer.rb → publish_renderer.rb} +2 -6
- data/lib/cutaneous/publish_template.rb +62 -0
- data/lib/cutaneous/publish_token_parser.rb +8 -0
- data/lib/cutaneous/renderer.rb +4 -2
- data/lib/cutaneous/request_context.rb +1 -0
- data/lib/cutaneous/{second_pass_renderer.rb → request_renderer.rb} +2 -5
- data/lib/cutaneous/request_template.rb +11 -0
- data/lib/cutaneous/request_token_parser.rb +9 -0
- data/lib/cutaneous/token_parser.rb +125 -0
- data/lib/sequel/plugins/content_table_inheritance.rb +19 -12
- data/lib/sequel/plugins/scoped_table_name.rb +45 -0
- data/lib/spontaneous.rb +123 -126
- data/lib/spontaneous/box.rb +127 -47
- data/lib/spontaneous/box_style.rb +39 -22
- data/lib/spontaneous/change.rb +2 -2
- data/lib/spontaneous/cli.rb +1 -0
- data/lib/spontaneous/cli/base.rb +12 -4
- data/lib/spontaneous/cli/console.rb +72 -0
- data/lib/spontaneous/cli/server.rb +36 -12
- data/lib/spontaneous/cli/site.rb +175 -1
- data/lib/spontaneous/collections/box_set.rb +19 -1
- data/lib/spontaneous/collections/entry_set.rb +70 -22
- data/lib/spontaneous/collections/field_set.rb +3 -3
- data/lib/spontaneous/collections/prototype_set.rb +28 -0
- data/lib/spontaneous/config.rb +14 -5
- data/lib/spontaneous/content.rb +23 -24
- data/lib/spontaneous/errors.rb +20 -4
- data/lib/spontaneous/extensions/array.rb +2 -2
- data/lib/spontaneous/extensions/json.rb +1 -1
- data/lib/spontaneous/extensions/nil.rb +13 -0
- data/lib/spontaneous/facet.rb +61 -7
- data/lib/spontaneous/field_types.rb +1 -3
- data/lib/spontaneous/field_types/date_field.rb +1 -0
- data/lib/spontaneous/field_types/field.rb +32 -15
- data/lib/spontaneous/field_types/image_field.rb +138 -69
- data/lib/spontaneous/field_types/location_field.rb +59 -0
- data/lib/spontaneous/field_types/long_string_field.rb +13 -0
- data/lib/spontaneous/field_types/markdown_field.rb +2 -1
- data/lib/spontaneous/field_types/string_field.rb +2 -2
- data/lib/spontaneous/field_types/webvideo_field.rb +255 -0
- data/lib/spontaneous/generators/page/inline.html.cut +1 -1
- data/lib/spontaneous/generators/page/page.html.cut.tt +5 -4
- data/lib/spontaneous/generators/page/page.rb.tt +1 -5
- data/lib/spontaneous/generators/site.rb +1 -0
- data/lib/spontaneous/generators/site/.gitignore +2 -0
- data/lib/spontaneous/generators/site/Gemfile.tt +3 -5
- data/lib/spontaneous/generators/site/config/environment.rb.tt +1 -0
- data/lib/spontaneous/generators/site/config/environments/development.rb.tt +3 -1
- data/lib/spontaneous/generators/site/config/environments/production.rb.tt +3 -1
- data/lib/spontaneous/generators/site/config/indexes.rb.tt +23 -0
- data/lib/spontaneous/generators/site/public/css/{site.css → site.scss} +0 -0
- data/lib/spontaneous/generators/site/schema/box.rb.tt +5 -0
- data/lib/spontaneous/generators/site/templates/layouts/standard.html.cut.tt +11 -5
- data/lib/spontaneous/image_size.rb +0 -1
- data/lib/spontaneous/loader.rb +335 -218
- data/lib/spontaneous/logger.rb +7 -2
- data/lib/spontaneous/media.rb +64 -59
- data/lib/spontaneous/media/file.rb +74 -0
- data/lib/spontaneous/page.rb +47 -18
- data/lib/spontaneous/page_piece.rb +29 -27
- data/lib/spontaneous/paths.rb +0 -1
- data/lib/spontaneous/permissions.rb +3 -21
- data/lib/spontaneous/permissions/user.rb +5 -1
- data/lib/spontaneous/permissions/user_level.rb +6 -7
- data/lib/spontaneous/piece.rb +12 -7
- data/lib/spontaneous/plugins/aliases.rb +76 -31
- data/lib/spontaneous/plugins/allowed_types.rb +36 -37
- data/lib/spontaneous/plugins/application/facets.rb +7 -10
- data/lib/spontaneous/plugins/application/features.rb +17 -0
- data/lib/spontaneous/plugins/application/paths.rb +25 -31
- data/lib/spontaneous/plugins/application/render.rb +1 -5
- data/lib/spontaneous/plugins/application/serialisation.rb +2 -0
- data/lib/spontaneous/plugins/application/state.rb +6 -9
- data/lib/spontaneous/plugins/boxes.rb +65 -40
- data/lib/spontaneous/plugins/controllers.rb +22 -22
- data/lib/spontaneous/plugins/entries.rb +149 -150
- data/lib/spontaneous/plugins/entry.rb +50 -35
- data/lib/spontaneous/plugins/field/editor_class.rb +13 -0
- data/lib/spontaneous/plugins/fields.rb +41 -33
- data/lib/spontaneous/plugins/instance_code.rb +9 -9
- data/lib/spontaneous/plugins/layouts.rb +31 -35
- data/lib/spontaneous/plugins/media.rb +31 -32
- data/lib/spontaneous/plugins/page/formats.rb +56 -31
- data/lib/spontaneous/plugins/page/request.rb +15 -9
- data/lib/spontaneous/plugins/page_search.rb +30 -31
- data/lib/spontaneous/plugins/page_tree.rb +59 -12
- data/lib/spontaneous/plugins/paths.rb +84 -79
- data/lib/spontaneous/plugins/permissions.rb +26 -28
- data/lib/spontaneous/plugins/prototypes.rb +42 -37
- data/lib/spontaneous/plugins/publishing.rb +50 -94
- data/lib/spontaneous/plugins/render.rb +8 -16
- data/lib/spontaneous/plugins/schema_hierarchy.rb +20 -21
- data/lib/spontaneous/plugins/schema_id.rb +33 -25
- data/lib/spontaneous/plugins/schema_title.rb +3 -4
- data/lib/spontaneous/plugins/serialisation.rb +32 -35
- data/lib/spontaneous/plugins/site/features.rb +32 -0
- data/lib/spontaneous/plugins/site/instance.rb +3 -2
- data/lib/spontaneous/plugins/site/level.rb +18 -0
- data/lib/spontaneous/plugins/site/map.rb +2 -1
- data/lib/spontaneous/plugins/site/publishing.rb +56 -59
- data/lib/spontaneous/plugins/site/revisions.rb +24 -19
- data/lib/spontaneous/plugins/site/schema.rb +33 -0
- data/lib/spontaneous/plugins/site/search.rb +43 -0
- data/lib/spontaneous/plugins/site/selectors.rb +35 -30
- data/lib/spontaneous/plugins/site/storage.rb +63 -0
- data/lib/spontaneous/plugins/site_map.rb +23 -25
- data/lib/spontaneous/plugins/styles.rb +35 -43
- data/lib/spontaneous/plugins/supertype.rb +3 -1
- data/lib/spontaneous/plugins/visibility.rb +90 -83
- data/lib/spontaneous/prototypes/box_prototype.rb +55 -25
- data/lib/spontaneous/prototypes/field_prototype.rb +66 -19
- data/lib/spontaneous/prototypes/style_prototype.rb +2 -2
- data/lib/spontaneous/publishing.rb +1 -1
- data/lib/spontaneous/publishing/immediate.rb +128 -49
- data/lib/spontaneous/publishing/simultaneous.rb +70 -0
- data/lib/spontaneous/rack.rb +38 -26
- data/lib/spontaneous/rack/around_back.rb +3 -23
- data/lib/spontaneous/rack/around_preview.rb +3 -8
- data/lib/spontaneous/rack/assets.rb +7 -6
- data/lib/spontaneous/rack/authentication.rb +21 -0
- data/lib/spontaneous/rack/back.rb +310 -331
- data/lib/spontaneous/rack/cacheable_file.rb +27 -0
- data/lib/spontaneous/rack/cookie_authentication.rb +38 -0
- data/lib/spontaneous/rack/css.rb +43 -0
- data/lib/spontaneous/rack/event_source.rb +31 -0
- data/lib/spontaneous/rack/front.rb +30 -8
- data/lib/spontaneous/rack/helpers.rb +31 -0
- data/lib/spontaneous/rack/media.rb +22 -21
- data/lib/spontaneous/rack/public.rb +2 -1
- data/lib/spontaneous/rack/query_authentication.rb +35 -0
- data/lib/spontaneous/rack/reloader.rb +6 -3
- data/lib/spontaneous/rack/user_helpers.rb +28 -0
- data/lib/spontaneous/render.rb +64 -23
- data/lib/spontaneous/render/context_base.rb +143 -0
- data/lib/spontaneous/render/format.rb +24 -19
- data/lib/spontaneous/render/helpers.rb +14 -0
- data/lib/spontaneous/render/helpers/html_helper.rb +69 -0
- data/lib/spontaneous/render/helpers/script_helper.rb +17 -0
- data/lib/spontaneous/render/helpers/stylesheet_helper.rb +16 -0
- data/lib/spontaneous/render/preview_context.rb +8 -0
- data/lib/spontaneous/render/preview_renderer.rb +6 -0
- data/lib/spontaneous/render/publish_context.rb +22 -0
- data/lib/spontaneous/render/published_renderer.rb +12 -13
- data/lib/spontaneous/render/publishing_renderer.rb +3 -0
- data/lib/spontaneous/render/render_cache.rb +26 -0
- data/lib/spontaneous/render/renderer.rb +5 -1
- data/lib/spontaneous/render/request_context.rb +8 -0
- data/lib/spontaneous/schema.rb +56 -24
- data/lib/spontaneous/schema/schema_modification.rb +2 -2
- data/lib/spontaneous/schema/uid.rb +22 -106
- data/lib/spontaneous/schema/uid_map.rb +120 -0
- data/lib/spontaneous/search.rb +11 -0
- data/lib/spontaneous/search/compound_indexer.rb +26 -0
- data/lib/spontaneous/search/database.rb +72 -0
- data/lib/spontaneous/search/field.rb +95 -0
- data/lib/spontaneous/search/index.rb +184 -0
- data/lib/spontaneous/search/results.rb +34 -0
- data/lib/spontaneous/server.rb +5 -1
- data/lib/spontaneous/site.rb +56 -16
- data/lib/spontaneous/storage.rb +22 -0
- data/lib/spontaneous/storage/backend.rb +10 -0
- data/lib/spontaneous/storage/cloud.rb +104 -0
- data/lib/spontaneous/storage/local.rb +52 -0
- data/lib/spontaneous/style.rb +27 -9
- data/lib/spontaneous/version.rb +1 -1
- data/spontaneous.gemspec +719 -0
- data/test/disabled/test_slots.rb +1 -1
- data/test/experimental/test_cutaneous.rb +309 -0
- data/test/experimental/test_features.rb +129 -0
- data/test/fixtures/application/views/{index.erubis → index.erb} +0 -0
- data/test/fixtures/back/public/css/sass_include.scss +5 -0
- data/test/fixtures/back/public/css/sass_template.scss +4 -0
- data/test/fixtures/example_application/templates/client_project.html.cut +4 -4
- data/test/fixtures/example_application/templates/client_project/images.html.cut +1 -1
- data/test/fixtures/example_application/templates/client_projects.html.cut +2 -2
- data/test/fixtures/example_application/templates/inline_image.html.cut +1 -1
- data/test/fixtures/example_application/templates/layouts/home.html.cut +7 -7
- data/test/fixtures/example_application/templates/layouts/info.html.cut +1 -1
- data/test/fixtures/example_application/templates/layouts/project.html.cut +4 -4
- data/test/fixtures/example_application/templates/layouts/projects.html.cut +2 -2
- data/test/fixtures/example_application/templates/project.html.cut +2 -2
- data/test/fixtures/example_application/templates/project/inline.html.cut +3 -3
- data/test/fixtures/example_application/templates/project_image.html.cut +1 -1
- data/test/fixtures/example_application/templates/text.html.cut +1 -1
- data/test/fixtures/fields/youtube_api_response.xml +102 -0
- data/test/fixtures/layouts/layouts/custom4.html.cut +0 -0
- data/test/fixtures/plugins/schema_plugin/public/css/plugin.css +1 -0
- data/test/fixtures/plugins/schema_plugin/public/js/plugin.js +1 -0
- data/test/fixtures/plugins/schema_plugin/public/static.html +1 -0
- data/test/fixtures/plugins/schema_plugin/public/subdir/image.gif +1 -0
- data/test/fixtures/plugins/schema_plugin/public/subdir/include1.scss +3 -0
- data/test/fixtures/plugins/schema_plugin/public/subdir/sass.scss +4 -0
- data/test/fixtures/plugins/schema_plugin/public/subdir/sass/include2.scss +4 -0
- data/test/fixtures/public/templates/layouts/default.html.cut +1 -1
- data/test/fixtures/public/templates/layouts/default.pdf.cut +1 -1
- data/test/fixtures/public/templates/layouts/default.rss.cut +1 -1
- data/test/fixtures/public/templates/layouts/dynamic.html.cut +1 -1
- data/test/fixtures/schema_modification/config/database.yml +0 -0
- data/test/fixtures/schema_modification/config/environment.rb +2 -0
- data/test/fixtures/schema_modification/schema/box.rb +1 -0
- data/test/fixtures/schema_modification/schema/custom_box.rb +1 -0
- data/test/fixtures/schema_modification/schema/page.rb +6 -0
- data/test/fixtures/schema_modification/schema/piece.rb +1 -0
- data/test/fixtures/search/config/database.yml +1 -0
- data/test/fixtures/search/config/indexes.rb +4 -0
- data/test/fixtures/serialisation/root_hash.yaml.erb +16 -20
- data/test/fixtures/storage/cloud/environment.rb +12 -0
- data/test/fixtures/storage/default/environment.rb +1 -0
- data/test/fixtures/templates/aliases/layouts/c_alias.html.cut +1 -1
- data/test/fixtures/templates/content/include.html.cut +1 -1
- data/test/fixtures/templates/content/include_dir.html.cut +1 -1
- data/test/fixtures/templates/content/included.epub.cut +1 -1
- data/test/fixtures/templates/content/included.html.cut +1 -1
- data/test/fixtures/templates/content/partial/included.html.cut +1 -1
- data/test/fixtures/templates/content/preprocess.html.cut +1 -1
- data/test/fixtures/templates/content/second.html.cut +1 -1
- data/test/fixtures/templates/content/template.epub.cut +1 -1
- data/test/fixtures/templates/content/template.html.cut +1 -1
- data/test/fixtures/templates/default_style_class.html.cut +1 -1
- data/test/fixtures/templates/engine/braces.html.cut +6 -0
- data/test/fixtures/templates/engine/multiline.html.cut +5 -0
- data/test/fixtures/templates/extended/grandparent.html.cut +7 -7
- data/test/fixtures/templates/extended/main.html.cut +5 -5
- data/test/fixtures/templates/extended/parent.html.cut +10 -8
- data/test/fixtures/templates/extended/partial.html.cut +1 -0
- data/test/fixtures/templates/extended/partial_with_locals.html.cut +1 -0
- data/test/fixtures/templates/extended/with_includes.html.cut +9 -0
- data/test/fixtures/templates/extended/with_includes_and_locals.html.cut +9 -0
- data/test/fixtures/templates/layouts/entries.html.cut +7 -7
- data/test/fixtures/templates/layouts/page_style.html.cut +1 -1
- data/test/fixtures/templates/layouts/params.html.cut +1 -1
- data/test/fixtures/templates/layouts/preview_render.html.cut +2 -2
- data/test/fixtures/templates/layouts/standard_page.html.cut +1 -1
- data/test/fixtures/templates/layouts/subdir_style.html.cut +1 -1
- data/test/fixtures/templates/layouts/template_params.html.cut +1 -1
- data/test/fixtures/templates/layouts/variables.html.cut +7 -0
- data/test/fixtures/templates/page_class/inline_style.html.cut +1 -1
- data/test/fixtures/templates/preview_render/variables.html.cut +1 -0
- data/test/fixtures/templates/publishing/templates/layouts/dynamic.html.cut +1 -0
- data/test/fixtures/templates/publishing/templates/layouts/dynamic.rtf.cut +1 -0
- data/test/fixtures/templates/publishing/templates/layouts/static.html.cut +1 -0
- data/test/fixtures/templates/template_class/anonymous_style.html.cut +2 -2
- data/test/fixtures/templates/template_class/complex_template.html.cut +4 -4
- data/test/fixtures/templates/template_class/complex_template.pdf.cut +4 -4
- data/test/fixtures/templates/template_class/default_template_style.html.cut +2 -2
- data/test/fixtures/templates/template_class/images_with_template.html.cut +3 -3
- data/test/fixtures/templates/template_class/slots_template.html.cut +3 -3
- data/test/fixtures/templates/template_class/slots_template.pdf.cut +3 -3
- data/test/fixtures/templates/template_class/this_template.epub.cut +1 -1
- data/test/fixtures/templates/template_class/this_template.html.cut +1 -1
- data/test/fixtures/templates/template_class/this_template.pdf.cut +1 -1
- data/test/fixtures/templates/with_default_style_class.html.cut +1 -1
- data/test/functional/test_application.rb +19 -15
- data/test/functional/test_back.rb +130 -98
- data/test/functional/test_front.rb +72 -28
- data/test/javascript/test_dom.rb +1 -1
- data/test/javascript/test_markdown.rb +1 -1
- data/test/slow/test_publishing.rb +94 -75
- data/test/slow/test_visibility.rb +47 -14
- data/test/test_helper.rb +30 -3
- data/test/ui/test_page_editing.rb +1 -1
- data/test/unit/test_alias.rb +200 -16
- data/test/unit/test_authentication.rb +26 -28
- data/test/unit/test_boxes.rb +146 -75
- data/test/unit/test_config.rb +42 -20
- data/test/unit/test_content.rb +156 -37
- data/test/unit/test_content_inheritance.rb +4 -2
- data/test/unit/test_extensions.rb +7 -1
- data/test/unit/test_fields.rb +558 -290
- data/test/{experimental → unit}/test_formats.rb +42 -3
- data/test/unit/test_generators.rb +3 -2
- data/test/unit/test_helpers.rb +54 -0
- data/test/unit/test_image_size.rb +1 -1
- data/test/unit/test_images.rb +51 -40
- data/test/unit/test_layouts.rb +21 -4
- data/test/unit/test_logger.rb +1 -1
- data/test/unit/test_media.rb +165 -7
- data/test/unit/test_page.rb +158 -27
- data/test/unit/test_permissions.rb +170 -187
- data/test/unit/test_piece.rb +27 -9
- data/test/unit/test_plugins.rb +153 -0
- data/test/unit/test_prototype_set.rb +60 -2
- data/test/unit/test_prototypes.rb +81 -20
- data/test/unit/test_render.rb +97 -9
- data/test/unit/test_schema.rb +167 -120
- data/test/unit/test_search.rb +588 -0
- data/test/unit/test_serialisation.rb +26 -10
- data/test/unit/test_site.rb +42 -25
- data/test/unit/test_storage.rb +88 -0
- data/test/unit/test_structure.rb +11 -5
- data/test/unit/test_styles.rb +64 -3
- data/test/unit/test_table_scoping.rb +76 -0
- data/test/unit/test_templates.rb +69 -31
- data/test/unit/test_type_hierarchy.rb +9 -1
- metadata +274 -208
- data/Gemfile.lock +0 -146
- data/application/css/min/54ee0ed3c7fac7632bd5c020d69e9a2503e0c88c.css +0 -1
- data/application/css/min/c256adc144e2bdd0b0539356b04eb62db01e1dc3.css +0 -1
- data/application/js/edit_dialogue.js +0 -137
- data/application/js/min/492a209de8ee955fa9c729a765377495001e11b1.js +0 -17
- data/application/js/min/80f684d77c940887a1d4a63e3a96102e993baa98.js +0 -88
- data/application/js/min/c7140ec9475e5bf868b901e0621338d7d162358b.js +0 -3
- data/application/js/min/f07f2bd6630ee31e1c2288ec223383d8f0658ba6.js +0 -2
- data/application/js/vendor/.DS_Store +0 -0
- data/application/js/vendor/JS.Class-2.1.5/src/command.js +0 -93
- data/application/js/vendor/JS.Class-2.1.5/src/comparable.js +0 -37
- data/application/js/vendor/JS.Class-2.1.5/src/constant_scope.js +0 -48
- data/application/js/vendor/JS.Class-2.1.5/src/core.js +0 -1060
- data/application/js/vendor/JS.Class-2.1.5/src/decorator.js +0 -50
- data/application/js/vendor/JS.Class-2.1.5/src/enumerable.js +0 -505
- data/application/js/vendor/JS.Class-2.1.5/src/forwardable.js +0 -22
- data/application/js/vendor/JS.Class-2.1.5/src/hash.js +0 -334
- data/application/js/vendor/JS.Class-2.1.5/src/linked_list.js +0 -114
- data/application/js/vendor/JS.Class-2.1.5/src/loader.js +0 -553
- data/application/js/vendor/JS.Class-2.1.5/src/method_chain.js +0 -172
- data/application/js/vendor/JS.Class-2.1.5/src/observable.js +0 -55
- data/application/js/vendor/JS.Class-2.1.5/src/package.js +0 -472
- data/application/js/vendor/JS.Class-2.1.5/src/proxy.js +0 -58
- data/application/js/vendor/JS.Class-2.1.5/src/ruby.js +0 -44
- data/application/js/vendor/JS.Class-2.1.5/src/set.js +0 -332
- data/application/js/vendor/JS.Class-2.1.5/src/stack_trace.js +0 -151
- data/application/js/vendor/JS.Class-2.1.5/src/state.js +0 -95
- data/application/js/vendor/JS.Class-2.1.5/src/stdlib.js +0 -2612
- data/application/js/vendor/jquery-1.4.2.min.js +0 -154
- data/application/js/vendor/jquery-1.4.3.min.js +0 -166
- data/application/js/vendor/jquery-1.5.1.min.js +0 -16
- data/application/js/vendor/jquery-1.5.1rc1.min.js +0 -24
- data/application/js/vendor/jquery-ui-1.8.6.custom.min.js +0 -265
- data/application/js/vendor/jquery-ui-1.8.custom.min.js +0 -106
- data/application/js/vendor/jquery.hotkeys-0.7.9.js +0 -248
- data/application/js/vendor/jquery.hotkeys-0.7.9.min.js +0 -19
- data/application/js/vendor/jsdiff.js +0 -169
- data/lib/cutaneous/first_pass_parser.rb +0 -23
- data/lib/cutaneous/parser_core.rb +0 -18
- data/lib/cutaneous/second_pass_parser.rb +0 -23
- data/lib/sequel/plugins/yajl_serialization.rb +0 -154
- data/lib/spontaneous/plugins.rb +0 -20
- data/lib/spontaneous/proxy_object.rb +0 -12
- data/lib/spontaneous/publishing/fire_and_forget.rb +0 -57
- data/lib/spontaneous/render/context.rb +0 -100
- data/spontaneous.gemspec.tmpl +0 -66
- data/test/experimental/test_plugins.rb +0 -64
- data/test/fixtures/templates/publishing/layouts/dynamic.html.cut +0 -1
- data/test/fixtures/templates/publishing/layouts/static.html.cut +0 -1
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
module Cutaneous
|
|
4
|
-
class FirstPassParser < Tenjin::Preprocessor
|
|
5
|
-
include ParserCore
|
|
6
|
-
|
|
7
|
-
## {% ruby_code %}
|
|
8
|
-
STMT_PATTERN = /\{%( |\t|\r?\n)(.*?) *%\}([ \t]*\r?\n)?/m
|
|
9
|
-
|
|
10
|
-
## {{ statement }} or {$ statement $}
|
|
11
|
-
EXPR_PATTERN = /\{([\{\$])(.*?)[\}\$]\}/m
|
|
12
|
-
|
|
13
|
-
def stmt_pattern
|
|
14
|
-
STMT_PATTERN
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def expr_pattern
|
|
18
|
-
EXPR_PATTERN
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
module Cutaneous
|
|
4
|
-
module ParserCore
|
|
5
|
-
def self.included(base)
|
|
6
|
-
base.extend(ClassMethods)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
module ClassMethods
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def initialize(filepath=nil, format=:html)
|
|
13
|
-
@format = format
|
|
14
|
-
super(filepath)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
module Cutaneous
|
|
4
|
-
class SecondPassParser < Tenjin::Template
|
|
5
|
-
include ParserCore
|
|
6
|
-
|
|
7
|
-
## %{ ruby_code }
|
|
8
|
-
STMT_PATTERN = /%\{( |\t|\r?\n)(.*?) *\}(?:[ \t]*\r?\n)?/m
|
|
9
|
-
|
|
10
|
-
## #{ statement } or ${ statement }
|
|
11
|
-
EXPR_PATTERN = /([\$#])\{(.*?)\}/m
|
|
12
|
-
|
|
13
|
-
def stmt_pattern
|
|
14
|
-
STMT_PATTERN
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def expr_pattern
|
|
18
|
-
EXPR_PATTERN
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
module Sequel
|
|
4
|
-
module Plugins
|
|
5
|
-
# Sequel's built in Serialization plugin allows you to keep serialized
|
|
6
|
-
# ruby objects in the database, while giving you deserialized objects
|
|
7
|
-
# when you call an accessor.
|
|
8
|
-
#
|
|
9
|
-
# This plugin works by keeping the serialized value in the values, and
|
|
10
|
-
# adding a @deserialized_values hash. The reader method for serialized columns
|
|
11
|
-
# will check the @deserialized_values for the value, return it if present,
|
|
12
|
-
# or deserialized the entry in @values and return it. The writer method will
|
|
13
|
-
# set the @deserialized_values entry. This plugin adds a before_save hook
|
|
14
|
-
# that serializes all @deserialized_values to @values.
|
|
15
|
-
#
|
|
16
|
-
# You can use either marshal, yaml, or json as the serialization format.
|
|
17
|
-
# If you use yaml or json, you should require them by yourself.
|
|
18
|
-
#
|
|
19
|
-
# Because of how this plugin works, it must be used inside each model class
|
|
20
|
-
# that needs serialization, after any set_dataset method calls in that class.
|
|
21
|
-
# Otherwise, it is possible that the default column accessors will take
|
|
22
|
-
# precedence.
|
|
23
|
-
#
|
|
24
|
-
# == Example
|
|
25
|
-
#
|
|
26
|
-
# require 'sequel'
|
|
27
|
-
# require 'yajl'
|
|
28
|
-
# class User < Sequel::Model
|
|
29
|
-
# plugin :yajl_serialization, :permissions
|
|
30
|
-
# # or
|
|
31
|
-
# plugin :yajl_serialization
|
|
32
|
-
# yajl_serialize_attributes :permissions, :attributes
|
|
33
|
-
# end
|
|
34
|
-
# user = User.create
|
|
35
|
-
# user.permissions = { :global => 'read-only' }
|
|
36
|
-
# user.save
|
|
37
|
-
module YajlSerialization
|
|
38
|
-
|
|
39
|
-
def self.parse(json)
|
|
40
|
-
parser.parse(json)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def self.parser
|
|
44
|
-
Yajl::Parser.new(:symbolize_keys => true)
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def self.encode(obj)
|
|
48
|
-
encoder.encode(obj)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def self.encoder
|
|
52
|
-
Yajl::Encoder.new
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# Set up the column readers to do deserialization and the column writers
|
|
56
|
-
# to save the value in deserialized_values.
|
|
57
|
-
def self.apply(model, *args)
|
|
58
|
-
model.instance_eval{@serialization_map = {}}
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def self.configure(model, *columns)
|
|
62
|
-
model.yajl_serialize_attributes(*columns) unless columns.empty?
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
module ClassMethods
|
|
66
|
-
# A map of the serialized columns for this model. Keys are column
|
|
67
|
-
# symbols, values are serialization formats (:marshal, :yaml, or :json).
|
|
68
|
-
attr_reader :serialization_map
|
|
69
|
-
|
|
70
|
-
# Module to store the serialized column accessor methods, so they can
|
|
71
|
-
# call be overridden and call super to get the serialization behavior
|
|
72
|
-
attr_accessor :serialization_module
|
|
73
|
-
|
|
74
|
-
# Copy the serialization format and columns to serialize into the subclass.
|
|
75
|
-
def inherited(subclass)
|
|
76
|
-
super
|
|
77
|
-
sm = serialization_map.dup
|
|
78
|
-
subclass.instance_eval{@serialization_map = sm}
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
# Create instance level reader that deserializes column values on request,
|
|
82
|
-
# and instance level writer that stores new deserialized value in deserialized
|
|
83
|
-
# columns
|
|
84
|
-
def yajl_serialize_attributes(*columns)
|
|
85
|
-
raise(Error, "No columns given. The serialization plugin requires you specify which columns to serialize") if columns.empty?
|
|
86
|
-
define_serialized_attribute_accessor(*columns)
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
private
|
|
91
|
-
|
|
92
|
-
# Add serializated attribute acessor methods to the serialization_module
|
|
93
|
-
def define_serialized_attribute_accessor(*columns)
|
|
94
|
-
m = self
|
|
95
|
-
include(self.serialization_module ||= Module.new) unless serialization_module
|
|
96
|
-
serialization_module.class_eval do
|
|
97
|
-
columns.each do |column|
|
|
98
|
-
m.serialization_map[column] = :json
|
|
99
|
-
define_method(column) do
|
|
100
|
-
if deserialized_values.has_key?(column)
|
|
101
|
-
deserialized_values[column]
|
|
102
|
-
else
|
|
103
|
-
deserialized_values[column] = deserialize_value(column, super())
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
define_method("#{column}=") do |v|
|
|
107
|
-
changed_columns << column unless changed_columns.include?(column)
|
|
108
|
-
deserialized_values[column] = v
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
module InstanceMethods
|
|
116
|
-
# Hash of deserialized values, used as a cache.
|
|
117
|
-
attr_reader :deserialized_values
|
|
118
|
-
|
|
119
|
-
# Set @deserialized_values to the empty hash
|
|
120
|
-
def initialize(*args)
|
|
121
|
-
@deserialized_values = {}
|
|
122
|
-
super
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
# Serialize all deserialized values
|
|
126
|
-
def before_save
|
|
127
|
-
deserialized_values.each{|k,v| @values[k] = serialize_value(k, v)}
|
|
128
|
-
super
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
# Empty the deserialized values when refreshing.
|
|
132
|
-
def refresh
|
|
133
|
-
@deserialized_values = {}
|
|
134
|
-
super
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
private
|
|
138
|
-
|
|
139
|
-
# Deserialize the column from JSON format
|
|
140
|
-
def deserialize_value(column, v)
|
|
141
|
-
return v if v.nil?
|
|
142
|
-
YajlSerialization.parse(v)
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
# Serialize the column to JSON format
|
|
146
|
-
def serialize_value(column, v)
|
|
147
|
-
return v if v.nil?
|
|
148
|
-
YajlSerialization.encode(v)
|
|
149
|
-
end
|
|
150
|
-
end
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
|
-
end
|
|
154
|
-
|
data/lib/spontaneous/plugins.rb
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# thanks to @jnunemaker
|
|
5
|
-
# http://github.com/jnunemaker/mongomapper/blob/master/lib/mongo_mapper/plugins.rb
|
|
6
|
-
|
|
7
|
-
module Spontaneous
|
|
8
|
-
module Plugins
|
|
9
|
-
def plugins
|
|
10
|
-
@plugins ||= []
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def plugin(mod)
|
|
14
|
-
extend mod::ClassMethods if mod.const_defined?(:ClassMethods)
|
|
15
|
-
include mod::InstanceMethods if mod.const_defined?(:InstanceMethods)
|
|
16
|
-
mod.configure(self) if mod.respond_to?(:configure)
|
|
17
|
-
plugins << mod
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
module Spontaneous
|
|
4
|
-
class ProxyObject
|
|
5
|
-
alias_method :proxy_class, :class
|
|
6
|
-
alias_method :__class__, :class
|
|
7
|
-
alias_method :__methods__, :methods
|
|
8
|
-
alias_method :__is_a?, :is_a?
|
|
9
|
-
instance_methods.each { |m| undef_method m unless m =~ /^__|instance_eval|object_id|proxy_class/ }
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
require 'fire_and_forget'
|
|
4
|
-
|
|
5
|
-
module Spontaneous
|
|
6
|
-
module Publishing
|
|
7
|
-
class FireAndForget
|
|
8
|
-
FAF = ::FireAndForget
|
|
9
|
-
|
|
10
|
-
def self.task_name
|
|
11
|
-
# TODO: add site name to this to make it unique on a server
|
|
12
|
-
:publish
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def self.register_task
|
|
16
|
-
publish_binary = (Pathname.new(Spontaneous.gem_dir) + "bin/spot publish").expand_path.to_s
|
|
17
|
-
site_root = Pathname.new(Spontaneous.root).expand_path.to_s
|
|
18
|
-
niceness = S.config.publish_niceness || 15
|
|
19
|
-
# TODO: make nice value configurable
|
|
20
|
-
FAF.add_task(task_name, publish_binary, niceness, {
|
|
21
|
-
"site" => site_root,
|
|
22
|
-
"logfile" => "log/publish.log",
|
|
23
|
-
"environment" => Spontaneous.env
|
|
24
|
-
}, {})
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
register_task
|
|
28
|
-
|
|
29
|
-
def self.status
|
|
30
|
-
FAF.get_status(task_name)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def self.status=(status)
|
|
34
|
-
FAF.set_status(task_name, status)
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
attr_reader :revision
|
|
38
|
-
|
|
39
|
-
def initialize(revision)
|
|
40
|
-
@revision = revision
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def task_name
|
|
44
|
-
self.class.task_name
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def publish_changes(change_list)
|
|
48
|
-
FAF.fire(task_name, {"changes" => change_list})
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def publish_all
|
|
52
|
-
FAF.fire(task_name)
|
|
53
|
-
end
|
|
54
|
-
end # FireAndForget
|
|
55
|
-
end # Publishing
|
|
56
|
-
end # Spontaneous
|
|
57
|
-
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
module Spontaneous::Render
|
|
5
|
-
module Context
|
|
6
|
-
|
|
7
|
-
attr_reader :format, :target
|
|
8
|
-
|
|
9
|
-
def initialize(target, format, params={})
|
|
10
|
-
@target, @format, @params = target, format, params
|
|
11
|
-
_update(params) if params.is_a?(Hash)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def page
|
|
15
|
-
target.page
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def template
|
|
19
|
-
target.template(format)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def each
|
|
23
|
-
content.each { |c| yield(c) } if block_given?
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def each_with_index
|
|
27
|
-
content.each_with_index { |c, i| yield(c, i) } if block_given?
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def map
|
|
31
|
-
content.map { |c| yield(c) } if block_given?
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def content
|
|
35
|
-
target.iterable
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def pieces
|
|
39
|
-
content
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def first
|
|
43
|
-
content.first
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def last
|
|
47
|
-
content.last
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def first?
|
|
51
|
-
target.container.pieces.first == self
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def last?
|
|
55
|
-
target.container.pieces.last == self
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def render_content
|
|
59
|
-
target.map do |c|
|
|
60
|
-
c.render(format)
|
|
61
|
-
end.join("\n")
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def render(format, *args)
|
|
65
|
-
target.render(format, *args)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def respond_to?(method)
|
|
69
|
-
super || target.respond_to?(method)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
protected
|
|
73
|
-
|
|
74
|
-
def method_missing(method, *args)
|
|
75
|
-
if block_given?
|
|
76
|
-
target.__send__(method, *args, &Proc.new)
|
|
77
|
-
else
|
|
78
|
-
target.__send__(method, *args)
|
|
79
|
-
end
|
|
80
|
-
rescue => e
|
|
81
|
-
# TODO: sensible, configurable fallback for when template calls non-existant method
|
|
82
|
-
# - need line number and file that generated error
|
|
83
|
-
# - logging.warn when happens
|
|
84
|
-
# - an inline comment when in dev mode?
|
|
85
|
-
# - some placeholder text, perhaps the name of the missing method and line no.
|
|
86
|
-
logger.error(e)
|
|
87
|
-
# logger.error(target)
|
|
88
|
-
# logger.error(e.backtrace.join("\\n"))
|
|
89
|
-
nil
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# make each key of the params hash into a method call for speed
|
|
93
|
-
def _update(params)
|
|
94
|
-
params.each do |key, val|
|
|
95
|
-
singleton_class.__send__(:define_method, key) { val }
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
|
data/spontaneous.gemspec.tmpl
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
## This is the rakegem gemspec template. Make sure you read and understand
|
|
2
|
-
## all of the comments. Some sections require modification, and others can
|
|
3
|
-
## be deleted if you don't need them. Once you understand the contents of
|
|
4
|
-
## this file, feel free to delete any comments that begin with two hash marks.
|
|
5
|
-
## You can find comprehensive Gem::Specification documentation, at
|
|
6
|
-
## http://docs.rubygems.org/read/chapter/20
|
|
7
|
-
Gem::Specification.new do |s|
|
|
8
|
-
s.specification_version = 2 if s.respond_to? :specification_version=
|
|
9
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
10
|
-
s.rubygems_version = '1.3.5'
|
|
11
|
-
|
|
12
|
-
## Leave these as is they will be modified for you by the rake gemspec task.
|
|
13
|
-
## If your rubyforge_project name is different, then edit it and comment out
|
|
14
|
-
## the sub! line in the Rakefile
|
|
15
|
-
s.name = 'NAME'
|
|
16
|
-
s.version = '0.0'
|
|
17
|
-
s.date = '2010-01-01'
|
|
18
|
-
s.rubyforge_project = 'NAME'
|
|
19
|
-
|
|
20
|
-
## Make sure your summary is short. The description may be as long
|
|
21
|
-
## as you like.
|
|
22
|
-
s.summary = "Spontaneous is a next-generation Ruby CMS"
|
|
23
|
-
s.description = "Spontaneous is a next-generation Ruby CMS"
|
|
24
|
-
|
|
25
|
-
## List the primary authors. If there are a bunch of authors, it's probably
|
|
26
|
-
## better to set the email to an email list or something. If you don't have
|
|
27
|
-
## a custom homepage, consider using your GitHub URL or the like.
|
|
28
|
-
s.authors = ["Garry Hill"]
|
|
29
|
-
s.email = 'garry@magnetised.net'
|
|
30
|
-
s.homepage = 'http://spontaneouscms.org'
|
|
31
|
-
|
|
32
|
-
## This gets added to the $LOAD_PATH so that 'lib/NAME.rb' can be required as
|
|
33
|
-
## require 'NAME.rb' or'/lib/NAME/file.rb' can be as require 'NAME/file.rb'
|
|
34
|
-
s.require_paths = %%w[lib]
|
|
35
|
-
|
|
36
|
-
# ## This sections is only necessary if you have C extensions.
|
|
37
|
-
# s.require_paths << 'ext'
|
|
38
|
-
# s.extensions = %%w[ext/extconf.rb]
|
|
39
|
-
|
|
40
|
-
## If your gem includes any executables, list them here.
|
|
41
|
-
s.executables = ["spot"]
|
|
42
|
-
|
|
43
|
-
## Specify any RDoc options here. You'll want to add your README and
|
|
44
|
-
## LICENSE files to the extra_rdoc_files list.
|
|
45
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
|
46
|
-
s.extra_rdoc_files = %%w[README LICENSE]
|
|
47
|
-
|
|
48
|
-
## List your runtime dependencies here. Runtime dependencies are those
|
|
49
|
-
## that are needed for an end user to actually USE your code.
|
|
50
|
-
%s
|
|
51
|
-
|
|
52
|
-
## List your development dependencies here. Development dependencies are
|
|
53
|
-
## those that are only needed during development
|
|
54
|
-
%s
|
|
55
|
-
|
|
56
|
-
## Leave this section as-is. It will be automatically generated from the
|
|
57
|
-
## contents of your Git repository via the gemspec task. DO NOT REMOVE
|
|
58
|
-
## THE MANIFEST COMMENTS, they are used as delimiters by the task.
|
|
59
|
-
# = MANIFEST =
|
|
60
|
-
s.files = %%w[]
|
|
61
|
-
# = MANIFEST =
|
|
62
|
-
|
|
63
|
-
## Test files will be grabbed from the file list. Make sure the path glob
|
|
64
|
-
## matches what you actually use.
|
|
65
|
-
s.test_files = s.files.select { |path| path =~ /^test\/test_.*\.rb/ }
|
|
66
|
-
end
|