rango 0.0.4 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +22 -8
- data/README.textile +2 -2
- data/Rakefile +79 -0
- data/bin/rango +54 -22
- data/deps.rip +8 -0
- data/lib/rango.rb +4 -4
- data/lib/rango/boot.rb +4 -14
- data/lib/rango/contrib/pagination.rb +6 -8
- data/lib/rango/contrib/pagination/README.textile +2 -2
- data/lib/rango/contrib/pagination/_pagination.html.haml +4 -4
- data/lib/rango/contrib/pagination/adapters/datamapper.rb +16 -17
- data/lib/rango/contrib/pagination/helpers.rb +10 -0
- data/lib/rango/contrib/pagination/strategies.rb +1 -1
- data/lib/rango/controller.rb +40 -43
- data/lib/rango/exceptions.rb +49 -49
- data/lib/rango/gv.rb +93 -0
- data/lib/rango/helpers.rb +4 -4
- data/lib/rango/helpers/assets.rb +11 -2
- data/lib/rango/helpers/merb-helpers/core_ext/numeric.rb +1 -0
- data/lib/rango/helpers/merb-helpers/date_time_formatting.rb +5 -19
- data/lib/rango/helpers/merb-helpers/form/builder.rb +427 -424
- data/lib/rango/helpers/merb-helpers/form/helpers.rb +420 -418
- data/lib/rango/helpers/merb-helpers/form_helpers.rb +4 -2
- data/lib/rango/helpers/merb-helpers/text_helpers.rb +64 -54
- data/lib/rango/mixins/application.rb +1 -1
- data/lib/rango/mixins/configurable.rb +3 -4
- data/lib/rango/mixins/http_caching.rb +78 -0
- data/lib/rango/mixins/mini.rb +2 -2
- data/lib/rango/mixins/render.rb +152 -0
- data/lib/rango/orm/adapter.rb +46 -0
- data/lib/rango/orm/adapters/datamapper.rb +18 -0
- data/lib/rango/orm/adapters/sequel.rb +18 -0
- data/lib/rango/orm/orm.txt +11 -0
- data/lib/rango/orm/{adapters → support}/datamapper/fields.rb +0 -0
- data/lib/rango/orm/{adapters → support}/datamapper/support.rb +0 -0
- data/lib/rango/orm/tasks/datamapper.rake +34 -0
- data/{features/auth/warden.feature → lib/rango/orm/tasks/sequel.rake} +0 -0
- data/lib/rango/project.rb +8 -9
- data/lib/rango/rack/middlewares/basic.rb +50 -22
- data/lib/rango/rango.rb +29 -25
- data/lib/rango/router.rb +9 -0
- data/lib/rango/router/adapters/rack_mount.rb +17 -0
- data/lib/rango/router/adapters/usher.rb +9 -0
- data/lib/rango/settings.rb +13 -3
- data/lib/rango/settings/erubis.rb +2 -0
- data/lib/rango/settings/framework.rb +4 -10
- data/lib/rango/settings/haml.rb +6 -0
- data/lib/rango/settings/template.rb +3 -1
- data/lib/rango/tasks/spec.rake +7 -0
- data/lib/rango/templates/adapter.rb +1 -1
- data/lib/rango/templates/adapters/erb.rb +2 -2
- data/lib/rango/templates/adapters/erubis.rb +1 -1
- data/lib/rango/templates/adapters/haml.rb +1 -1
- data/lib/rango/templates/erubis.rb +84 -0
- data/lib/rango/templates/template.rb +33 -16
- data/lib/rango/templates/templates.txt +39 -0
- data/lib/rango/utils.rb +13 -0
- data/rango.gemspec +20 -15
- data/runcoderun.sh +19 -0
- data/script/erubis +11 -0
- data/script/rackup +2 -0
- data/script/rake2thor +86 -0
- data/script/spec +12 -0
- data/script/thor +12 -0
- data/simple-templater.scope +6 -0
- data/spec/factories.rb +4 -4
- data/spec/rango/controller_spec.rb +2 -2
- data/spec/rango/exceptions_spec.rb +3 -1
- data/{features/generators/bigapp.feature → spec/rango/gv_spec.rb} +0 -0
- data/{features/generators/features.feature → spec/rango/helpers/merb-helpers/core_ext/numeric_spec.rb} +0 -0
- data/{features/generators/flat.feature → spec/rango/helpers/merb-helpers/date_time_formatting_spec.rb} +0 -0
- data/{features/generators/project.feature → spec/rango/helpers/merb-helpers/date_time_helpers_spec.rb} +0 -0
- data/{features/generators/pupu.feature → spec/rango/helpers/merb-helpers/form/builder_spec.rb} +0 -0
- data/{features/generators/stub.feature → spec/rango/helpers/merb-helpers/form/helpers_spec.rb} +0 -0
- data/{features/routers/rack-router.feature → spec/rango/helpers/merb-helpers/form_helpers_spec.rb} +0 -0
- data/spec/rango/helpers/merb-helpers/merb_helpers_config_spec.rb +1 -0
- data/spec/rango/helpers/merb-helpers/merb_helpers_date_time_spec.rb +2 -0
- data/spec/rango/helpers/merb-helpers/merb_helpers_form_spec.rb +5 -3
- data/spec/rango/helpers/merb-helpers/merb_helpers_tag_helper_spec.rb +4 -0
- data/spec/rango/helpers/merb-helpers/merb_helpers_text_spec.rb +1 -0
- data/spec/rango/helpers/merb-helpers/numeric_extlib_spec.rb +8 -7
- data/spec/rango/helpers/merb-helpers/ordinalize_spec.rb +1 -0
- data/{features/routers/rack.feature → spec/rango/helpers/merb-helpers/tag_helpers_spec.rb} +0 -0
- data/{features/routers/urlmap.feature → spec/rango/helpers/merb-helpers/text_helpers_spec.rb} +0 -0
- data/{lib/rango/orm/adapters/sequel/tasks.thor → spec/rango/mixins/chainable_spec.rb} +0 -0
- data/spec/rango/{cli/generator_spec.rb → mixins/hookable_spec.rb} +0 -0
- data/spec/rango/{cli/templater_spec.rb → mixins/http_caching_spec.rb} +0 -0
- data/spec/rango/{generic_views_spec.rb → mixins/render_spec.rb} +0 -0
- data/spec/rango/{helpers/spec/core_ext_spec_spec.rb → orm/adapter_spec.rb} +0 -0
- data/spec/rango/{helpers/spec/fixture/app/controllers/application_spec.rb → orm/adapters/datamapper_spec.rb} +0 -0
- data/spec/rango/{helpers/spec/fixture/app/controllers/bound_check_box_spec.rb → orm/adapters/sequel_spec.rb} +0 -0
- data/spec/rango/orm/{adapters → support}/datamapper/fields_spec.rb +0 -0
- data/spec/rango/orm/{adapters → support}/datamapper/support_spec.rb +0 -0
- data/spec/rango/project_spec.rb +1 -4
- data/spec/rango/rack/request_spec.rb +2 -13
- data/spec/rango/{helpers/spec/fixture/app/controllers/bound_file_field_spec.rb → router/adapters/rack_router_spec.rb} +0 -0
- data/spec/rango/{helpers/spec/fixture/app/controllers/bound_hidden_field_spec.rb → router/adapters/urlmap_spec.rb} +0 -0
- data/spec/rango/{helpers/spec/fixture/app/controllers/bound_option_tag_spec.rb → router/adapters/usher_spec.rb} +0 -0
- data/spec/rango/{helpers/spec/fixture/config/router_spec.rb → router_spec.rb} +0 -0
- data/spec/rango/settings_spec.rb +2 -1
- data/spec/rango_spec.rb +3 -4
- data/stubs/app/content/init.rb.rbt +4 -1
- data/stubs/app/content/models.rb.rbt +9 -1
- data/stubs/app/content/views.rb.rbt +14 -4
- data/stubs/app/metadata.yml +1 -2
- data/stubs/app/setup.rb +13 -0
- data/stubs/bigapp/content/models/%model%.rb.rbt +6 -0
- data/stubs/bigapp/content/views/%controller%.rb.rbt +8 -0
- data/stubs/bigapp/metadata.yml +1 -2
- data/stubs/bigapp/setup.rb +12 -0
- data/stubs/features/metadata.yml +1 -2
- data/stubs/flat/content/flat.ru +21 -0
- data/stubs/flat/content/flat.ru.rbt +3 -2
- data/stubs/flat/metadata.yml +2 -3
- data/stubs/flat/postprocess.rb +12 -0
- data/stubs/flat/setup.rb +13 -0
- data/stubs/project/content/Gemfile.rbt +108 -0
- data/stubs/project/content/Rakefile.rbt +12 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/bound_password_field_spec.rb → stubs/project/content/TODO.txt} +0 -0
- data/stubs/project/content/config.ru.rbt +62 -0
- data/stubs/project/content/init.rb.rbt +49 -0
- data/stubs/project/content/settings.rb +15 -0
- data/stubs/project/content/spec/%name%/init_spec.rb.rbt +7 -0
- data/stubs/project/content/spec/%name%/models_spec.rb.rbt +10 -0
- data/stubs/project/content/spec/%name%/views_spec.rb.rbt +22 -0
- data/stubs/project/content/spec/spec.opts +5 -0
- data/stubs/project/content/spec/spec_helper.rb +27 -0
- data/stubs/project/content/templates/base.html.haml.rbt +9 -22
- data/stubs/project/content/templates/index.html.haml +24 -0
- data/stubs/project/metadata.yml +1 -2
- data/stubs/project/postprocess.rb +18 -4
- data/stubs/project/setup.rb +15 -0
- data/tasks/package.thor +0 -31
- data/tasks/prerelease.thor +34 -0
- data/tasks/release.thor +14 -3
- data/tasks/repair.thor +1 -1
- data/tasks/spec.thor +1 -0
- data/tasks/stats.thor +1 -1
- data/tasks/system.thor +158 -0
- data/vendor/abstract/ChangeLog +3 -0
- data/vendor/abstract/README.txt +57 -0
- data/vendor/abstract/abstract.gemspec +48 -0
- data/vendor/abstract/doc/classes/Kernel.html +134 -0
- data/vendor/abstract/doc/classes/Kernel.src/M000002.html +24 -0
- data/vendor/abstract/doc/classes/Module.html +140 -0
- data/vendor/abstract/doc/classes/Module.src/M000001.html +20 -0
- data/vendor/abstract/doc/created.rid +1 -0
- data/vendor/abstract/doc/files/README_txt.html +173 -0
- data/vendor/abstract/doc/files/lib/abstract_rb.html +137 -0
- data/vendor/abstract/doc/fr_class_index.html +28 -0
- data/vendor/abstract/doc/fr_file_index.html +28 -0
- data/vendor/abstract/doc/fr_method_index.html +28 -0
- data/vendor/abstract/doc/index.html +24 -0
- data/vendor/abstract/doc/rdoc-style.css +208 -0
- data/vendor/abstract/lib/abstract.rb +75 -0
- data/vendor/abstract/setup.rb +1331 -0
- data/vendor/abstract/test/test.rb +91 -0
- data/vendor/cli/CHANGELOG +2 -0
- data/vendor/cli/LICENSE +20 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/bound_radio_button_spec.rb → vendor/cli/README.textile} +0 -0
- data/vendor/cli/Rakefile +79 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/bound_radio_group_spec.rb → vendor/cli/TODO.txt} +0 -0
- data/vendor/cli/cli.gemspec +42 -0
- data/vendor/cli/deps.rip +5 -0
- data/vendor/cli/lib/cli.rb +33 -0
- data/vendor/cli/script/spec +12 -0
- data/vendor/cli/spec/cli_spec.rb +56 -0
- data/vendor/cli/spec/spec.opts +5 -0
- data/vendor/cli/spec/spec_helper.rb +18 -0
- data/vendor/erubis/CHANGES.txt +717 -0
- data/vendor/erubis/MIT-LICENSE +20 -0
- data/vendor/erubis/README.txt +102 -0
- data/vendor/erubis/benchmark/Makefile +6 -0
- data/vendor/erubis/benchmark/bench.rb +314 -0
- data/vendor/erubis/benchmark/bench_context.yaml +141 -0
- data/vendor/erubis/benchmark/templates/_footer.html +4 -0
- data/vendor/erubis/benchmark/templates/_header.html +52 -0
- data/vendor/erubis/benchmark/templates/bench_erb.rhtml +29 -0
- data/vendor/erubis/benchmark/templates/bench_erubis.rhtml +29 -0
- data/vendor/erubis/benchmark/templates/bench_eruby.rhtml +29 -0
- data/vendor/erubis/bin/erubis +11 -0
- data/vendor/erubis/contrib/erubis +11 -0
- data/vendor/erubis/contrib/erubis-run.rb +132 -0
- data/vendor/erubis/contrib/inline-require +153 -0
- data/vendor/erubis/doc-api/classes/ActionView.html +105 -0
- data/vendor/erubis/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +181 -0
- data/vendor/erubis/doc-api/classes/ERB.html +101 -0
- data/vendor/erubis/doc-api/classes/Erubis.html +353 -0
- data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEnhancer.html +175 -0
- data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/ArrayEnhancer.html +174 -0
- data/vendor/erubis/doc-api/classes/Erubis/ArrayEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/Basic.html +112 -0
- data/vendor/erubis/doc-api/classes/Erubis/Basic/Converter.html +327 -0
- data/vendor/erubis/doc-api/classes/Erubis/Basic/Engine.html +130 -0
- data/vendor/erubis/doc-api/classes/Erubis/BiPatternEnhancer.html +215 -0
- data/vendor/erubis/doc-api/classes/Erubis/BiPatternEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/CGenerator.html +386 -0
- data/vendor/erubis/doc-api/classes/Erubis/CommandOptionError.html +113 -0
- data/vendor/erubis/doc-api/classes/Erubis/Context.html +344 -0
- data/vendor/erubis/doc-api/classes/Erubis/Converter.html +283 -0
- data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEnhancer.html +150 -0
- data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/Ec.html +126 -0
- data/vendor/erubis/doc-api/classes/Erubis/Ejava.html +126 -0
- data/vendor/erubis/doc-api/classes/Erubis/Ejavascript.html +126 -0
- data/vendor/erubis/doc-api/classes/Erubis/Engine.html +305 -0
- data/vendor/erubis/doc-api/classes/Erubis/Eperl.html +126 -0
- data/vendor/erubis/doc-api/classes/Erubis/Ephp.html +126 -0
- data/vendor/erubis/doc-api/classes/Erubis/ErboutEnhancer.html +175 -0
- data/vendor/erubis/doc-api/classes/Erubis/ErboutEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/ErubisError.html +117 -0
- data/vendor/erubis/doc-api/classes/Erubis/Eruby.html +132 -0
- data/vendor/erubis/doc-api/classes/Erubis/EscapeEnhancer.html +165 -0
- data/vendor/erubis/doc-api/classes/Erubis/EscapedEc.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/EscapedEjava.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/EscapedEjavascript.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/EscapedEperl.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/EscapedEphp.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/EscapedEruby.html +127 -0
- data/vendor/erubis/doc-api/classes/Erubis/EscapedEscheme.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/Escheme.html +126 -0
- data/vendor/erubis/doc-api/classes/Erubis/Evaluator.html +212 -0
- data/vendor/erubis/doc-api/classes/Erubis/FastEruby.html +131 -0
- data/vendor/erubis/doc-api/classes/Erubis/Generator.html +416 -0
- data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEnhancer.html +267 -0
- data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/Helpers.html +116 -0
- data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +787 -0
- data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper.html +349 -0
- data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +164 -0
- data/vendor/erubis/doc-api/classes/Erubis/InterpolationEnhancer.html +306 -0
- data/vendor/erubis/doc-api/classes/Erubis/InterpolationEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/JavaGenerator.html +359 -0
- data/vendor/erubis/doc-api/classes/Erubis/JavascriptGenerator.html +386 -0
- data/vendor/erubis/doc-api/classes/Erubis/Main.html +340 -0
- data/vendor/erubis/doc-api/classes/Erubis/NoCodeEnhancer.html +249 -0
- data/vendor/erubis/doc-api/classes/Erubis/NoCodeEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/NoTextEnhancer.html +159 -0
- data/vendor/erubis/doc-api/classes/Erubis/NoTextEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/NotSupportedError.html +119 -0
- data/vendor/erubis/doc-api/classes/Erubis/OptimizedEruby.html +163 -0
- data/vendor/erubis/doc-api/classes/Erubis/OptimizedGenerator.html +439 -0
- data/vendor/erubis/doc-api/classes/Erubis/OptimizedXmlEruby.html +163 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI.html +124 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Converter.html +266 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Ec.html +166 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Ejava.html +166 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Ejavascript.html +166 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Engine.html +122 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Eperl.html +166 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Ephp.html +166 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Eruby.html +155 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/Escheme.html +166 -0
- data/vendor/erubis/doc-api/classes/Erubis/PI/TinyEruby.html +293 -0
- data/vendor/erubis/doc-api/classes/Erubis/PercentLineEnhancer.html +179 -0
- data/vendor/erubis/doc-api/classes/Erubis/PercentLineEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/PerlGenerator.html +344 -0
- data/vendor/erubis/doc-api/classes/Erubis/PhpGenerator.html +350 -0
- data/vendor/erubis/doc-api/classes/Erubis/PreprocessingEruby.html +183 -0
- data/vendor/erubis/doc-api/classes/Erubis/PreprocessingHelper.html +212 -0
- data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEnhancer.html +212 -0
- data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/PrintOutEnhancer.html +244 -0
- data/vendor/erubis/doc-api/classes/Erubis/PrintOutEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +121 -0
- data/vendor/erubis/doc-api/classes/Erubis/RubyEvaluator.html +227 -0
- data/vendor/erubis/doc-api/classes/Erubis/RubyGenerator.html +327 -0
- data/vendor/erubis/doc-api/classes/Erubis/SchemeGenerator.html +382 -0
- data/vendor/erubis/doc-api/classes/Erubis/SimplifiedEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/SimplifyEnhancer.html +191 -0
- data/vendor/erubis/doc-api/classes/Erubis/StdoutEnhancer.html +173 -0
- data/vendor/erubis/doc-api/classes/Erubis/StdoutEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +121 -0
- data/vendor/erubis/doc-api/classes/Erubis/StringBufferEnhancer.html +174 -0
- data/vendor/erubis/doc-api/classes/Erubis/StringBufferEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/StringIOEruby.html +120 -0
- data/vendor/erubis/doc-api/classes/Erubis/TinyEruby.html +299 -0
- data/vendor/erubis/doc-api/classes/Erubis/XmlEruby.html +130 -0
- data/vendor/erubis/doc-api/classes/Erubis/XmlHelper.html +255 -0
- data/vendor/erubis/doc-api/created.rid +1 -0
- data/vendor/erubis/doc-api/files/README_txt.html +247 -0
- data/vendor/erubis/doc-api/files/erubis/context_rb.html +107 -0
- data/vendor/erubis/doc-api/files/erubis/converter_rb.html +114 -0
- data/vendor/erubis/doc-api/files/erubis/engine/ec_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/engine/ejava_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/engine/ejavascript_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/engine/enhanced_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/engine/eperl_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/engine/ephp_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/engine/eruby_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/engine/escheme_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/engine/optimized_rb.html +114 -0
- data/vendor/erubis/doc-api/files/erubis/engine_rb.html +117 -0
- data/vendor/erubis/doc-api/files/erubis/enhancer_rb.html +107 -0
- data/vendor/erubis/doc-api/files/erubis/error_rb.html +107 -0
- data/vendor/erubis/doc-api/files/erubis/evaluator_rb.html +115 -0
- data/vendor/erubis/doc-api/files/erubis/generator_rb.html +114 -0
- data/vendor/erubis/doc-api/files/erubis/helper_rb.html +107 -0
- data/vendor/erubis/doc-api/files/erubis/helpers/rails_form_helper_rb.html +107 -0
- data/vendor/erubis/doc-api/files/erubis/helpers/rails_helper_rb.html +116 -0
- data/vendor/erubis/doc-api/files/erubis/local-setting_rb.html +107 -0
- data/vendor/erubis/doc-api/files/erubis/main_rb.html +127 -0
- data/vendor/erubis/doc-api/files/erubis/preprocessing_rb.html +114 -0
- data/vendor/erubis/doc-api/files/erubis/tiny_rb.html +107 -0
- data/vendor/erubis/doc-api/files/erubis_rb.html +118 -0
- data/vendor/erubis/doc-api/fr_class_index.html +122 -0
- data/vendor/erubis/doc-api/fr_file_index.html +51 -0
- data/vendor/erubis/doc-api/fr_method_index.html +248 -0
- data/vendor/erubis/doc-api/index.html +24 -0
- data/vendor/erubis/doc-api/rdoc-style.css +208 -0
- data/vendor/erubis/doc/docstyle.css +188 -0
- data/vendor/erubis/doc/users-guide.html +3285 -0
- data/vendor/erubis/erubis.gemspec +66 -0
- data/vendor/erubis/examples/basic/Makefile +53 -0
- data/vendor/erubis/examples/basic/example.ec +42 -0
- data/vendor/erubis/examples/basic/example.ejava +45 -0
- data/vendor/erubis/examples/basic/example.ejs +16 -0
- data/vendor/erubis/examples/basic/example.eperl +16 -0
- data/vendor/erubis/examples/basic/example.ephp +17 -0
- data/vendor/erubis/examples/basic/example.eruby +15 -0
- data/vendor/erubis/examples/basic/example.escheme +26 -0
- data/vendor/erubis/examples/pi/Makefile +54 -0
- data/vendor/erubis/examples/pi/example.ec +42 -0
- data/vendor/erubis/examples/pi/example.ejava +45 -0
- data/vendor/erubis/examples/pi/example.ejs +16 -0
- data/vendor/erubis/examples/pi/example.eperl +16 -0
- data/vendor/erubis/examples/pi/example.ephp +17 -0
- data/vendor/erubis/examples/pi/example.eruby +15 -0
- data/vendor/erubis/examples/pi/example.escheme +26 -0
- data/vendor/erubis/lib/erubis.rb +73 -0
- data/vendor/erubis/lib/erubis/context.rb +84 -0
- data/vendor/erubis/lib/erubis/converter.rb +358 -0
- data/vendor/erubis/lib/erubis/engine.rb +121 -0
- data/vendor/erubis/lib/erubis/engine/ec.rb +118 -0
- data/vendor/erubis/lib/erubis/engine/ejava.rb +111 -0
- data/vendor/erubis/lib/erubis/engine/ejavascript.rb +120 -0
- data/vendor/erubis/lib/erubis/engine/enhanced.rb +122 -0
- data/vendor/erubis/lib/erubis/engine/eperl.rb +96 -0
- data/vendor/erubis/lib/erubis/engine/ephp.rb +100 -0
- data/vendor/erubis/lib/erubis/engine/eruby.rb +125 -0
- data/vendor/erubis/lib/erubis/engine/escheme.rb +115 -0
- data/vendor/erubis/lib/erubis/engine/optimized.rb +128 -0
- data/vendor/erubis/lib/erubis/enhancer.rb +681 -0
- data/vendor/erubis/lib/erubis/error.rb +24 -0
- data/vendor/erubis/lib/erubis/evaluator.rb +89 -0
- data/vendor/erubis/lib/erubis/generator.rb +86 -0
- data/vendor/erubis/lib/erubis/helper.rb +48 -0
- data/vendor/erubis/lib/erubis/helpers/rails_form_helper.rb +198 -0
- data/vendor/erubis/lib/erubis/helpers/rails_helper.rb +325 -0
- data/vendor/erubis/lib/erubis/local-setting.rb +10 -0
- data/vendor/erubis/lib/erubis/main.rb +491 -0
- data/vendor/erubis/lib/erubis/preprocessing.rb +59 -0
- data/vendor/erubis/lib/erubis/tiny.rb +146 -0
- data/vendor/erubis/setup.rb +1331 -0
- data/vendor/erubis/test/assert-text-equal.rb +45 -0
- data/vendor/erubis/test/assert-text-equal.rbc +0 -0
- data/vendor/erubis/test/data/users-guide/Example.ejava +55 -0
- data/vendor/erubis/test/data/users-guide/array_example.result +9 -0
- data/vendor/erubis/test/data/users-guide/arraybuffer_example.result +9 -0
- data/vendor/erubis/test/data/users-guide/bipattern-example.rhtml +4 -0
- data/vendor/erubis/test/data/users-guide/bipattern_example.result +6 -0
- data/vendor/erubis/test/data/users-guide/context.rb +6 -0
- data/vendor/erubis/test/data/users-guide/context.yaml +8 -0
- data/vendor/erubis/test/data/users-guide/def_method.rb +14 -0
- data/vendor/erubis/test/data/users-guide/def_method.result +3 -0
- data/vendor/erubis/test/data/users-guide/escape_example.result +9 -0
- data/vendor/erubis/test/data/users-guide/example.ec +27 -0
- data/vendor/erubis/test/data/users-guide/example.ejs +20 -0
- data/vendor/erubis/test/data/users-guide/example.eperl +18 -0
- data/vendor/erubis/test/data/users-guide/example.ephp +18 -0
- data/vendor/erubis/test/data/users-guide/example.eruby +6 -0
- data/vendor/erubis/test/data/users-guide/example.escheme +28 -0
- data/vendor/erubis/test/data/users-guide/example1.eruby +6 -0
- data/vendor/erubis/test/data/users-guide/example1.rb +17 -0
- data/vendor/erubis/test/data/users-guide/example1.result +16 -0
- data/vendor/erubis/test/data/users-guide/example10.rb +4 -0
- data/vendor/erubis/test/data/users-guide/example10.result +17 -0
- data/vendor/erubis/test/data/users-guide/example10.xhtml +14 -0
- data/vendor/erubis/test/data/users-guide/example10_x.result +17 -0
- data/vendor/erubis/test/data/users-guide/example11.php +20 -0
- data/vendor/erubis/test/data/users-guide/example11.result +23 -0
- data/vendor/erubis/test/data/users-guide/example11.rhtml +21 -0
- data/vendor/erubis/test/data/users-guide/example11_C.result +10 -0
- data/vendor/erubis/test/data/users-guide/example11_N.result +16 -0
- data/vendor/erubis/test/data/users-guide/example11_U.result +16 -0
- data/vendor/erubis/test/data/users-guide/example11_php.result +15 -0
- data/vendor/erubis/test/data/users-guide/example1_x.result +9 -0
- data/vendor/erubis/test/data/users-guide/example2.eruby +7 -0
- data/vendor/erubis/test/data/users-guide/example2.rb +10 -0
- data/vendor/erubis/test/data/users-guide/example2.result +27 -0
- data/vendor/erubis/test/data/users-guide/example2_trim.result +10 -0
- data/vendor/erubis/test/data/users-guide/example2_x.result +10 -0
- data/vendor/erubis/test/data/users-guide/example3.eruby +6 -0
- data/vendor/erubis/test/data/users-guide/example3.rb +10 -0
- data/vendor/erubis/test/data/users-guide/example31.result +22 -0
- data/vendor/erubis/test/data/users-guide/example32.result +4 -0
- data/vendor/erubis/test/data/users-guide/example3_e.result +8 -0
- data/vendor/erubis/test/data/users-guide/example4.eruby +3 -0
- data/vendor/erubis/test/data/users-guide/example4.rb +11 -0
- data/vendor/erubis/test/data/users-guide/example4.result +10 -0
- data/vendor/erubis/test/data/users-guide/example4_x.result +5 -0
- data/vendor/erubis/test/data/users-guide/example5.eruby +6 -0
- data/vendor/erubis/test/data/users-guide/example5.rb +16 -0
- data/vendor/erubis/test/data/users-guide/example5.result +7 -0
- data/vendor/erubis/test/data/users-guide/example6.rb +12 -0
- data/vendor/erubis/test/data/users-guide/example6.result +7 -0
- data/vendor/erubis/test/data/users-guide/example7.eruby +8 -0
- data/vendor/erubis/test/data/users-guide/example71.result +13 -0
- data/vendor/erubis/test/data/users-guide/example72.result +13 -0
- data/vendor/erubis/test/data/users-guide/example8.eruby +6 -0
- data/vendor/erubis/test/data/users-guide/example8_ruby.result +7 -0
- data/vendor/erubis/test/data/users-guide/example8_yaml.result +7 -0
- data/vendor/erubis/test/data/users-guide/example9.eruby +3 -0
- data/vendor/erubis/test/data/users-guide/example9.rb +8 -0
- data/vendor/erubis/test/data/users-guide/example9.result +9 -0
- data/vendor/erubis/test/data/users-guide/example91.result +5 -0
- data/vendor/erubis/test/data/users-guide/example92.result +4 -0
- data/vendor/erubis/test/data/users-guide/example_c.result +29 -0
- data/vendor/erubis/test/data/users-guide/example_java.result +56 -0
- data/vendor/erubis/test/data/users-guide/example_js.result +22 -0
- data/vendor/erubis/test/data/users-guide/example_perl.result +20 -0
- data/vendor/erubis/test/data/users-guide/example_php.result +19 -0
- data/vendor/erubis/test/data/users-guide/example_scheme.result +30 -0
- data/vendor/erubis/test/data/users-guide/example_scheme_display.result +29 -0
- data/vendor/erubis/test/data/users-guide/fasteruby.rb +11 -0
- data/vendor/erubis/test/data/users-guide/fasteruby.result +38 -0
- data/vendor/erubis/test/data/users-guide/fasteruby.rhtml +15 -0
- data/vendor/erubis/test/data/users-guide/headerfooter-example.eruby +9 -0
- data/vendor/erubis/test/data/users-guide/headerfooter-example2.rb +8 -0
- data/vendor/erubis/test/data/users-guide/headerfooter-example2.rhtml +10 -0
- data/vendor/erubis/test/data/users-guide/headerfooter_example.result +11 -0
- data/vendor/erubis/test/data/users-guide/headerfooter_example2.result +13 -0
- data/vendor/erubis/test/data/users-guide/interpolation_example.result +9 -0
- data/vendor/erubis/test/data/users-guide/main_program1.rb +8 -0
- data/vendor/erubis/test/data/users-guide/main_program1.result +6 -0
- data/vendor/erubis/test/data/users-guide/main_program2.rb +8 -0
- data/vendor/erubis/test/data/users-guide/main_program2.result +6 -0
- data/vendor/erubis/test/data/users-guide/nocode-example.eruby +14 -0
- data/vendor/erubis/test/data/users-guide/nocode-php.result +20 -0
- data/vendor/erubis/test/data/users-guide/nocode_example.result +15 -0
- data/vendor/erubis/test/data/users-guide/normal-eruby-test.eruby +9 -0
- data/vendor/erubis/test/data/users-guide/normal_eruby_test.result +11 -0
- data/vendor/erubis/test/data/users-guide/notext-example.eruby +14 -0
- data/vendor/erubis/test/data/users-guide/notext-example.php +19 -0
- data/vendor/erubis/test/data/users-guide/notext-php.result +20 -0
- data/vendor/erubis/test/data/users-guide/notext_example.result +16 -0
- data/vendor/erubis/test/data/users-guide/percentline-example.rhtml +4 -0
- data/vendor/erubis/test/data/users-guide/percentline_example.result +7 -0
- data/vendor/erubis/test/data/users-guide/printenable_example.result +4 -0
- data/vendor/erubis/test/data/users-guide/printenabled-example.eruby +3 -0
- data/vendor/erubis/test/data/users-guide/printenabled-example.rb +8 -0
- data/vendor/erubis/test/data/users-guide/printstatement_example.result +8 -0
- data/vendor/erubis/test/data/users-guide/simplify_example.result +9 -0
- data/vendor/erubis/test/data/users-guide/stdout_exmple.result +9 -0
- data/vendor/erubis/test/data/users-guide/stringbuffer_example.result +9 -0
- data/vendor/erubis/test/data/users-guide/tail_260.result +4 -0
- data/vendor/erubis/test/data/users-guide/tailnewline.rhtml +3 -0
- data/vendor/erubis/test/data/users-guide/template1.rhtml +4 -0
- data/vendor/erubis/test/data/users-guide/template2.rhtml +4 -0
- data/vendor/erubis/test/hoge.rb +5 -0
- data/vendor/erubis/test/test-engines.rb +370 -0
- data/vendor/erubis/test/test-engines.rbc +0 -0
- data/vendor/erubis/test/test-enhancers.rb +571 -0
- data/vendor/erubis/test/test-erubis.rb +884 -0
- data/vendor/erubis/test/test-erubis.rbc +0 -0
- data/vendor/erubis/test/test-main.rb +674 -0
- data/vendor/erubis/test/test-users-guide.rb +58 -0
- data/vendor/erubis/test/test-users-guide.rbc +0 -0
- data/vendor/erubis/test/test.rb +30 -0
- data/vendor/erubis/test/test.rbc +0 -0
- data/vendor/erubis/test/testutil.rb +101 -0
- data/vendor/erubis/test/testutil.rbc +0 -0
- data/vendor/extlib/History.txt +77 -0
- data/vendor/extlib/LICENSE +47 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/bound_select_spec.rb → vendor/extlib/README} +0 -0
- data/vendor/extlib/Rakefile +133 -0
- data/vendor/extlib/benchmarks/camel_case.rb +45 -0
- data/vendor/extlib/benchmarks/to_const_path.rb +65 -0
- data/vendor/extlib/benchmarks/to_const_string.rb +91 -0
- data/vendor/extlib/lib/extlib.rb +50 -0
- data/vendor/extlib/lib/extlib/array.rb +36 -0
- data/vendor/extlib/lib/extlib/assertions.rb +8 -0
- data/vendor/extlib/lib/extlib/blank.rb +89 -0
- data/vendor/extlib/lib/extlib/boolean.rb +11 -0
- data/vendor/extlib/lib/extlib/byte_array.rb +6 -0
- data/vendor/extlib/lib/extlib/class.rb +177 -0
- data/vendor/extlib/lib/extlib/datetime.rb +29 -0
- data/vendor/extlib/lib/extlib/dictionary.rb +433 -0
- data/vendor/extlib/lib/extlib/hash.rb +442 -0
- data/vendor/extlib/lib/extlib/hook.rb +401 -0
- data/vendor/extlib/lib/extlib/inflection.rb +440 -0
- data/vendor/extlib/lib/extlib/lazy_array.rb +451 -0
- data/vendor/extlib/lib/extlib/lazy_module.rb +18 -0
- data/vendor/extlib/lib/extlib/logger.rb +198 -0
- data/vendor/extlib/lib/extlib/mash.rb +155 -0
- data/vendor/extlib/lib/extlib/module.rb +47 -0
- data/vendor/extlib/lib/extlib/nil.rb +5 -0
- data/vendor/extlib/lib/extlib/numeric.rb +5 -0
- data/vendor/extlib/lib/extlib/object.rb +175 -0
- data/vendor/extlib/lib/extlib/object_space.rb +13 -0
- data/vendor/extlib/lib/extlib/pathname.rb +20 -0
- data/vendor/extlib/lib/extlib/pooling.rb +235 -0
- data/vendor/extlib/lib/extlib/rubygems.rb +38 -0
- data/vendor/extlib/lib/extlib/simple_set.rb +66 -0
- data/vendor/extlib/lib/extlib/string.rb +176 -0
- data/vendor/extlib/lib/extlib/struct.rb +17 -0
- data/vendor/extlib/lib/extlib/symbol.rb +21 -0
- data/vendor/extlib/lib/extlib/tasks/release.rb +15 -0
- data/vendor/extlib/lib/extlib/time.rb +43 -0
- data/vendor/extlib/lib/extlib/version.rb +3 -0
- data/vendor/extlib/lib/extlib/virtual_file.rb +10 -0
- data/vendor/extlib/spec/array_spec.rb +39 -0
- data/vendor/extlib/spec/blank_spec.rb +85 -0
- data/vendor/extlib/spec/byte_array_spec.rb +7 -0
- data/vendor/extlib/spec/class_spec.rb +157 -0
- data/vendor/extlib/spec/datetime_spec.rb +22 -0
- data/vendor/extlib/spec/hash_spec.rb +537 -0
- data/vendor/extlib/spec/hook_spec.rb +1234 -0
- data/vendor/extlib/spec/inflection/plural_spec.rb +564 -0
- data/vendor/extlib/spec/inflection/singular_spec.rb +497 -0
- data/vendor/extlib/spec/inflection_extras_spec.rb +110 -0
- data/vendor/extlib/spec/lazy_array_spec.rb +1957 -0
- data/vendor/extlib/spec/lazy_module_spec.rb +38 -0
- data/vendor/extlib/spec/mash_spec.rb +311 -0
- data/vendor/extlib/spec/module_spec.rb +70 -0
- data/vendor/extlib/spec/object_space_spec.rb +9 -0
- data/vendor/extlib/spec/object_spec.rb +114 -0
- data/vendor/extlib/spec/pooling_spec.rb +511 -0
- data/vendor/extlib/spec/simple_set_spec.rb +57 -0
- data/vendor/extlib/spec/spec.opts +3 -0
- data/vendor/extlib/spec/spec_helper.rb +10 -0
- data/vendor/extlib/spec/string_spec.rb +221 -0
- data/vendor/extlib/spec/struct_spec.rb +12 -0
- data/vendor/extlib/spec/symbol_spec.rb +8 -0
- data/vendor/extlib/spec/time_spec.rb +29 -0
- data/vendor/extlib/spec/try_call_spec.rb +73 -0
- data/vendor/extlib/spec/try_dup_spec.rb +45 -0
- data/vendor/extlib/spec/virtual_file_spec.rb +21 -0
- data/vendor/media-path/CHANGELOG +3 -0
- data/vendor/media-path/LICENSE +20 -0
- data/vendor/media-path/README.textile +40 -0
- data/vendor/media-path/Rakefile +79 -0
- data/vendor/media-path/TODO.txt +6 -0
- data/vendor/media-path/deps.rip +5 -0
- data/vendor/media-path/lib/media-path.rb +269 -0
- data/vendor/media-path/media-path.gemspec +38 -0
- data/vendor/media-path/script/spec +14 -0
- data/vendor/media-path/spec/media-path_spec.rb +158 -0
- data/vendor/media-path/spec/spec.opts +5 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/bound_text_area_spec.rb → vendor/media-path/spec/stubs/blog/public/js/moo.js} +0 -0
- data/vendor/rack/COPYING +18 -0
- data/vendor/rack/KNOWN-ISSUES +18 -0
- data/vendor/rack/README +364 -0
- data/vendor/rack/Rakefile +163 -0
- data/vendor/rack/bin/rackup +2 -0
- data/vendor/rack/contrib/rack_logo.svg +111 -0
- data/vendor/rack/example/lobster.ru +4 -0
- data/vendor/rack/example/protectedlobster.rb +14 -0
- data/vendor/rack/example/protectedlobster.ru +8 -0
- data/vendor/rack/lib/rack.rb +86 -0
- data/vendor/rack/lib/rack/adapter/camping.rb +22 -0
- data/vendor/rack/lib/rack/auth/abstract/handler.rb +37 -0
- data/vendor/rack/lib/rack/auth/abstract/request.rb +37 -0
- data/vendor/rack/lib/rack/auth/basic.rb +58 -0
- data/vendor/rack/lib/rack/auth/digest/md5.rb +124 -0
- data/vendor/rack/lib/rack/auth/digest/nonce.rb +51 -0
- data/vendor/rack/lib/rack/auth/digest/params.rb +55 -0
- data/vendor/rack/lib/rack/auth/digest/request.rb +40 -0
- data/vendor/rack/lib/rack/builder.rb +78 -0
- data/vendor/rack/lib/rack/cascade.rb +41 -0
- data/vendor/rack/lib/rack/chunked.rb +49 -0
- data/vendor/rack/lib/rack/commonlogger.rb +52 -0
- data/vendor/rack/lib/rack/conditionalget.rb +47 -0
- data/vendor/rack/lib/rack/content_length.rb +29 -0
- data/vendor/rack/lib/rack/content_type.rb +23 -0
- data/vendor/rack/lib/rack/deflater.rb +96 -0
- data/vendor/rack/lib/rack/directory.rb +153 -0
- data/vendor/rack/lib/rack/file.rb +88 -0
- data/vendor/rack/lib/rack/handler.rb +88 -0
- data/vendor/rack/lib/rack/handler/cgi.rb +61 -0
- data/vendor/rack/lib/rack/handler/evented_mongrel.rb +8 -0
- data/vendor/rack/lib/rack/handler/fastcgi.rb +90 -0
- data/vendor/rack/lib/rack/handler/lsws.rb +63 -0
- data/vendor/rack/lib/rack/handler/mongrel.rb +91 -0
- data/vendor/rack/lib/rack/handler/scgi.rb +62 -0
- data/vendor/rack/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
- data/vendor/rack/lib/rack/handler/thin.rb +18 -0
- data/vendor/rack/lib/rack/handler/webrick.rb +71 -0
- data/vendor/rack/lib/rack/head.rb +19 -0
- data/vendor/rack/lib/rack/lint.rb +546 -0
- data/vendor/rack/lib/rack/lobster.rb +65 -0
- data/vendor/rack/lib/rack/lock.rb +16 -0
- data/vendor/rack/lib/rack/methodoverride.rb +27 -0
- data/vendor/rack/lib/rack/mime.rb +205 -0
- data/vendor/rack/lib/rack/mock.rb +189 -0
- data/vendor/rack/lib/rack/recursive.rb +57 -0
- data/vendor/rack/lib/rack/reloader.rb +109 -0
- data/vendor/rack/lib/rack/request.rb +248 -0
- data/vendor/rack/lib/rack/response.rb +149 -0
- data/vendor/rack/lib/rack/rewindable_input.rb +100 -0
- data/vendor/rack/lib/rack/server.rb +189 -0
- data/vendor/rack/lib/rack/session/abstract/id.rb +140 -0
- data/vendor/rack/lib/rack/session/cookie.rb +90 -0
- data/vendor/rack/lib/rack/session/memcache.rb +109 -0
- data/vendor/rack/lib/rack/session/pool.rb +100 -0
- data/vendor/rack/lib/rack/showexceptions.rb +349 -0
- data/vendor/rack/lib/rack/showstatus.rb +106 -0
- data/vendor/rack/lib/rack/static.rb +38 -0
- data/vendor/rack/lib/rack/urlmap.rb +55 -0
- data/vendor/rack/lib/rack/utils.rb +590 -0
- data/vendor/rack/test/cgi/lighttpd.conf +20 -0
- data/vendor/rack/test/cgi/test +9 -0
- data/vendor/rack/test/cgi/test.fcgi +8 -0
- data/vendor/rack/test/cgi/test.ru +6 -0
- data/vendor/rack/test/multipart/binary +0 -0
- data/vendor/rack/test/multipart/empty +10 -0
- data/vendor/rack/test/multipart/file1.txt +1 -0
- data/vendor/rack/test/multipart/ie +6 -0
- data/vendor/rack/test/multipart/nested +10 -0
- data/vendor/rack/test/multipart/none +9 -0
- data/vendor/rack/test/multipart/semicolon +6 -0
- data/vendor/rack/test/multipart/text +10 -0
- data/vendor/rack/test/rackup/config.ru +31 -0
- data/vendor/rack/test/spec_rack_auth_basic.rb +73 -0
- data/vendor/rack/test/spec_rack_auth_digest.rb +226 -0
- data/vendor/rack/test/spec_rack_builder.rb +84 -0
- data/vendor/rack/test/spec_rack_camping.rb +51 -0
- data/vendor/rack/test/spec_rack_cascade.rb +48 -0
- data/vendor/rack/test/spec_rack_cgi.rb +89 -0
- data/vendor/rack/test/spec_rack_chunked.rb +62 -0
- data/vendor/rack/test/spec_rack_commonlogger.rb +61 -0
- data/vendor/rack/test/spec_rack_conditionalget.rb +41 -0
- data/vendor/rack/test/spec_rack_content_length.rb +43 -0
- data/vendor/rack/test/spec_rack_content_type.rb +30 -0
- data/vendor/rack/test/spec_rack_deflater.rb +127 -0
- data/vendor/rack/test/spec_rack_directory.rb +61 -0
- data/vendor/rack/test/spec_rack_fastcgi.rb +89 -0
- data/vendor/rack/test/spec_rack_file.rb +75 -0
- data/vendor/rack/test/spec_rack_handler.rb +43 -0
- data/vendor/rack/test/spec_rack_head.rb +30 -0
- data/vendor/rack/test/spec_rack_lint.rb +523 -0
- data/vendor/rack/test/spec_rack_lobster.rb +45 -0
- data/vendor/rack/test/spec_rack_lock.rb +38 -0
- data/vendor/rack/test/spec_rack_methodoverride.rb +60 -0
- data/vendor/rack/test/spec_rack_mock.rb +243 -0
- data/vendor/rack/test/spec_rack_mongrel.rb +189 -0
- data/vendor/rack/test/spec_rack_recursive.rb +77 -0
- data/vendor/rack/test/spec_rack_request.rb +510 -0
- data/vendor/rack/test/spec_rack_response.rb +218 -0
- data/vendor/rack/test/spec_rack_rewindable_input.rb +118 -0
- data/vendor/rack/test/spec_rack_session_cookie.rb +82 -0
- data/vendor/rack/test/spec_rack_session_memcache.rb +250 -0
- data/vendor/rack/test/spec_rack_session_pool.rb +172 -0
- data/vendor/rack/test/spec_rack_showexceptions.rb +21 -0
- data/vendor/rack/test/spec_rack_showstatus.rb +72 -0
- data/vendor/rack/test/spec_rack_static.rb +37 -0
- data/vendor/rack/test/spec_rack_thin.rb +91 -0
- data/vendor/rack/test/spec_rack_urlmap.rb +185 -0
- data/vendor/rack/test/spec_rack_utils.rb +488 -0
- data/vendor/rack/test/spec_rack_webrick.rb +130 -0
- data/vendor/rack/test/spec_rackup.rb +154 -0
- data/vendor/rack/test/testrequest.rb +72 -0
- data/vendor/rack/test/unregistered_handler/rack/handler/unregistered.rb +7 -0
- data/vendor/rack/test/unregistered_handler/rack/handler/unregistered_long_one.rb +7 -0
- data/vendor/rspec/History.rdoc +1510 -0
- data/vendor/rspec/License.txt +22 -0
- data/vendor/rspec/Manifest.txt +383 -0
- data/vendor/rspec/README.rdoc +55 -0
- data/vendor/rspec/Rakefile +145 -0
- data/vendor/rspec/Ruby1.9.rdoc +31 -0
- data/vendor/rspec/TODO.txt +17 -0
- data/vendor/rspec/Upgrade.rdoc +199 -0
- data/vendor/rspec/bin/autospec +4 -0
- data/vendor/rspec/bin/spec +5 -0
- data/vendor/rspec/cucumber.yml +5 -0
- data/vendor/rspec/examples/failing/README.txt +11 -0
- data/vendor/rspec/examples/failing/diffing_spec.rb +36 -0
- data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +17 -0
- data/vendor/rspec/examples/failing/failure_in_after.rb +10 -0
- data/vendor/rspec/examples/failing/failure_in_before.rb +10 -0
- data/vendor/rspec/examples/failing/mocking_example.rb +38 -0
- data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +26 -0
- data/vendor/rspec/examples/failing/mocking_with_mocha.rb +25 -0
- data/vendor/rspec/examples/failing/mocking_with_rr.rb +27 -0
- data/vendor/rspec/examples/failing/partial_mock_example.rb +18 -0
- data/vendor/rspec/examples/failing/pending_example.rb +7 -0
- data/vendor/rspec/examples/failing/predicate_example.rb +32 -0
- data/vendor/rspec/examples/failing/raising_example.rb +47 -0
- data/vendor/rspec/examples/failing/syntax_error_example.rb +7 -0
- data/vendor/rspec/examples/failing/team_spec.rb +41 -0
- data/vendor/rspec/examples/failing/timeout_behaviour.rb +5 -0
- data/vendor/rspec/examples/passing/custom_formatter.rb +11 -0
- data/vendor/rspec/examples/passing/custom_matchers.rb +54 -0
- data/vendor/rspec/examples/passing/dynamic_spec.rb +7 -0
- data/vendor/rspec/examples/passing/file_accessor.rb +18 -0
- data/vendor/rspec/examples/passing/file_accessor_spec.rb +37 -0
- data/vendor/rspec/examples/passing/filtered_formatter.rb +17 -0
- data/vendor/rspec/examples/passing/filtered_formatter_example.rb +31 -0
- data/vendor/rspec/examples/passing/greeter_spec.rb +30 -0
- data/vendor/rspec/examples/passing/helper_method_example.rb +12 -0
- data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +16 -0
- data/vendor/rspec/examples/passing/io_processor.rb +8 -0
- data/vendor/rspec/examples/passing/io_processor_spec.rb +20 -0
- data/vendor/rspec/examples/passing/mocking_example.rb +25 -0
- data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +26 -0
- data/vendor/rspec/examples/passing/nested_classes_example.rb +35 -0
- data/vendor/rspec/examples/passing/options_example.rb +29 -0
- data/vendor/rspec/examples/passing/options_formatter.rb +20 -0
- data/vendor/rspec/examples/passing/partial_mock_example.rb +27 -0
- data/vendor/rspec/examples/passing/pending_example.rb +18 -0
- data/vendor/rspec/examples/passing/predicate_example.rb +25 -0
- data/vendor/rspec/examples/passing/shared_example_group_example.rb +79 -0
- data/vendor/rspec/examples/passing/shared_stack_examples.rb +36 -0
- data/vendor/rspec/examples/passing/simple_matcher_example.rb +29 -0
- data/vendor/rspec/examples/passing/stack.rb +36 -0
- data/vendor/rspec/examples/passing/stack_spec.rb +63 -0
- data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
- data/vendor/rspec/examples/passing/stubbing_example.rb +67 -0
- data/vendor/rspec/examples/passing/yielding_example.rb +31 -0
- data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
- data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +39 -0
- data/vendor/rspec/features-pending/heckle/heckle.feature +56 -0
- data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
- data/vendor/rspec/features/command_line/line_number_option.feature +56 -0
- data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
- data/vendor/rspec/features/example_groups/define_example_attribute.feature +41 -0
- data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +29 -0
- data/vendor/rspec/features/example_groups/implicit_docstrings.feature +59 -0
- data/vendor/rspec/features/example_groups/nested_groups.feature +32 -0
- data/vendor/rspec/features/expectations/customized_message.feature +54 -0
- data/vendor/rspec/features/expectations/expect_change.feature +65 -0
- data/vendor/rspec/features/expectations/expect_error.feature +44 -0
- data/vendor/rspec/features/extensions/custom_example_group.feature +19 -0
- data/vendor/rspec/features/formatters/custom_formatter.feature +30 -0
- data/vendor/rspec/features/interop/examples_and_tests_together.feature +84 -0
- data/vendor/rspec/features/interop/rspec_output.feature +25 -0
- data/vendor/rspec/features/interop/test_but_not_test_unit.feature +26 -0
- data/vendor/rspec/features/interop/test_case_with_should_methods.feature +46 -0
- data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +20 -0
- data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +20 -0
- data/vendor/rspec/features/matchers/define_diffable_matcher.feature +26 -0
- data/vendor/rspec/features/matchers/define_matcher.feature +179 -0
- data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +38 -0
- data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
- data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +29 -0
- data/vendor/rspec/features/matchers/match_unless_raises.feature +60 -0
- data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
- data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +27 -0
- data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +27 -0
- data/vendor/rspec/features/mock_framework_integration/use_rr.feature +27 -0
- data/vendor/rspec/features/mocks/block_local_expectations.feature +62 -0
- data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +22 -0
- data/vendor/rspec/features/mocks/stub_implementation.feature +26 -0
- data/vendor/rspec/features/pending/pending_examples.feature +81 -0
- data/vendor/rspec/features/runner/specify_line_number.feature +32 -0
- data/vendor/rspec/features/spec_helper/spec_helper.feature +25 -0
- data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +43 -0
- data/vendor/rspec/features/subject/explicit_subject.feature +31 -0
- data/vendor/rspec/features/subject/implicit_subject.feature +43 -0
- data/vendor/rspec/features/support/env.rb +82 -0
- data/vendor/rspec/features/support/matchers/smart_match.rb +12 -0
- data/vendor/rspec/geminstaller.yml +28 -0
- data/vendor/rspec/init.rb +9 -0
- data/vendor/rspec/lib/autotest/discover.rb +3 -0
- data/vendor/rspec/lib/autotest/rspec.rb +54 -0
- data/vendor/rspec/lib/spec.rb +8 -0
- data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
- data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
- data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
- data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
- data/vendor/rspec/lib/spec/autorun.rb +3 -0
- data/vendor/rspec/lib/spec/deprecation.rb +40 -0
- data/vendor/rspec/lib/spec/dsl.rb +1 -0
- data/vendor/rspec/lib/spec/dsl/main.rb +92 -0
- data/vendor/rspec/lib/spec/example.rb +164 -0
- data/vendor/rspec/lib/spec/example/args_and_options.rb +27 -0
- data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
- data/vendor/rspec/lib/spec/example/errors.rb +25 -0
- data/vendor/rspec/lib/spec/example/example_group.rb +10 -0
- data/vendor/rspec/lib/spec/example/example_group_factory.rb +82 -0
- data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +53 -0
- data/vendor/rspec/lib/spec/example/example_group_methods.rb +282 -0
- data/vendor/rspec/lib/spec/example/example_group_proxy.rb +61 -0
- data/vendor/rspec/lib/spec/example/example_matcher.rb +43 -0
- data/vendor/rspec/lib/spec/example/example_methods.rb +152 -0
- data/vendor/rspec/lib/spec/example/example_proxy.rb +41 -0
- data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +43 -0
- data/vendor/rspec/lib/spec/example/pending.rb +18 -0
- data/vendor/rspec/lib/spec/example/predicate_matchers.rb +46 -0
- data/vendor/rspec/lib/spec/example/shared_example_group.rb +59 -0
- data/vendor/rspec/lib/spec/example/subject.rb +108 -0
- data/vendor/rspec/lib/spec/expectations.rb +35 -0
- data/vendor/rspec/lib/spec/expectations/errors.rb +12 -0
- data/vendor/rspec/lib/spec/expectations/extensions.rb +1 -0
- data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +52 -0
- data/vendor/rspec/lib/spec/expectations/fail_with.rb +45 -0
- data/vendor/rspec/lib/spec/expectations/handler.rb +50 -0
- data/vendor/rspec/lib/spec/extensions/instance_exec.rb +31 -0
- data/vendor/rspec/lib/spec/interop/test.rb +44 -0
- data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
- data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +56 -0
- data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
- data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
- data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
- data/vendor/rspec/lib/spec/matchers.rb +195 -0
- data/vendor/rspec/lib/spec/matchers/be.rb +211 -0
- data/vendor/rspec/lib/spec/matchers/be_close.rb +32 -0
- data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +26 -0
- data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +26 -0
- data/vendor/rspec/lib/spec/matchers/change.rb +151 -0
- data/vendor/rspec/lib/spec/matchers/compatibility.rb +14 -0
- data/vendor/rspec/lib/spec/matchers/dsl.rb +20 -0
- data/vendor/rspec/lib/spec/matchers/eql.rb +42 -0
- data/vendor/rspec/lib/spec/matchers/equal.rb +53 -0
- data/vendor/rspec/lib/spec/matchers/errors.rb +5 -0
- data/vendor/rspec/lib/spec/matchers/exist.rb +16 -0
- data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +36 -0
- data/vendor/rspec/lib/spec/matchers/has.rb +35 -0
- data/vendor/rspec/lib/spec/matchers/have.rb +152 -0
- data/vendor/rspec/lib/spec/matchers/include.rb +44 -0
- data/vendor/rspec/lib/spec/matchers/match.rb +21 -0
- data/vendor/rspec/lib/spec/matchers/match_array.rb +71 -0
- data/vendor/rspec/lib/spec/matchers/matcher.rb +102 -0
- data/vendor/rspec/lib/spec/matchers/method_missing.rb +9 -0
- data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +78 -0
- data/vendor/rspec/lib/spec/matchers/pretty.rb +37 -0
- data/vendor/rspec/lib/spec/matchers/raise_error.rb +129 -0
- data/vendor/rspec/lib/spec/matchers/respond_to.rb +71 -0
- data/vendor/rspec/lib/spec/matchers/satisfy.rb +47 -0
- data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +133 -0
- data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +104 -0
- data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
- data/vendor/rspec/lib/spec/mocks.rb +200 -0
- data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +51 -0
- data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +237 -0
- data/vendor/rspec/lib/spec/mocks/error_generator.rb +92 -0
- data/vendor/rspec/lib/spec/mocks/errors.rb +10 -0
- data/vendor/rspec/lib/spec/mocks/example_methods.rb +69 -0
- data/vendor/rspec/lib/spec/mocks/extensions.rb +1 -0
- data/vendor/rspec/lib/spec/mocks/extensions/object.rb +3 -0
- data/vendor/rspec/lib/spec/mocks/framework.rb +15 -0
- data/vendor/rspec/lib/spec/mocks/message_expectation.rb +343 -0
- data/vendor/rspec/lib/spec/mocks/methods.rb +89 -0
- data/vendor/rspec/lib/spec/mocks/mock.rb +71 -0
- data/vendor/rspec/lib/spec/mocks/order_group.rb +29 -0
- data/vendor/rspec/lib/spec/mocks/proxy.rb +245 -0
- data/vendor/rspec/lib/spec/mocks/space.rb +28 -0
- data/vendor/rspec/lib/spec/rake/spectask.rb +230 -0
- data/vendor/rspec/lib/spec/rake/verify_rcov.rb +52 -0
- data/vendor/rspec/lib/spec/ruby.rb +9 -0
- data/vendor/rspec/lib/spec/runner.rb +66 -0
- data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +77 -0
- data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +14 -0
- data/vendor/rspec/lib/spec/runner/command_line.rb +15 -0
- data/vendor/rspec/lib/spec/runner/configuration.rb +194 -0
- data/vendor/rspec/lib/spec/runner/differs/default.rb +93 -0
- data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
- data/vendor/rspec/lib/spec/runner/drb_command_line.rb +26 -0
- data/vendor/rspec/lib/spec/runner/example_group_runner.rb +58 -0
- data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +9 -0
- data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +139 -0
- data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
- data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
- data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
- data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +338 -0
- data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
- data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
- data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +47 -0
- data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
- data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +10 -0
- data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
- data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
- data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
- data/vendor/rspec/lib/spec/runner/heckle_runner.rb +72 -0
- data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
- data/vendor/rspec/lib/spec/runner/line_number_query.rb +78 -0
- data/vendor/rspec/lib/spec/runner/option_parser.rb +223 -0
- data/vendor/rspec/lib/spec/runner/options.rb +400 -0
- data/vendor/rspec/lib/spec/runner/reporter.rb +171 -0
- data/vendor/rspec/lib/spec/stubs/cucumber.rb +5 -0
- data/vendor/rspec/lib/spec/test/unit.rb +10 -0
- data/vendor/rspec/lib/spec/version.rb +14 -0
- data/vendor/rspec/resources/helpers/cmdline.rb +8 -0
- data/vendor/rspec/resources/rake/examples.rake +7 -0
- data/vendor/rspec/resources/rake/examples_with_rcov.rake +9 -0
- data/vendor/rspec/resources/rake/failing_examples_with_html.rake +9 -0
- data/vendor/rspec/resources/rake/verify_rcov.rake +7 -0
- data/vendor/rspec/spec/README.jruby +15 -0
- data/vendor/rspec/spec/autotest/autotest_helper.rb +8 -0
- data/vendor/rspec/spec/autotest/autotest_matchers.rb +38 -0
- data/vendor/rspec/spec/autotest/discover_spec.rb +8 -0
- data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +31 -0
- data/vendor/rspec/spec/autotest/rspec_spec.rb +126 -0
- data/vendor/rspec/spec/ruby_forker.rb +13 -0
- data/vendor/rspec/spec/spec.opts +6 -0
- data/vendor/rspec/spec/spec/dsl/main_spec.rb +95 -0
- data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +51 -0
- data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +180 -0
- data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +759 -0
- data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +107 -0
- data/vendor/rspec/spec/spec/example/example_group_spec.rb +643 -0
- data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +86 -0
- data/vendor/rspec/spec/spec/example/example_methods_spec.rb +162 -0
- data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +57 -0
- data/vendor/rspec/spec/spec/example/helper_method_spec.rb +24 -0
- data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
- data/vendor/rspec/spec/spec/example/pending_module_spec.rb +58 -0
- data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +41 -0
- data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +257 -0
- data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
- data/vendor/rspec/spec/spec/example/subject_spec.rb +103 -0
- data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +194 -0
- data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
- data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +96 -0
- data/vendor/rspec/spec/spec/expectations/handler_spec.rb +206 -0
- data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
- data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +48 -0
- data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
- data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
- data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
- data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +50 -0
- data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +36 -0
- data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +33 -0
- data/vendor/rspec/spec/spec/matchers/be_spec.rb +419 -0
- data/vendor/rspec/spec/spec/matchers/change_spec.rb +349 -0
- data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +28 -0
- data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +160 -0
- data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +34 -0
- data/vendor/rspec/spec/spec/matchers/eql_spec.rb +33 -0
- data/vendor/rspec/spec/spec/matchers/equal_spec.rb +57 -0
- data/vendor/rspec/spec/spec/matchers/exist_spec.rb +65 -0
- data/vendor/rspec/spec/spec/matchers/has_spec.rb +190 -0
- data/vendor/rspec/spec/spec/matchers/have_spec.rb +396 -0
- data/vendor/rspec/spec/spec/matchers/include_spec.rb +88 -0
- data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +108 -0
- data/vendor/rspec/spec/spec/matchers/match_spec.rb +57 -0
- data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +63 -0
- data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +273 -0
- data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +2 -0
- data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
- data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +333 -0
- data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +116 -0
- data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
- data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
- data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +96 -0
- data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +117 -0
- data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
- data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
- data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +19 -0
- data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
- data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +19 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +21 -0
- data/vendor/rspec/spec/spec/mocks/double_spec.rb +12 -0
- data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
- data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
- data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
- data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +94 -0
- data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
- data/vendor/rspec/spec/spec/mocks/mock_spec.rb +594 -0
- data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
- data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
- data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
- data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
- data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
- data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +164 -0
- data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
- data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
- data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
- data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
- data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +42 -0
- data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +31 -0
- data/vendor/rspec/spec/spec/mocks/stub_spec.rb +203 -0
- data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
- data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
- data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +127 -0
- data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +16 -0
- data/vendor/rspec/spec/spec/rake/spectask_spec.rb +150 -0
- data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
- data/vendor/rspec/spec/spec/runner/command_line_spec.rb +162 -0
- data/vendor/rspec/spec/spec/runner/configuration_spec.rb +320 -0
- data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +107 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/bound_text_field_spec.rb → vendor/rspec/spec/spec/runner/empty_file.txt} +0 -0
- data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +26 -0
- data/vendor/rspec/spec/spec/runner/examples.txt +2 -0
- data/vendor/rspec/spec/spec/runner/failed.txt +3 -0
- data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
- data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
- data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
- data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
- data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
- data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
- data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
- data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
- data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
- data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
- data/vendor/rspec/spec/spec/runner/heckler_spec.rb +20 -0
- data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
- data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +129 -0
- data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
- data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +545 -0
- data/vendor/rspec/spec/spec/runner/options_spec.rb +547 -0
- data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
- data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
- data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +15 -0
- data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +123 -0
- data/vendor/rspec/spec/spec/runner/reporter_spec.rb +244 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/button_spec.rb → vendor/rspec/spec/spec/runner/resources/a_bar.rb} +0 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/check_box_spec.rb → vendor/rspec/spec/spec/runner/resources/a_foo.rb} +0 -0
- data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
- data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
- data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +8 -0
- data/vendor/rspec/spec/spec/runner/spec.opts +2 -0
- data/vendor/rspec/spec/spec/runner/spec_drb.opts +2 -0
- data/vendor/rspec/spec/spec/runner/spec_spaced.opts +2 -0
- data/vendor/rspec/spec/spec/runner_spec.rb +13 -0
- data/vendor/rspec/spec/spec_helper.rb +112 -0
- data/vendor/rspec/spec/support/macros.rb +29 -0
- data/vendor/rspec/spec/support/spec_classes.rb +133 -0
- data/vendor/rubyexts/CHANGELOG +2 -0
- data/vendor/rubyexts/LICENSE +20 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/custom_builder_spec.rb → vendor/rubyexts/README.textile} +0 -0
- data/vendor/rubyexts/Rakefile +79 -0
- data/vendor/rubyexts/TODO.txt +6 -0
- data/vendor/rubyexts/lib/rubyexts.rb +102 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/array.rb +0 -0
- data/vendor/rubyexts/lib/rubyexts/attribute.rb +151 -0
- data/vendor/rubyexts/lib/rubyexts/capture_io.rb +32 -0
- data/vendor/rubyexts/lib/rubyexts/class.rb +177 -0
- data/vendor/rubyexts/lib/rubyexts/colored_string.rb +103 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/enumerable.rb +0 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/file.rb +0 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/hash.rb +0 -0
- data/vendor/rubyexts/lib/rubyexts/kernel.rb +91 -0
- data/vendor/rubyexts/lib/rubyexts/module.rb +53 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/object.rb +0 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/object_space.rb +0 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/os.rb +0 -0
- data/vendor/rubyexts/lib/rubyexts/platform.rb +27 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/random.rb +0 -0
- data/vendor/rubyexts/lib/rubyexts/string.rb +92 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/time.rb +0 -0
- data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/time_dsl.rb +0 -0
- data/vendor/rubyexts/lib/rubyexts/try_dup.rb +43 -0
- data/vendor/rubyexts/lib/rubyexts/unique_array.rb +16 -0
- data/vendor/rubyexts/rubyexts.gemspec +36 -0
- data/vendor/rubyexts/script/spec +12 -0
- data/vendor/rubyexts/spec/rubyexts/array_spec.rb +19 -0
- data/vendor/rubyexts/spec/rubyexts/attribute_spec.rb +37 -0
- data/vendor/rubyexts/spec/rubyexts/class_spec.rb +1 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/delete_button_spec.rb → vendor/rubyexts/spec/rubyexts/cli_spec.rb} +0 -0
- data/vendor/rubyexts/spec/rubyexts/colored_string_spec.rb +9 -0
- data/vendor/rubyexts/spec/rubyexts/enumerable_spec.rb +52 -0
- data/vendor/rubyexts/spec/rubyexts/file_spec.rb +78 -0
- data/vendor/rubyexts/spec/rubyexts/hash_spec.rb +91 -0
- data/vendor/rubyexts/spec/rubyexts/kernel_spec.rb +9 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/exceptions_spec.rb → vendor/rubyexts/spec/rubyexts/module_spec.rb} +0 -0
- data/vendor/rubyexts/spec/rubyexts/object_space_spec.rb +17 -0
- data/vendor/rubyexts/spec/rubyexts/object_spec.rb +57 -0
- data/vendor/rubyexts/spec/rubyexts/os_spec.rb +121 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/field_set_spec.rb → vendor/rubyexts/spec/rubyexts/platform_spec.rb} +0 -0
- data/vendor/rubyexts/spec/rubyexts/random_spec.rb +31 -0
- data/vendor/rubyexts/spec/rubyexts/string_spec.rb +23 -0
- data/vendor/rubyexts/spec/rubyexts/time_dsl_spec.rb +88 -0
- data/vendor/rubyexts/spec/rubyexts/time_spec.rb +11 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/fields_for_spec.rb → vendor/rubyexts/spec/rubyexts/unique_array_spec.rb} +0 -0
- data/vendor/rubyexts/spec/rubyexts_spec.rb +182 -0
- data/vendor/rubyexts/spec/spec.opts +5 -0
- data/vendor/rubyexts/spec/spec_helper.rb +16 -0
- data/vendor/simple-templater/CHANGELOG +10 -0
- data/vendor/simple-templater/LICENSE +20 -0
- data/vendor/simple-templater/README.textile +136 -0
- data/vendor/simple-templater/Rakefile +61 -0
- data/vendor/simple-templater/TODO.txt +15 -0
- data/vendor/simple-templater/bin/simple-templater +66 -0
- data/vendor/simple-templater/deps.rip +7 -0
- data/vendor/simple-templater/lib/simple-templater.rb +97 -0
- data/vendor/simple-templater/lib/simple-templater/argv_parsing.rb +27 -0
- data/vendor/simple-templater/lib/simple-templater/builder.rb +134 -0
- data/vendor/simple-templater/lib/simple-templater/discoverer.rb +20 -0
- data/vendor/simple-templater/lib/simple-templater/discoverers/gems.rb +79 -0
- data/vendor/simple-templater/lib/simple-templater/discoverers/plain.rb +1 -0
- data/vendor/simple-templater/lib/simple-templater/discoverers/rip.rb +1 -0
- data/vendor/simple-templater/lib/simple-templater/dsl.rb +27 -0
- data/vendor/simple-templater/lib/simple-templater/generator.rb +129 -0
- data/vendor/simple-templater/lib/simple-templater/generator_set.rb +45 -0
- data/vendor/simple-templater/lib/simple-templater/helpers.rb +34 -0
- data/vendor/simple-templater/lib/simple-templater/hooks/hook.rb +76 -0
- data/vendor/simple-templater/lib/simple-templater/hooks/postprocess/git_repository.rb +25 -0
- data/vendor/simple-templater/lib/simple-templater/hooks/postprocess/github.rb +20 -0
- data/vendor/simple-templater/lib/simple-templater/hooks/preprocess/full_name.rb +17 -0
- data/vendor/simple-templater/lib/simple-templater/hooks/preprocess/github.rb +25 -0
- data/vendor/simple-templater/script/spec +14 -0
- data/vendor/simple-templater/simple-templater.gemspec +45 -0
- data/vendor/simple-templater/simple-templater.scope +6 -0
- data/vendor/simple-templater/spec/simple-templater/argv_parsing_spec.rb +41 -0
- data/{features/shared/given_steps.rb → vendor/simple-templater/spec/simple-templater/builder_spec.rb} +0 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/file_field_spec.rb → vendor/simple-templater/spec/simple-templater/discoverers/gems_spec.rb} +0 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/foo_spec.rb → vendor/simple-templater/spec/simple-templater/discoverers/plain_spec.rb} +0 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/form_for_spec.rb → vendor/simple-templater/spec/simple-templater/discoverers/rip_spec.rb} +0 -0
- data/vendor/simple-templater/spec/simple-templater/generator_set_spec.rb +55 -0
- data/vendor/simple-templater/spec/simple-templater/generator_spec.rb +30 -0
- data/vendor/simple-templater/spec/simple-templater/helpers_spec.rb +81 -0
- data/vendor/simple-templater/spec/simple-templater/hooks/hook_spec.rb +100 -0
- data/vendor/simple-templater/spec/simple-templater/hooks/postprocess/git_repository_spec.rb +25 -0
- data/vendor/simple-templater/spec/simple-templater/hooks/postprocess/github_spec.rb +8 -0
- data/vendor/simple-templater/spec/simple-templater_spec.rb +112 -0
- data/vendor/simple-templater/spec/spec.opts +5 -0
- data/vendor/simple-templater/spec/spec_helper.rb +19 -0
- data/vendor/simple-templater/spec/stubs/gems/cache/test_generator-0.0.1.gem +0 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/simple-generator.scope +8 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/simple-templater.scope +8 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%1_test.rb.rbt +1 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/form_spec.rb → vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%_test.rb} +0 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/README.textile +3 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/script.rb.rbt +1 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%1_test.rb.rbt +1 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/hacker_spec.rb → vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%_test.rb} +0 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/README.textile +3 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/script.rb.rbt +1 -0
- data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/test_generator.gemspec +19 -0
- data/vendor/simple-templater/spec/stubs/gems/specifications/test_generator-0.0.1.gemspec +28 -0
- data/vendor/simple-templater/spec/stubs/simple-templater.scope +8 -0
- data/vendor/simple-templater/spec/stubs/test_generator/simple-templater.scope +8 -0
- data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/%name%1_test.rb.rbt +1 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/hidden_field_spec.rb → vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/%name%_test.rb} +0 -0
- data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/README.textile +3 -0
- data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/script.rb.rbt +1 -0
- data/vendor/simple-templater/spec/stubs/test_generator/test_generator-0.0.1.gem +0 -0
- data/vendor/simple-templater/spec/stubs/test_generator/test_generator.gemspec +19 -0
- data/vendor/simple-templater/stubs/project/content/%name%.gemspec.rbt +37 -0
- data/vendor/simple-templater/stubs/project/content/CHANGELOG +2 -0
- data/vendor/simple-templater/stubs/project/content/LICENSE.rbt +20 -0
- data/vendor/simple-templater/stubs/project/content/README.textile.rbt +19 -0
- data/vendor/simple-templater/stubs/project/content/Rakefile +39 -0
- data/{spec/rango/helpers/spec/fixture/app/controllers/label_spec.rb → vendor/simple-templater/stubs/project/content/TODO.txt} +0 -0
- data/vendor/simple-templater/stubs/project/content/bin/%name%.rbt +14 -0
- data/vendor/simple-templater/stubs/project/content/deps.rip +5 -0
- data/vendor/simple-templater/stubs/project/content/lib/%name%.rb.rbt +5 -0
- data/vendor/simple-templater/stubs/project/content/spec/%name%_spec.rb.rbt +10 -0
- data/vendor/simple-templater/stubs/project/content/spec/spec.opts +5 -0
- data/vendor/simple-templater/stubs/project/content/spec/spec_helper.rb.rbt +11 -0
- data/vendor/simple-templater/stubs/project/metadata.yml +3 -0
- data/vendor/simple-templater/stubs/project/postprocess.rb +13 -0
- data/vendor/simple-templater/stubs/project/setup.rb +13 -0
- data/vendor/simple-templater/stubs/stub/content/metadata.yml.rbt +3 -0
- data/vendor/simple-templater/stubs/stub/content/postprocess.rb +11 -0
- data/vendor/simple-templater/stubs/stub/content/setup.rb +10 -0
- data/vendor/simple-templater/stubs/stub/metadata.yml +3 -0
- data/vendor/simple-templater/stubs/stub/postprocess.rb +9 -0
- data/vendor/simple-templater/stubs/stub/setup.rb +15 -0
- data/vendor/simple-templater/vendor/abstract/ChangeLog +3 -0
- data/vendor/simple-templater/vendor/abstract/README.txt +57 -0
- data/vendor/simple-templater/vendor/abstract/abstract.gemspec +48 -0
- data/vendor/simple-templater/vendor/abstract/doc/classes/Kernel.html +134 -0
- data/vendor/simple-templater/vendor/abstract/doc/classes/Kernel.src/M000002.html +24 -0
- data/vendor/simple-templater/vendor/abstract/doc/classes/Module.html +140 -0
- data/vendor/simple-templater/vendor/abstract/doc/classes/Module.src/M000001.html +20 -0
- data/vendor/simple-templater/vendor/abstract/doc/created.rid +1 -0
- data/vendor/simple-templater/vendor/abstract/doc/files/README_txt.html +173 -0
- data/vendor/simple-templater/vendor/abstract/doc/files/lib/abstract_rb.html +137 -0
- data/vendor/simple-templater/vendor/abstract/doc/fr_class_index.html +28 -0
- data/vendor/simple-templater/vendor/abstract/doc/fr_file_index.html +28 -0
- data/vendor/simple-templater/vendor/abstract/doc/fr_method_index.html +28 -0
- data/vendor/simple-templater/vendor/abstract/doc/index.html +24 -0
- data/vendor/simple-templater/vendor/abstract/doc/rdoc-style.css +208 -0
- data/vendor/simple-templater/vendor/abstract/lib/abstract.rb +75 -0
- data/vendor/simple-templater/vendor/abstract/setup.rb +1331 -0
- data/vendor/simple-templater/vendor/abstract/test/test.rb +91 -0
- data/vendor/thor/CHANGELOG.rdoc +82 -0
- data/vendor/thor/LICENSE +20 -0
- data/vendor/thor/README.rdoc +234 -0
- data/vendor/thor/Thorfile +63 -0
- data/vendor/thor/bin/rake2thor +86 -0
- data/vendor/thor/bin/thor +7 -0
- data/vendor/thor/lib/thor.rb +242 -0
- data/vendor/thor/lib/thor/actions.rb +273 -0
- data/vendor/thor/lib/thor/actions/create_file.rb +103 -0
- data/vendor/thor/lib/thor/actions/directory.rb +93 -0
- data/vendor/thor/lib/thor/actions/empty_directory.rb +134 -0
- data/vendor/thor/lib/thor/actions/file_manipulation.rb +219 -0
- data/vendor/thor/lib/thor/actions/inject_into_file.rb +101 -0
- data/vendor/thor/lib/thor/base.rb +517 -0
- data/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +75 -0
- data/vendor/thor/lib/thor/core_ext/ordered_hash.rb +100 -0
- data/vendor/thor/lib/thor/error.rb +27 -0
- data/vendor/thor/lib/thor/group.rb +263 -0
- data/vendor/thor/lib/thor/invocation.rb +178 -0
- data/vendor/thor/lib/thor/parser.rb +4 -0
- data/vendor/thor/lib/thor/parser/argument.rb +67 -0
- data/vendor/thor/lib/thor/parser/arguments.rb +145 -0
- data/vendor/thor/lib/thor/parser/option.rb +132 -0
- data/vendor/thor/lib/thor/parser/options.rb +142 -0
- data/vendor/thor/lib/thor/rake_compat.rb +66 -0
- data/vendor/thor/lib/thor/runner.rb +299 -0
- data/vendor/thor/lib/thor/shell.rb +78 -0
- data/vendor/thor/lib/thor/shell/basic.rb +219 -0
- data/vendor/thor/lib/thor/shell/color.rb +108 -0
- data/vendor/thor/lib/thor/task.rb +122 -0
- data/vendor/thor/lib/thor/util.rb +251 -0
- data/vendor/thor/lib/thor/version.rb +3 -0
- data/vendor/thor/spec/actions/create_file_spec.rb +170 -0
- data/vendor/thor/spec/actions/directory_spec.rb +130 -0
- data/vendor/thor/spec/actions/empty_directory_spec.rb +91 -0
- data/vendor/thor/spec/actions/file_manipulation_spec.rb +249 -0
- data/vendor/thor/spec/actions/inject_into_file_spec.rb +106 -0
- data/vendor/thor/spec/actions_spec.rb +291 -0
- data/vendor/thor/spec/base_spec.rb +236 -0
- data/vendor/thor/spec/core_ext/hash_with_indifferent_access_spec.rb +43 -0
- data/vendor/thor/spec/core_ext/ordered_hash_spec.rb +115 -0
- data/vendor/thor/spec/fixtures/application.rb +2 -0
- data/vendor/thor/spec/fixtures/bundle/execute.rb +6 -0
- data/vendor/thor/spec/fixtures/bundle/main.thor +1 -0
- data/vendor/thor/spec/fixtures/doc/%file_name%.rb.tt +1 -0
- data/vendor/thor/spec/fixtures/doc/README +3 -0
- data/vendor/thor/spec/fixtures/doc/config.rb +1 -0
- data/vendor/thor/spec/fixtures/group.thor +83 -0
- data/vendor/thor/spec/fixtures/invoke.thor +112 -0
- data/vendor/thor/spec/fixtures/script.thor +126 -0
- data/vendor/thor/spec/fixtures/task.thor +10 -0
- data/vendor/thor/spec/group_spec.rb +177 -0
- data/vendor/thor/spec/invocation_spec.rb +107 -0
- data/vendor/thor/spec/parser/argument_spec.rb +47 -0
- data/vendor/thor/spec/parser/arguments_spec.rb +64 -0
- data/vendor/thor/spec/parser/option_spec.rb +212 -0
- data/vendor/thor/spec/parser/options_spec.rb +255 -0
- data/vendor/thor/spec/rake_compat_spec.rb +68 -0
- data/vendor/thor/spec/runner_spec.rb +204 -0
- data/vendor/thor/spec/shell/basic_spec.rb +211 -0
- data/vendor/thor/spec/shell/color_spec.rb +41 -0
- data/vendor/thor/spec/shell_spec.rb +25 -0
- data/vendor/thor/spec/spec.opts +1 -0
- data/vendor/thor/spec/spec_helper.rb +52 -0
- data/vendor/thor/spec/task_spec.rb +88 -0
- data/vendor/thor/spec/thor_spec.rb +234 -0
- data/vendor/thor/spec/util_spec.rb +196 -0
- metadata +1208 -899
- data/cucumber.yml +0 -1
- data/doc/0.0.3/Array.html +0 -354
- data/doc/0.0.3/AttributeMixin.html +0 -697
- data/doc/0.0.3/Class.html +0 -102
- data/doc/0.0.3/ColoredString.html +0 -476
- data/doc/0.0.3/Enumerable.html +0 -256
- data/doc/0.0.3/File.html +0 -909
- data/doc/0.0.3/Hash.html +0 -1586
- data/doc/0.0.3/Kernel.html +0 -956
- data/doc/0.0.3/OS.html +0 -740
- data/doc/0.0.3/Object.html +0 -466
- data/doc/0.0.3/ObjectSpace.html +0 -184
- data/doc/0.0.3/Path.html +0 -2499
- data/doc/0.0.3/Range.html +0 -190
- data/doc/0.0.3/Rango.html +0 -379
- data/doc/0.0.3/Rango/ApplicationMixin.html +0 -396
- data/doc/0.0.3/Rango/Bundling.html +0 -23
- data/doc/0.0.3/Rango/Bundling/RequireStrategy.html +0 -283
- data/doc/0.0.3/Rango/Bundling/Strategy.html +0 -703
- data/doc/0.0.3/Rango/CLI.html +0 -23
- data/doc/0.0.3/Rango/CLI/Generator.html +0 -762
- data/doc/0.0.3/Rango/CLI/Templater.html +0 -258
- data/doc/0.0.3/Rango/CallableStrategy.html +0 -300
- data/doc/0.0.3/Rango/Chainable.html +0 -181
- data/doc/0.0.3/Rango/Configurable.html +0 -199
- data/doc/0.0.3/Rango/Controller.html +0 -962
- data/doc/0.0.3/Rango/ControllerMixin.html +0 -860
- data/doc/0.0.3/Rango/ControllerStrategy.html +0 -264
- data/doc/0.0.3/Rango/DependencyStrategy.html +0 -116
- data/doc/0.0.3/Rango/Dispatcher.html +0 -305
- data/doc/0.0.3/Rango/Form.html +0 -162
- data/doc/0.0.3/Rango/GemDependencyStrategy.html +0 -210
- data/doc/0.0.3/Rango/Generator.html +0 -93
- data/doc/0.0.3/Rango/GenericViews.html +0 -128
- data/doc/0.0.3/Rango/GitDependencyStrategy.html +0 -224
- data/doc/0.0.3/Rango/GithubDependencyStrategy.html +0 -118
- data/doc/0.0.3/Rango/Handler.html +0 -474
- data/doc/0.0.3/Rango/Helpers.html +0 -1335
- data/doc/0.0.3/Rango/Hookable.html +0 -202
- data/doc/0.0.3/Rango/ImportMixin.html +0 -755
- data/doc/0.0.3/Rango/Logger.html +0 -920
- data/doc/0.0.3/Rango/Mini.html +0 -117
- data/doc/0.0.3/Rango/ModelForm.html +0 -42
- data/doc/0.0.3/Rango/Project.html +0 -516
- data/doc/0.0.3/Rango/RenderMixin.html +0 -23
- data/doc/0.0.3/Rango/Request.html +0 -1177
- data/doc/0.0.3/Rango/Route.html +0 -751
- data/doc/0.0.3/Rango/Router.html +0 -42
- data/doc/0.0.3/Rango/Router/Dispatcher.html +0 -311
- data/doc/0.0.3/Rango/RouterStrategy.html +0 -258
- data/doc/0.0.3/Rango/Session.html +0 -23
- data/doc/0.0.3/Rango/Settings.html +0 -23
- data/doc/0.0.3/Rango/Settings/Erubis.html +0 -23
- data/doc/0.0.3/Rango/Settings/Framework.html +0 -254
- data/doc/0.0.3/Rango/Settings/Haml.html +0 -23
- data/doc/0.0.3/Rango/Settings/Template.html +0 -23
- data/doc/0.0.3/Rango/SimpleTemplate.html +0 -187
- data/doc/0.0.3/Rango/StrategyMixin.html +0 -261
- data/doc/0.0.3/Rango/Tasks.html +0 -219
- data/doc/0.0.3/Rango/Template.html +0 -95
- data/doc/0.0.3/Rango/Template/Adapter.html +0 -90
- data/doc/0.0.3/Rango/Templates.html +0 -116
- data/doc/0.0.3/Rango/Templates/Adapter.html +0 -128
- data/doc/0.0.3/Rango/Templates/Template.html +0 -636
- data/doc/0.0.3/Rango/Templates/TemplateHelpers.html +0 -328
- data/doc/0.0.3/RangoThor.html +0 -205
- data/doc/0.0.3/String.html +0 -307
- data/doc/0.0.3/Time.html +0 -193
- data/doc/0.0.3/TimeDSL.html +0 -601
- data/doc/0.0.3/all-methods.html +0 -1908
- data/doc/0.0.3/all-namespaces.html +0 -114
- data/doc/0.0.3/app.js +0 -18
- data/doc/0.0.3/head/Array.html +0 -354
- data/doc/0.0.3/head/AttributeMixin.html +0 -697
- data/doc/0.0.3/head/Class.html +0 -102
- data/doc/0.0.3/head/ColoredString.html +0 -476
- data/doc/0.0.3/head/Enumerable.html +0 -256
- data/doc/0.0.3/head/File.html +0 -909
- data/doc/0.0.3/head/Hash.html +0 -1586
- data/doc/0.0.3/head/Kernel.html +0 -956
- data/doc/0.0.3/head/OS.html +0 -740
- data/doc/0.0.3/head/Object.html +0 -466
- data/doc/0.0.3/head/ObjectSpace.html +0 -184
- data/doc/0.0.3/head/Path.html +0 -2499
- data/doc/0.0.3/head/Range.html +0 -190
- data/doc/0.0.3/head/Rango.html +0 -379
- data/doc/0.0.3/head/Rango/ApplicationMixin.html +0 -396
- data/doc/0.0.3/head/Rango/Bundling.html +0 -23
- data/doc/0.0.3/head/Rango/Bundling/RequireStrategy.html +0 -283
- data/doc/0.0.3/head/Rango/Bundling/Strategy.html +0 -703
- data/doc/0.0.3/head/Rango/CLI.html +0 -23
- data/doc/0.0.3/head/Rango/CLI/Generator.html +0 -762
- data/doc/0.0.3/head/Rango/CLI/Templater.html +0 -258
- data/doc/0.0.3/head/Rango/CallableStrategy.html +0 -300
- data/doc/0.0.3/head/Rango/Chainable.html +0 -181
- data/doc/0.0.3/head/Rango/Configurable.html +0 -199
- data/doc/0.0.3/head/Rango/Controller.html +0 -962
- data/doc/0.0.3/head/Rango/ControllerMixin.html +0 -860
- data/doc/0.0.3/head/Rango/ControllerStrategy.html +0 -264
- data/doc/0.0.3/head/Rango/DependencyStrategy.html +0 -116
- data/doc/0.0.3/head/Rango/Dispatcher.html +0 -305
- data/doc/0.0.3/head/Rango/Form.html +0 -162
- data/doc/0.0.3/head/Rango/GemDependencyStrategy.html +0 -210
- data/doc/0.0.3/head/Rango/Generator.html +0 -93
- data/doc/0.0.3/head/Rango/GenericViews.html +0 -128
- data/doc/0.0.3/head/Rango/GitDependencyStrategy.html +0 -224
- data/doc/0.0.3/head/Rango/GithubDependencyStrategy.html +0 -118
- data/doc/0.0.3/head/Rango/Handler.html +0 -474
- data/doc/0.0.3/head/Rango/Helpers.html +0 -1335
- data/doc/0.0.3/head/Rango/Hookable.html +0 -202
- data/doc/0.0.3/head/Rango/ImportMixin.html +0 -755
- data/doc/0.0.3/head/Rango/Logger.html +0 -920
- data/doc/0.0.3/head/Rango/Mini.html +0 -117
- data/doc/0.0.3/head/Rango/ModelForm.html +0 -42
- data/doc/0.0.3/head/Rango/Project.html +0 -516
- data/doc/0.0.3/head/Rango/RenderMixin.html +0 -23
- data/doc/0.0.3/head/Rango/Request.html +0 -1177
- data/doc/0.0.3/head/Rango/Route.html +0 -751
- data/doc/0.0.3/head/Rango/Router.html +0 -42
- data/doc/0.0.3/head/Rango/Router/Dispatcher.html +0 -311
- data/doc/0.0.3/head/Rango/RouterStrategy.html +0 -258
- data/doc/0.0.3/head/Rango/Session.html +0 -23
- data/doc/0.0.3/head/Rango/Settings.html +0 -23
- data/doc/0.0.3/head/Rango/Settings/Erubis.html +0 -23
- data/doc/0.0.3/head/Rango/Settings/Framework.html +0 -254
- data/doc/0.0.3/head/Rango/Settings/Haml.html +0 -23
- data/doc/0.0.3/head/Rango/Settings/Template.html +0 -23
- data/doc/0.0.3/head/Rango/SimpleTemplate.html +0 -187
- data/doc/0.0.3/head/Rango/StrategyMixin.html +0 -261
- data/doc/0.0.3/head/Rango/Tasks.html +0 -219
- data/doc/0.0.3/head/Rango/Template.html +0 -95
- data/doc/0.0.3/head/Rango/Template/Adapter.html +0 -90
- data/doc/0.0.3/head/Rango/Templates.html +0 -116
- data/doc/0.0.3/head/Rango/Templates/Adapter.html +0 -128
- data/doc/0.0.3/head/Rango/Templates/Template.html +0 -636
- data/doc/0.0.3/head/Rango/Templates/TemplateHelpers.html +0 -328
- data/doc/0.0.3/head/RangoThor.html +0 -205
- data/doc/0.0.3/head/String.html +0 -307
- data/doc/0.0.3/head/Time.html +0 -193
- data/doc/0.0.3/head/TimeDSL.html +0 -601
- data/doc/0.0.3/head/all-methods.html +0 -1908
- data/doc/0.0.3/head/all-namespaces.html +0 -114
- data/doc/0.0.3/head/app.js +0 -18
- data/doc/0.0.3/head/index.html +0 -18
- data/doc/0.0.3/head/jquery.js +0 -11
- data/doc/0.0.3/head/readme.html +0 -36
- data/doc/0.0.3/head/style.css +0 -68
- data/doc/0.0.3/head/syntax_highlight.css +0 -21
- data/doc/0.0.3/index.html +0 -18
- data/doc/0.0.3/jquery.js +0 -11
- data/doc/0.0.3/readme.html +0 -36
- data/doc/0.0.3/style.css +0 -68
- data/doc/0.0.3/syntax_highlight.css +0 -21
- data/doc/0.0.4/Array.html +0 -354
- data/doc/0.0.4/AttributeMixin.html +0 -697
- data/doc/0.0.4/Class.html +0 -102
- data/doc/0.0.4/ColoredString.html +0 -476
- data/doc/0.0.4/Enumerable.html +0 -256
- data/doc/0.0.4/File.html +0 -909
- data/doc/0.0.4/Hash.html +0 -1586
- data/doc/0.0.4/Kernel.html +0 -956
- data/doc/0.0.4/OS.html +0 -740
- data/doc/0.0.4/Object.html +0 -466
- data/doc/0.0.4/ObjectSpace.html +0 -184
- data/doc/0.0.4/Path.html +0 -2499
- data/doc/0.0.4/Range.html +0 -190
- data/doc/0.0.4/Rango.html +0 -379
- data/doc/0.0.4/Rango/ApplicationMixin.html +0 -396
- data/doc/0.0.4/Rango/Bundling.html +0 -23
- data/doc/0.0.4/Rango/Bundling/RequireStrategy.html +0 -283
- data/doc/0.0.4/Rango/Bundling/Strategy.html +0 -703
- data/doc/0.0.4/Rango/CLI.html +0 -23
- data/doc/0.0.4/Rango/CLI/Generator.html +0 -762
- data/doc/0.0.4/Rango/CLI/Templater.html +0 -258
- data/doc/0.0.4/Rango/CallableStrategy.html +0 -300
- data/doc/0.0.4/Rango/Chainable.html +0 -181
- data/doc/0.0.4/Rango/Configurable.html +0 -199
- data/doc/0.0.4/Rango/Controller.html +0 -962
- data/doc/0.0.4/Rango/ControllerMixin.html +0 -860
- data/doc/0.0.4/Rango/ControllerStrategy.html +0 -264
- data/doc/0.0.4/Rango/DependencyStrategy.html +0 -116
- data/doc/0.0.4/Rango/Dispatcher.html +0 -305
- data/doc/0.0.4/Rango/Form.html +0 -162
- data/doc/0.0.4/Rango/GemDependencyStrategy.html +0 -210
- data/doc/0.0.4/Rango/Generator.html +0 -93
- data/doc/0.0.4/Rango/GenericViews.html +0 -128
- data/doc/0.0.4/Rango/GitDependencyStrategy.html +0 -224
- data/doc/0.0.4/Rango/GithubDependencyStrategy.html +0 -118
- data/doc/0.0.4/Rango/Handler.html +0 -474
- data/doc/0.0.4/Rango/Helpers.html +0 -1335
- data/doc/0.0.4/Rango/Hookable.html +0 -202
- data/doc/0.0.4/Rango/ImportMixin.html +0 -755
- data/doc/0.0.4/Rango/Logger.html +0 -920
- data/doc/0.0.4/Rango/Mini.html +0 -117
- data/doc/0.0.4/Rango/ModelForm.html +0 -42
- data/doc/0.0.4/Rango/Project.html +0 -516
- data/doc/0.0.4/Rango/RenderMixin.html +0 -23
- data/doc/0.0.4/Rango/Request.html +0 -1177
- data/doc/0.0.4/Rango/Route.html +0 -751
- data/doc/0.0.4/Rango/Router.html +0 -42
- data/doc/0.0.4/Rango/Router/Dispatcher.html +0 -311
- data/doc/0.0.4/Rango/RouterStrategy.html +0 -258
- data/doc/0.0.4/Rango/Session.html +0 -23
- data/doc/0.0.4/Rango/Settings.html +0 -23
- data/doc/0.0.4/Rango/Settings/Erubis.html +0 -23
- data/doc/0.0.4/Rango/Settings/Framework.html +0 -254
- data/doc/0.0.4/Rango/Settings/Haml.html +0 -23
- data/doc/0.0.4/Rango/Settings/Template.html +0 -23
- data/doc/0.0.4/Rango/SimpleTemplate.html +0 -187
- data/doc/0.0.4/Rango/StrategyMixin.html +0 -261
- data/doc/0.0.4/Rango/Tasks.html +0 -219
- data/doc/0.0.4/Rango/Template.html +0 -95
- data/doc/0.0.4/Rango/Template/Adapter.html +0 -90
- data/doc/0.0.4/Rango/Templates.html +0 -116
- data/doc/0.0.4/Rango/Templates/Adapter.html +0 -128
- data/doc/0.0.4/Rango/Templates/Template.html +0 -636
- data/doc/0.0.4/Rango/Templates/TemplateHelpers.html +0 -328
- data/doc/0.0.4/RangoThor.html +0 -205
- data/doc/0.0.4/String.html +0 -307
- data/doc/0.0.4/Time.html +0 -193
- data/doc/0.0.4/TimeDSL.html +0 -601
- data/doc/0.0.4/all-methods.html +0 -1908
- data/doc/0.0.4/all-namespaces.html +0 -114
- data/doc/0.0.4/app.js +0 -18
- data/doc/0.0.4/head/Array.html +0 -354
- data/doc/0.0.4/head/AttributeMixin.html +0 -697
- data/doc/0.0.4/head/Class.html +0 -102
- data/doc/0.0.4/head/ColoredString.html +0 -476
- data/doc/0.0.4/head/Enumerable.html +0 -256
- data/doc/0.0.4/head/File.html +0 -909
- data/doc/0.0.4/head/Hash.html +0 -1586
- data/doc/0.0.4/head/Kernel.html +0 -956
- data/doc/0.0.4/head/OS.html +0 -740
- data/doc/0.0.4/head/Object.html +0 -466
- data/doc/0.0.4/head/ObjectSpace.html +0 -184
- data/doc/0.0.4/head/Path.html +0 -2499
- data/doc/0.0.4/head/Range.html +0 -190
- data/doc/0.0.4/head/Rango.html +0 -379
- data/doc/0.0.4/head/Rango/ApplicationMixin.html +0 -396
- data/doc/0.0.4/head/Rango/Bundling.html +0 -23
- data/doc/0.0.4/head/Rango/Bundling/RequireStrategy.html +0 -283
- data/doc/0.0.4/head/Rango/Bundling/Strategy.html +0 -703
- data/doc/0.0.4/head/Rango/CLI.html +0 -23
- data/doc/0.0.4/head/Rango/CLI/Generator.html +0 -762
- data/doc/0.0.4/head/Rango/CLI/Templater.html +0 -258
- data/doc/0.0.4/head/Rango/CallableStrategy.html +0 -300
- data/doc/0.0.4/head/Rango/Chainable.html +0 -181
- data/doc/0.0.4/head/Rango/Configurable.html +0 -199
- data/doc/0.0.4/head/Rango/Controller.html +0 -962
- data/doc/0.0.4/head/Rango/ControllerMixin.html +0 -860
- data/doc/0.0.4/head/Rango/ControllerStrategy.html +0 -264
- data/doc/0.0.4/head/Rango/DependencyStrategy.html +0 -116
- data/doc/0.0.4/head/Rango/Dispatcher.html +0 -305
- data/doc/0.0.4/head/Rango/Form.html +0 -162
- data/doc/0.0.4/head/Rango/GemDependencyStrategy.html +0 -210
- data/doc/0.0.4/head/Rango/Generator.html +0 -93
- data/doc/0.0.4/head/Rango/GenericViews.html +0 -128
- data/doc/0.0.4/head/Rango/GitDependencyStrategy.html +0 -224
- data/doc/0.0.4/head/Rango/GithubDependencyStrategy.html +0 -118
- data/doc/0.0.4/head/Rango/Handler.html +0 -474
- data/doc/0.0.4/head/Rango/Helpers.html +0 -1335
- data/doc/0.0.4/head/Rango/Hookable.html +0 -202
- data/doc/0.0.4/head/Rango/ImportMixin.html +0 -755
- data/doc/0.0.4/head/Rango/Logger.html +0 -920
- data/doc/0.0.4/head/Rango/Mini.html +0 -117
- data/doc/0.0.4/head/Rango/ModelForm.html +0 -42
- data/doc/0.0.4/head/Rango/Project.html +0 -516
- data/doc/0.0.4/head/Rango/RenderMixin.html +0 -23
- data/doc/0.0.4/head/Rango/Request.html +0 -1177
- data/doc/0.0.4/head/Rango/Route.html +0 -751
- data/doc/0.0.4/head/Rango/Router.html +0 -42
- data/doc/0.0.4/head/Rango/Router/Dispatcher.html +0 -311
- data/doc/0.0.4/head/Rango/RouterStrategy.html +0 -258
- data/doc/0.0.4/head/Rango/Session.html +0 -23
- data/doc/0.0.4/head/Rango/Settings.html +0 -23
- data/doc/0.0.4/head/Rango/Settings/Erubis.html +0 -23
- data/doc/0.0.4/head/Rango/Settings/Framework.html +0 -254
- data/doc/0.0.4/head/Rango/Settings/Haml.html +0 -23
- data/doc/0.0.4/head/Rango/Settings/Template.html +0 -23
- data/doc/0.0.4/head/Rango/SimpleTemplate.html +0 -187
- data/doc/0.0.4/head/Rango/StrategyMixin.html +0 -261
- data/doc/0.0.4/head/Rango/Tasks.html +0 -219
- data/doc/0.0.4/head/Rango/Template.html +0 -95
- data/doc/0.0.4/head/Rango/Template/Adapter.html +0 -90
- data/doc/0.0.4/head/Rango/Templates.html +0 -116
- data/doc/0.0.4/head/Rango/Templates/Adapter.html +0 -128
- data/doc/0.0.4/head/Rango/Templates/Template.html +0 -636
- data/doc/0.0.4/head/Rango/Templates/TemplateHelpers.html +0 -328
- data/doc/0.0.4/head/RangoThor.html +0 -205
- data/doc/0.0.4/head/String.html +0 -307
- data/doc/0.0.4/head/Time.html +0 -193
- data/doc/0.0.4/head/TimeDSL.html +0 -601
- data/doc/0.0.4/head/all-methods.html +0 -1908
- data/doc/0.0.4/head/all-namespaces.html +0 -114
- data/doc/0.0.4/head/app.js +0 -18
- data/doc/0.0.4/head/index.html +0 -18
- data/doc/0.0.4/head/jquery.js +0 -11
- data/doc/0.0.4/head/readme.html +0 -36
- data/doc/0.0.4/head/style.css +0 -68
- data/doc/0.0.4/head/syntax_highlight.css +0 -21
- data/doc/0.0.4/index.html +0 -18
- data/doc/0.0.4/jquery.js +0 -11
- data/doc/0.0.4/readme.html +0 -36
- data/doc/0.0.4/style.css +0 -68
- data/doc/0.0.4/syntax_highlight.css +0 -21
- data/doc/head/Array.html +0 -354
- data/doc/head/AttributeMixin.html +0 -697
- data/doc/head/Class.html +0 -102
- data/doc/head/ColoredString.html +0 -476
- data/doc/head/Enumerable.html +0 -256
- data/doc/head/File.html +0 -909
- data/doc/head/Hash.html +0 -1586
- data/doc/head/Kernel.html +0 -956
- data/doc/head/OS.html +0 -740
- data/doc/head/Object.html +0 -466
- data/doc/head/ObjectSpace.html +0 -184
- data/doc/head/Path.html +0 -2499
- data/doc/head/Range.html +0 -190
- data/doc/head/Rango.html +0 -379
- data/doc/head/Rango/ApplicationMixin.html +0 -396
- data/doc/head/Rango/Bundling.html +0 -23
- data/doc/head/Rango/Bundling/RequireStrategy.html +0 -283
- data/doc/head/Rango/Bundling/Strategy.html +0 -703
- data/doc/head/Rango/CLI.html +0 -23
- data/doc/head/Rango/CLI/Generator.html +0 -762
- data/doc/head/Rango/CLI/Templater.html +0 -258
- data/doc/head/Rango/CallableStrategy.html +0 -300
- data/doc/head/Rango/Chainable.html +0 -181
- data/doc/head/Rango/Configurable.html +0 -199
- data/doc/head/Rango/Controller.html +0 -962
- data/doc/head/Rango/ControllerMixin.html +0 -860
- data/doc/head/Rango/ControllerStrategy.html +0 -264
- data/doc/head/Rango/DependencyStrategy.html +0 -116
- data/doc/head/Rango/Dispatcher.html +0 -305
- data/doc/head/Rango/Form.html +0 -162
- data/doc/head/Rango/GemDependencyStrategy.html +0 -210
- data/doc/head/Rango/Generator.html +0 -93
- data/doc/head/Rango/GenericViews.html +0 -128
- data/doc/head/Rango/GitDependencyStrategy.html +0 -224
- data/doc/head/Rango/GithubDependencyStrategy.html +0 -118
- data/doc/head/Rango/Handler.html +0 -474
- data/doc/head/Rango/Helpers.html +0 -1335
- data/doc/head/Rango/Hookable.html +0 -202
- data/doc/head/Rango/ImportMixin.html +0 -755
- data/doc/head/Rango/Logger.html +0 -920
- data/doc/head/Rango/Mini.html +0 -117
- data/doc/head/Rango/ModelForm.html +0 -42
- data/doc/head/Rango/Project.html +0 -516
- data/doc/head/Rango/RenderMixin.html +0 -23
- data/doc/head/Rango/Request.html +0 -1177
- data/doc/head/Rango/Route.html +0 -751
- data/doc/head/Rango/Router.html +0 -42
- data/doc/head/Rango/Router/Dispatcher.html +0 -311
- data/doc/head/Rango/RouterStrategy.html +0 -258
- data/doc/head/Rango/Session.html +0 -23
- data/doc/head/Rango/Settings.html +0 -23
- data/doc/head/Rango/Settings/Erubis.html +0 -23
- data/doc/head/Rango/Settings/Framework.html +0 -254
- data/doc/head/Rango/Settings/Haml.html +0 -23
- data/doc/head/Rango/Settings/Template.html +0 -23
- data/doc/head/Rango/SimpleTemplate.html +0 -187
- data/doc/head/Rango/StrategyMixin.html +0 -261
- data/doc/head/Rango/Tasks.html +0 -219
- data/doc/head/Rango/Template.html +0 -95
- data/doc/head/Rango/Template/Adapter.html +0 -90
- data/doc/head/Rango/Templates.html +0 -116
- data/doc/head/Rango/Templates/Adapter.html +0 -128
- data/doc/head/Rango/Templates/Template.html +0 -636
- data/doc/head/Rango/Templates/TemplateHelpers.html +0 -328
- data/doc/head/RangoThor.html +0 -205
- data/doc/head/String.html +0 -307
- data/doc/head/Time.html +0 -193
- data/doc/head/TimeDSL.html +0 -601
- data/doc/head/all-methods.html +0 -1908
- data/doc/head/all-namespaces.html +0 -114
- data/doc/head/app.js +0 -18
- data/doc/head/index.html +0 -18
- data/doc/head/jquery.js +0 -11
- data/doc/head/readme.html +0 -36
- data/doc/head/style.css +0 -68
- data/doc/head/syntax_highlight.css +0 -21
- data/doc/versions/0.0.1/Rango.html +0 -1025
- data/doc/versions/0.0.1/Rango/CallableStrategy.html +0 -166
- data/doc/versions/0.0.1/Rango/ControllerStrategy.html +0 -180
- data/doc/versions/0.0.1/Rango/Route.html +0 -340
- data/doc/versions/0.0.1/Rango/Router.html +0 -502
- data/doc/versions/0.0.1/Rango/RouterStrategy.html +0 -94
- data/doc/versions/0.0.1/Rango/Template.html +0 -28
- data/doc/versions/0.0.1/Rango/Template/Adapter.html +0 -90
- data/doc/versions/0.0.1/all-methods.html +0 -228
- data/doc/versions/0.0.1/all-namespaces.html +0 -36
- data/doc/versions/0.0.1/app.js +0 -18
- data/doc/versions/0.0.1/index.html +0 -18
- data/doc/versions/0.0.1/jquery.js +0 -11
- data/doc/versions/0.0.1/readme.html +0 -137
- data/doc/versions/0.0.1/style.css +0 -68
- data/doc/versions/0.0.1/syntax_highlight.css +0 -21
- data/features/TODO.txt +0 -5
- data/features/generators/app.feature +0 -11
- data/features/generators_steps.rb +0 -26
- data/features/shared/then_steps.rb +0 -1
- data/features/shared/when_steps.rb +0 -1
- data/features/support/env.rb +0 -64
- data/lib/rango/bundling/dependency.rb +0 -61
- data/lib/rango/bundling/strategies/copy.rb +0 -36
- data/lib/rango/bundling/strategies/gem.rb +0 -55
- data/lib/rango/bundling/strategies/git.rb +0 -71
- data/lib/rango/bundling/strategies/hg.rb +0 -9
- data/lib/rango/bundling/strategy.rb +0 -85
- data/lib/rango/cli/generator.rb +0 -122
- data/lib/rango/cli/templater.rb +0 -89
- data/lib/rango/ext.rb +0 -85
- data/lib/rango/ext/attribute.rb +0 -152
- data/lib/rango/ext/colored_string.rb +0 -105
- data/lib/rango/ext/kernel.rb +0 -91
- data/lib/rango/ext/platform.rb +0 -27
- data/lib/rango/ext/string.rb +0 -30
- data/lib/rango/ext/thor.rb +0 -32
- data/lib/rango/ext/unique_array.rb +0 -16
- data/lib/rango/generic_views.rb +0 -18
- data/lib/rango/mixins/controller.rb +0 -114
- data/lib/rango/orm/adapters/datamapper/setup.rb +0 -16
- data/lib/rango/orm/adapters/datamapper/tasks.thor +0 -41
- data/lib/rango/orm/adapters/datamapper/types/unicode_string.rb +0 -15
- data/lib/rango/tasks/bundle.thor +0 -28
- data/lib/rango/tasks/stats.thor +0 -1
- data/rango.gemspec.erb +0 -43
- data/spec/rango/ext/array_spec.rb +0 -19
- data/spec/rango/ext/attribute_spec.rb +0 -37
- data/spec/rango/ext/colored_string_spec.rb +0 -9
- data/spec/rango/ext/enumerable_spec.rb +0 -52
- data/spec/rango/ext/file_spec.rb +0 -78
- data/spec/rango/ext/hash_spec.rb +0 -91
- data/spec/rango/ext/kernel_spec.rb +0 -9
- data/spec/rango/ext/object_space_spec.rb +0 -17
- data/spec/rango/ext/object_spec.rb +0 -57
- data/spec/rango/ext/os_spec.rb +0 -121
- data/spec/rango/ext/random_spec.rb +0 -31
- data/spec/rango/ext/string_spec.rb +0 -23
- data/spec/rango/ext/thor_spec.rb +0 -26
- data/spec/rango/ext/time_dsl_spec.rb +0 -86
- data/spec/rango/ext/time_spec.rb +0 -11
- data/spec/rango/ext_spec.rb +0 -182
- data/spec/rango/helpers/spec/fixture/app/controllers/numeric_ext_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/option_tag_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/password_field_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/radio_button_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/radio_group_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/relative_date_span_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/relative_date_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/select_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/specs_controller_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/submit_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/tag_helper_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/text_area_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/controllers/text_field_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/helpers/global_helpers_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/models/fake_dm_model_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/models/first_generic_fake_model_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/models/hacker_generic_model_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/models/second_generic_fake_model_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/app/models/third_generic_fake_model_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/config/environments/development_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/config/environments/production_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/config/environments/test_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/config/init_spec.rb +0 -0
- data/spec/rango/helpers/spec/fixture/config/rack_spec.rb +0 -0
- data/spec/rango/helpers/spec/merb_helpers_config_spec_spec.rb +0 -0
- data/spec/rango/helpers/spec/merb_helpers_date_time_spec_spec.rb +0 -0
- data/spec/rango/helpers/spec/merb_helpers_form_spec_spec.rb +0 -0
- data/spec/rango/helpers/spec/merb_helpers_tag_helper_spec_spec.rb +0 -0
- data/spec/rango/helpers/spec/merb_helpers_text_spec_spec.rb +0 -0
- data/spec/rango/helpers/spec/numeric_extlib_spec_spec.rb +0 -0
- data/spec/rango/helpers/spec/ordinalize_spec_spec.rb +0 -0
- data/spec/rango/helpers/spec/spec_helper_spec.rb +0 -0
- data/spec/rango/helpers/spec/time_dsl_spec_spec.rb +0 -0
- data/spec/rango/mixins/controller_spec.rb +0 -0
- data/spec/rango/orm/adapters/datamapper/setup_spec.rb +0 -0
- data/spec/rango/orm/adapters/datamapper/types/unicode_string_spec.rb +0 -0
- data/spec/rango/router/adapters/basic_spec.rb +0 -0
- data/spec/rango/router/adapters/rack-router_spec.rb +0 -0
- data/spec/rango/router/dispatcher_spec.rb +0 -0
- data/stubs/app/preprocess.rb +0 -14
- data/stubs/bigapp/preprocess.rb +0 -5
- data/stubs/flat/preprocess.rb +0 -5
- data/stubs/project/content/TODO +0 -0
- data/stubs/project/content/Thorfile +0 -12
- data/stubs/project/content/config.ru +0 -33
- data/stubs/project/content/init.rb +0 -24
- data/stubs/project/content/settings.rb.rbt +0 -10
- data/stubs/pupu/content/CHANGELOG +0 -0
- data/stubs/pupu/content/LICENSE.rbt +0 -20
- data/stubs/pupu/content/README.textile.rbt +0 -7
- data/stubs/pupu/content/TODO +0 -5
- data/stubs/pupu/content/Thorfile.rbt +0 -21
- data/stubs/pupu/content/config.rb.rbt +0 -14
- data/stubs/pupu/content/initializers/%name%.css +0 -0
- data/stubs/pupu/content/initializers/%name%.js +0 -3
- data/stubs/pupu/content/javascripts/%name%.js +0 -0
- data/stubs/pupu/content/stylesheets/%name%.css +0 -0
- data/stubs/pupu/metadata.yml +0 -4
- data/stubs/pupu/preprocess.rb +0 -7
- data/stubs/stub/content/metadata.yml +0 -4
- data/stubs/stub/content/postprocess.rb +0 -5
- data/stubs/stub/content/preprocess.rb +0 -5
- data/stubs/stub/metadata.yml +0 -4
- data/templates.txt +0 -39
data/lib/rango/exceptions.rb
CHANGED
@@ -58,61 +58,61 @@ module Rango
|
|
58
58
|
# http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
|
59
59
|
|
60
60
|
# informational
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
Informational = Class.new(Rango::HttpError)
|
62
|
+
Error100 = Continue = Class.new(Rango::Informational) { STATUS ||= 100 }
|
63
|
+
Error101 = SwitchingProtocols = Class.new(Rango::Informational) { STATUS ||= 101 }
|
64
64
|
|
65
65
|
# successful
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
66
|
+
Successful = Class.new(Rango::HttpError)
|
67
|
+
Error200 = OK = Class.new(Rango::Successful) { STATUS ||= 200 }
|
68
|
+
Error201 = Created = Class.new(Rango::Successful) { STATUS ||= 201 }
|
69
|
+
Error202 = Accepted = Class.new(Rango::Successful) { STATUS ||= 202 }
|
70
|
+
Error203 = NonAuthoritativeInformation = Class.new(Rango::Successful) { STATUS ||= 203 }
|
71
|
+
Error204 = NoContent = Class.new(Rango::Successful) { STATUS ||= 204 }
|
72
|
+
Error205 = ResetContent = Class.new(Rango::Successful) { STATUS ||= 205 }
|
73
|
+
Error206 = PartialContent = Class.new(Rango::Successful) { STATUS ||= 206 }
|
74
74
|
|
75
75
|
# redirection
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
76
|
+
Redirection = Class.new(Rango::HttpError)
|
77
|
+
Error300 = MultipleChoices = Class.new(Rango::Redirection) { STATUS ||= 300 }
|
78
|
+
Error301 = MovedPermanently = Class.new(Rango::Redirection) { STATUS ||= 301 }
|
79
|
+
Error302 = MovedTemporarily = Class.new(Rango::Redirection) { STATUS ||= 302 }
|
80
|
+
Error303 = SeeOther = Class.new(Rango::Redirection) { STATUS ||= 303 }
|
81
|
+
Error304 = NotModified = Class.new(Rango::Redirection) { STATUS ||= 304 }
|
82
|
+
Error305 = UseProxy = Class.new(Rango::Redirection) { STATUS ||= 305 }
|
83
|
+
Error307 = TemporaryRedirect = Class.new(Rango::Redirection) { STATUS ||= 307 }
|
84
84
|
|
85
85
|
# client error
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
86
|
+
ClientError = Class.new(Rango::HttpError)
|
87
|
+
Error400 = BadRequest = Class.new(Rango::ClientError) { STATUS ||= 400 }
|
88
|
+
MultiPartParseError = Class.new(Rango::BadRequest)
|
89
|
+
Error401 = Unauthorized = Class.new(Rango::ClientError) { STATUS ||= 401 }
|
90
|
+
Error402 = PaymentRequired = Class.new(Rango::ClientError) { STATUS ||= 402 }
|
91
|
+
Error403 = Forbidden = Class.new(Rango::ClientError) { STATUS ||= 403 }
|
92
|
+
Error404 = NotFound = Class.new(Rango::ClientError) { STATUS ||= 404 }
|
93
|
+
ActionNotFound = Class.new(Rango::NotFound)
|
94
|
+
TemplateNotFound = Class.new(Rango::NotFound)
|
95
|
+
LayoutNotFound = Class.new(Rango::NotFound)
|
96
|
+
Error405 = MethodNotAllowed = Class.new(Rango::ClientError) { STATUS ||= 405 }
|
97
|
+
Error406 = NotAcceptable = Class.new(Rango::ClientError) { STATUS ||= 406 }
|
98
|
+
Error407 = ProxyAuthenticationRequired = Class.new(Rango::ClientError) { STATUS ||= 407 }
|
99
|
+
Error408 = RequestTimeout = Class.new(Rango::ClientError) { STATUS ||= 408 }
|
100
|
+
Error409 = Conflict = Class.new(Rango::ClientError) { STATUS ||= 409 }
|
101
|
+
Error410 = Gone = Class.new(Rango::ClientError) { STATUS ||= 410 }
|
102
|
+
Error411 = LengthRequired = Class.new(Rango::ClientError) { STATUS ||= 411 }
|
103
|
+
Error412 = PreconditionFailed = Class.new(Rango::ClientError) { STATUS ||= 412 }
|
104
|
+
Error413 = RequestEntityTooLarge = Class.new(Rango::ClientError) { STATUS ||= 413 }
|
105
|
+
Error414 = RequestURITooLarge = Class.new(Rango::ClientError) { STATUS ||= 414 }
|
106
|
+
Error415 = UnsupportedMediaType = Class.new(Rango::ClientError) { STATUS ||= 415 }
|
107
|
+
Error416 = RequestRangeNotSatisfiable = Class.new(Rango::ClientError) { STATUS ||= 416 }
|
108
|
+
Error417 = ExpectationFailed = Class.new(Rango::ClientError) { STATUS ||= 417 }
|
109
109
|
|
110
110
|
# server error
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
111
|
+
ServerError = Class.new(Rango::HttpError)
|
112
|
+
Error500 = InternalServerError = Class.new(Rango::ServerError) { STATUS ||= 500 }
|
113
|
+
Error501 = NotImplemented = Class.new(Rango::ServerError) { STATUS ||= 501 }
|
114
|
+
Error502 = BadGateway = Class.new(Rango::ServerError) { STATUS ||= 502 }
|
115
|
+
Error503 = ServiceUnavailable = Class.new(Rango::ServerError) { STATUS ||= 503 }
|
116
|
+
Error504 = GatewayTimeout = Class.new(Rango::ServerError) { STATUS ||= 504 }
|
117
|
+
Error505 = HTTPVersionNotSupported = Class.new(Rango::ServerError) { STATUS ||= 505 }
|
118
118
|
end
|
data/lib/rango/gv.rb
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# GV = generic views
|
4
|
+
require "rango/mixins/render"
|
5
|
+
|
6
|
+
# what about filters?
|
7
|
+
# - include to controller or use directly (include Rango::GV, but what if I want to include just for example static gv?)
|
8
|
+
# - or Rango::GV.extend FiltersMixin
|
9
|
+
|
10
|
+
module Rango
|
11
|
+
module GV
|
12
|
+
class View
|
13
|
+
include Rango::Helpers
|
14
|
+
include Rango::RenderMixin
|
15
|
+
attr_reader :name, :definition
|
16
|
+
attr_accessor :args, :custom_block # we can't use just block because of block(:head)
|
17
|
+
attr_accessor :env, :request, :response
|
18
|
+
def initialize(name, &definition)
|
19
|
+
@name, @definition = name, definition
|
20
|
+
end
|
21
|
+
|
22
|
+
def setup(*args, &custom_block)
|
23
|
+
self.args = args
|
24
|
+
self.custom_block = custom_block
|
25
|
+
end
|
26
|
+
|
27
|
+
def call(env)
|
28
|
+
Rango::Router.new.set_rack_env(env) # so env["usher.params"] => env["rango.router.params"]
|
29
|
+
self.request = Rango::Request.new(env)
|
30
|
+
self.response = Rack::Response.new
|
31
|
+
self.env = env
|
32
|
+
|
33
|
+
# Welcome to Ruby 1.9 world! instance_exec is the same as instance_eval,
|
34
|
+
# but it can takes arguments for the custom_block
|
35
|
+
args = [*self.args, self.custom_block]
|
36
|
+
Rango.logger.debug("Calling generic view #{self.name} with #{args.inspect}")
|
37
|
+
body = self.instance_exec(*args, &self.definition)
|
38
|
+
|
39
|
+
# TODO: check how rack test if object is stringable, probably not this way
|
40
|
+
raise ArgumentError unless body.respond_to?(:each) || body.is_a?(String)
|
41
|
+
response.write(body)
|
42
|
+
response.finish
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.define(action, &definition)
|
47
|
+
# instance method for including
|
48
|
+
define_method(action, &definition)
|
49
|
+
|
50
|
+
# class method for direct usage
|
51
|
+
# TODO: clean this mess before someone start vomit
|
52
|
+
@@view = View.new(action, &definition)
|
53
|
+
module_eval <<-RUBY, __FILE__, __LINE__
|
54
|
+
def self.#{action}(*args, &block)
|
55
|
+
view = @@view.dup
|
56
|
+
view.setup(*args, &block)
|
57
|
+
view # has #call
|
58
|
+
end
|
59
|
+
RUBY
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# require params[:path]
|
65
|
+
# @example
|
66
|
+
# Usher::Interface.for(:rack) do
|
67
|
+
# get("/").to(Rango::GV.static("index"))
|
68
|
+
# get("/:template").to(::Static.dispatcher(:show)).name(:static)
|
69
|
+
# get("/:template").to(Rango::GenericViews.dispatcher(:static)).name(:static)
|
70
|
+
# get("/:template").to do |env|
|
71
|
+
# env["rango.params"][:template] # transform
|
72
|
+
# Rango::GV.static
|
73
|
+
# end
|
74
|
+
# end
|
75
|
+
|
76
|
+
# THE MAIN PROBLEM IS THIS CAN'T WORK WITH BLOCKS
|
77
|
+
# BECAUSE OF instance_exec(*args, &block, &definition) will cause syntax error in Ruby
|
78
|
+
|
79
|
+
###############
|
80
|
+
# This might be the best solution:
|
81
|
+
#Rango::GV.define(:static) do |view, template = nil, &block|
|
82
|
+
#end
|
83
|
+
|
84
|
+
# implementation: just definition.call(self, *self.args, &self.block)
|
85
|
+
###############
|
86
|
+
|
87
|
+
Rango::GV.define(:static) do |hook = nil|
|
88
|
+
require "rango/helpers" # for javascripts etc helpers
|
89
|
+
path = env["rango.router.params"][:template]
|
90
|
+
path = hook.call(path) unless hook.nil?
|
91
|
+
Rango.logger.debug("Rendering '#{path}'")
|
92
|
+
render path
|
93
|
+
end
|
data/lib/rango/helpers.rb
CHANGED
@@ -18,7 +18,7 @@ module Rango
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
require "rango/helpers/assets"
|
22
|
+
require "rango/helpers/syntax"
|
23
|
+
require "rango/helpers/general"
|
24
|
+
require "rango/helpers/merb-helpers"
|
data/lib/rango/helpers/assets.rb
CHANGED
@@ -1,21 +1,30 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
+
# TODO: javascript "application" => media/javascripts/application.js
|
4
|
+
# ... but what if I need full path? It should be tested if file exist, of course
|
5
|
+
# javascript Path.new("design/whatever.js")
|
3
6
|
module Rango
|
4
7
|
module Helpers
|
5
8
|
# stolen from pupu (but it's OK, it's my code)
|
6
9
|
# @since 0.0.2
|
7
10
|
def javascript(basename)
|
8
|
-
path =
|
11
|
+
path = MediaPath.new(File.join(Project.settings.media_root, "javascripts", "#{basename}.js"))
|
9
12
|
tag :script, src: path.url, type: "text/javascript"
|
10
13
|
end
|
11
14
|
|
12
15
|
# @since 0.0.2
|
13
16
|
def stylesheet(basename, attrs = Hash.new)
|
14
|
-
path =
|
17
|
+
path = MediaPath.new(File.join(Project.settings.media_root, "stylesheets", basename))
|
15
18
|
default = {href: path.url, media: 'screen', rel: 'stylesheet', type: 'text/css'}
|
16
19
|
single_tag :link, default.merge(attrs)
|
17
20
|
end
|
18
21
|
|
22
|
+
def image(basename, attrs = Hash.new)
|
23
|
+
path = MediaPath.new(File.join(Project.settings.media_root, "images", basename))
|
24
|
+
default = {src: path.url, alt: path.basename}
|
25
|
+
single_tag :img, default.merge(attrs)
|
26
|
+
end
|
27
|
+
|
19
28
|
# @since 0.0.2
|
20
29
|
def javascripts(*names)
|
21
30
|
names.map { |name| self.javascript(name) }.join("\n")
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
module DateAndTimeFormatting
|
4
|
-
|
5
4
|
def self.included(base)
|
6
5
|
base.class_eval do
|
7
6
|
include DateAndTimeFormatting::InstanceMethods
|
@@ -11,8 +10,6 @@ module DateAndTimeFormatting
|
|
11
10
|
end
|
12
11
|
|
13
12
|
module InstanceMethods
|
14
|
-
|
15
|
-
|
16
13
|
# Formats a date/time instance using a defined format
|
17
14
|
#
|
18
15
|
# ==== Parameters
|
@@ -40,11 +37,9 @@ module DateAndTimeFormatting
|
|
40
37
|
def formatted(format = :default)
|
41
38
|
self.strftime(Date.formats[format])
|
42
39
|
end
|
43
|
-
|
44
40
|
end
|
45
41
|
|
46
42
|
module ClassMethods
|
47
|
-
|
48
43
|
@@formats = {
|
49
44
|
:db => "%Y-%m-%d %H:%M:%S",
|
50
45
|
:time => "%H:%M", # 21:12
|
@@ -92,18 +87,7 @@ module DateAndTimeFormatting
|
|
92
87
|
def add_format(key, format)
|
93
88
|
formats.merge!({key => format})
|
94
89
|
end
|
95
|
-
|
96
|
-
|
97
|
-
# Resets the date and time formats
|
98
|
-
# --
|
99
|
-
# @private
|
100
|
-
def reset_formats
|
101
|
-
original_formats = [:db, :time, :short, :date, :long, :long_ordinal, :rfc822]
|
102
|
-
formats = @@formats.delete_if{|format, v| !original_formats.include?(format)}
|
103
|
-
end
|
104
|
-
|
105
90
|
end
|
106
|
-
|
107
91
|
end
|
108
92
|
|
109
93
|
module Ordinalize
|
@@ -134,7 +118,6 @@ Integer.send :include, Ordinalize
|
|
134
118
|
# Time.now.to_ordinalized_s :long
|
135
119
|
# => "February 28th, 2006 21:10"
|
136
120
|
module OrdinalizedFormatting
|
137
|
-
|
138
121
|
def to_ordinalized_s(format = :default)
|
139
122
|
format = Date.formats[format]
|
140
123
|
return self.to_s if format.nil?
|
@@ -152,7 +135,10 @@ module OrdinalizedFormatting
|
|
152
135
|
#
|
153
136
|
# ==== Examples
|
154
137
|
# 5.days.ago.strftime_ordinalized('%b %d, %Y') # =>
|
155
|
-
def strftime_ordinalized(fmt, format=nil)
|
156
|
-
strftime(fmt.gsub(/(^|[^-])%d/, '\1_%d_')).gsub(/_(\d+)_/) { |s| s.to_i.ordinalize }
|
138
|
+
def strftime_ordinalized(fmt, format = nil)
|
139
|
+
strftime(fmt.gsub(/(^|[^-])%d/, '\1_%d_')).gsub(/_(\d+)_/) { |s| s[1..-2].to_i.ordinalize }
|
157
140
|
end
|
158
141
|
end
|
142
|
+
|
143
|
+
Time.send(:include, DateAndTimeFormatting)
|
144
|
+
Date.send(:include, DateAndTimeFormatting)
|
@@ -1,447 +1,450 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
module
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
3
|
+
require_relative "../tag_helpers"
|
4
|
+
|
5
|
+
module Rango
|
6
|
+
module Helpers
|
7
|
+
module Form
|
8
|
+
module Builder
|
9
|
+
class Base
|
10
|
+
include Rango::Helpers::Tag
|
11
|
+
include Rango::Templates::TemplateHelpers
|
12
|
+
|
13
|
+
def initialize(obj, name, origin)
|
14
|
+
@obj, @origin = obj, origin
|
15
|
+
@name = name || @obj.class.name.snake_case.split("/").last
|
16
|
+
end
|
17
|
+
|
18
|
+
def form(attrs = {}, &block)
|
19
|
+
captured = @origin.capture(&block)
|
20
|
+
fake_method_tag = process_form_attrs(attrs)
|
21
|
+
tag(:form, fake_method_tag + captured, attrs)
|
22
|
+
end
|
23
|
+
|
24
|
+
def fieldset(attrs, &block)
|
25
|
+
legend = (l_attr = attrs.delete(:legend)) ? tag(:legend, l_attr) : ""
|
26
|
+
tag(:fieldset, legend + @origin.capture(&block), attrs)
|
27
|
+
# @origin.concat(contents, block.binding)
|
28
|
+
end
|
29
|
+
|
30
|
+
%w(text password hidden file).each do |kind|
|
31
|
+
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
32
|
+
def bound_#{kind}_field(method, attrs = {})
|
33
|
+
name = control_name(method)
|
34
|
+
update_bound_controls(method, attrs, "#{kind}")
|
35
|
+
unbound_#{kind}_field({
|
36
|
+
:name => name,
|
37
|
+
:value => control_value(method)
|
38
|
+
}.merge(attrs))
|
39
|
+
end
|
40
|
+
|
41
|
+
def unbound_#{kind}_field(attrs)
|
42
|
+
update_unbound_controls(attrs, "#{kind}")
|
43
|
+
self_closing_tag(:input, {:type => "#{kind}"}.merge(attrs))
|
44
|
+
end
|
45
|
+
RUBY
|
46
|
+
end
|
47
|
+
|
48
|
+
def bound_check_box(method, attrs = {})
|
49
|
+
name = control_name(method)
|
50
|
+
update_bound_controls(method, attrs, "checkbox")
|
51
|
+
unbound_check_box({:name => name}.merge(attrs))
|
52
|
+
end
|
53
|
+
|
54
|
+
def unbound_check_box(attrs)
|
55
|
+
update_unbound_controls(attrs, "checkbox")
|
56
|
+
if attrs.delete(:boolean)
|
57
|
+
on, off = attrs.delete(:on), attrs.delete(:off)
|
58
|
+
unbound_hidden_field(:name => attrs[:name], :value => off) <<
|
59
|
+
self_closing_tag(:input, {:type => "checkbox", :value => on}.merge(attrs))
|
60
|
+
else
|
61
|
+
self_closing_tag(:input, {:type => "checkbox"}.merge(attrs))
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def bound_radio_button(method, attrs = {})
|
66
|
+
name = control_name(method)
|
67
|
+
update_bound_controls(method, attrs, "radio")
|
68
|
+
unbound_radio_button({:name => name, :value => control_value(method)}.merge(attrs))
|
69
|
+
end
|
70
|
+
|
71
|
+
def unbound_radio_button(attrs)
|
72
|
+
update_unbound_controls(attrs, "radio")
|
73
|
+
self_closing_tag(:input, {:type => "radio"}.merge(attrs))
|
74
|
+
end
|
75
|
+
|
76
|
+
def bound_radio_group(method, arr)
|
77
|
+
val = control_value(method)
|
78
|
+
arr.map do |attrs|
|
79
|
+
attrs = {:value => attrs} unless attrs.is_a?(Hash)
|
80
|
+
attrs[:checked] = true if (val == attrs[:value])
|
81
|
+
radio_group_item(method, attrs)
|
82
|
+
end.join
|
83
|
+
end
|
84
|
+
|
85
|
+
def unbound_radio_group(arr, attrs = {})
|
86
|
+
arr.map do |ind_attrs|
|
87
|
+
ind_attrs = {:value => ind_attrs} unless ind_attrs.is_a?(Hash)
|
88
|
+
joined = attrs.merge(ind_attrs)
|
89
|
+
joined.merge!(:label => joined[:label] || joined[:value])
|
90
|
+
unbound_radio_button(joined)
|
91
|
+
end.join
|
92
|
+
end
|
93
|
+
|
94
|
+
def bound_select(method, attrs = {})
|
95
|
+
name = control_name(method)
|
96
|
+
update_bound_controls(method, attrs, "select")
|
97
|
+
unbound_select({:name => name}.merge(attrs))
|
98
|
+
end
|
99
|
+
|
100
|
+
def unbound_select(attrs = {})
|
101
|
+
update_unbound_controls(attrs, "select")
|
102
|
+
attrs[:name] << "[]" if attrs[:multiple] && !(attrs[:name] =~ /\[\]$/)
|
103
|
+
tag(:select, options_for(attrs), attrs)
|
104
|
+
end
|
105
|
+
|
106
|
+
def bound_text_area(method, attrs = {})
|
107
|
+
name = "#{@name}[#{method}]"
|
108
|
+
update_bound_controls(method, attrs, "text_area")
|
109
|
+
unbound_text_area(control_value(method), {:name => name}.merge(attrs))
|
110
|
+
end
|
111
|
+
|
112
|
+
def unbound_text_area(contents, attrs)
|
113
|
+
update_unbound_controls(attrs, "text_area")
|
114
|
+
tag(:textarea, contents, attrs)
|
115
|
+
end
|
116
|
+
|
117
|
+
def button(contents, attrs)
|
118
|
+
update_unbound_controls(attrs, "button")
|
119
|
+
tag(:button, contents, attrs)
|
120
|
+
end
|
121
|
+
|
122
|
+
def submit(value, attrs)
|
123
|
+
attrs[:type] ||= "submit"
|
124
|
+
attrs[:value] ||= value
|
125
|
+
update_unbound_controls(attrs, "submit")
|
126
|
+
self_closing_tag(:input, attrs)
|
127
|
+
end
|
128
|
+
|
129
|
+
private
|
130
|
+
|
131
|
+
def process_form_attrs(attrs)
|
132
|
+
method = attrs[:method]
|
133
|
+
|
134
|
+
# Unless the method is :get, fake out the method using :post
|
135
|
+
attrs[:method] = :post unless attrs[:method] == :get
|
136
|
+
# Use a fake PUT if the object is not new, otherwise use the method
|
137
|
+
# passed in. Defaults to :post if no method is set.
|
138
|
+
method ||= (@obj.respond_to?(:new_record?) && !@obj.new_record?) || (@obj.respond_to?(:new?) && !@obj.new?) ? :put : :post
|
139
|
+
|
140
|
+
attrs[:enctype] = "multipart/form-data" if attrs.delete(:multipart) || @multipart
|
141
|
+
|
142
|
+
method == :post || method == :get ? "" : fake_out_method(attrs, method)
|
143
|
+
end
|
144
|
+
|
145
|
+
# This can be overridden to use another method to fake out methods
|
146
|
+
def fake_out_method(attrs, method)
|
147
|
+
self_closing_tag(:input, :type => "hidden", :name => "_method", :value => method)
|
148
|
+
end
|
149
|
+
|
150
|
+
def update_bound_controls(method, attrs, type)
|
151
|
+
case type
|
152
|
+
when "checkbox"
|
153
|
+
update_bound_check_box(method, attrs)
|
154
|
+
when "select"
|
155
|
+
update_bound_select(method, attrs)
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
def update_bound_check_box(method, attrs)
|
160
|
+
raise ArgumentError, ":value can't be used with a bound_check_box" if attrs.has_key?(:value)
|
161
|
+
|
162
|
+
attrs[:boolean] = attrs.fetch(:boolean, true)
|
163
|
+
|
164
|
+
val = control_value(method)
|
165
|
+
attrs[:checked] = attrs.key?(:on) ? val == attrs[:on] : considered_true?(val)
|
166
|
+
end
|
167
|
+
|
168
|
+
def update_bound_select(method, attrs)
|
169
|
+
attrs[:value_method] ||= method
|
170
|
+
attrs[:text_method] ||= attrs[:value_method] || :to_s
|
171
|
+
attrs[:selected] ||= control_value(attrs[:value_method])
|
172
|
+
end
|
173
|
+
|
174
|
+
def update_unbound_controls(attrs, type)
|
175
|
+
case type
|
176
|
+
when "checkbox"
|
177
|
+
update_unbound_check_box(attrs)
|
178
|
+
when "radio"
|
179
|
+
update_unbound_radio_button(attrs)
|
180
|
+
when "file"
|
181
|
+
@multipart = true
|
182
|
+
end
|
183
|
+
|
184
|
+
attrs[:disabled] ? attrs[:disabled] = "disabled" : attrs.delete(:disabled)
|
185
|
+
end
|
186
|
+
|
187
|
+
def update_unbound_check_box(attrs)
|
188
|
+
boolean = attrs[:boolean] || (attrs[:on] && attrs[:off]) ? true : false
|
189
|
+
|
190
|
+
case
|
191
|
+
when attrs.key?(:on) ^ attrs.key?(:off)
|
192
|
+
raise ArgumentError, ":on and :off must be specified together"
|
193
|
+
when (attrs[:boolean] == false) && (attrs.key?(:on))
|
194
|
+
raise ArgumentError, ":boolean => false cannot be used with :on and :off"
|
195
|
+
when boolean && attrs.key?(:value)
|
196
|
+
raise ArgumentError, ":value can't be used with a boolean checkbox"
|
197
|
+
end
|
198
|
+
|
199
|
+
if attrs[:boolean] = boolean
|
200
|
+
attrs[:on] ||= "1"; attrs[:off] ||= "0"
|
201
|
+
end
|
202
|
+
|
203
|
+
attrs[:checked] = "checked" if attrs.delete(:checked)
|
204
|
+
end
|
205
|
+
|
206
|
+
def update_unbound_radio_button(attrs)
|
207
|
+
attrs[:checked] = "checked" if attrs.delete(:checked)
|
208
|
+
end
|
209
|
+
|
210
|
+
# Accepts a collection (hash, array, enumerable, your type) and returns a string of option tags.
|
211
|
+
# Given a collection where the elements respond to first and last (such as a two-element array),
|
212
|
+
# the "lasts" serve as option values and the "firsts" as option text. Hashes are turned into
|
213
|
+
# this form automatically, so the keys become "firsts" and values become lasts. If selected is
|
214
|
+
# specified, the matching "last" or element will get the selected option-tag. Selected may also
|
215
|
+
# be an array of values to be selected when using a multiple select.
|
216
|
+
#
|
217
|
+
# ==== Parameters
|
218
|
+
# attrs<Hash>:: HTML attributes and options
|
219
|
+
#
|
220
|
+
# ==== Options
|
221
|
+
# +selected+:: The value of a selected object, which may be either a string or an array.
|
222
|
+
# +prompt+:: Adds an addtional option tag with the provided string with no value.
|
223
|
+
# +include_blank+:: Adds an additional blank option tag with no value.
|
224
|
+
#
|
225
|
+
# ==== Returns
|
226
|
+
# String:: HTML
|
227
|
+
#
|
228
|
+
# ==== Examples
|
229
|
+
# <%= options_for [["apple", "Apple Pie"], ["orange", "Orange Juice"]], :selected => "orange"
|
230
|
+
# => <option value="apple">Apple Pie</option><option value="orange" selected="selected">Orange Juice</option>
|
231
|
+
#
|
232
|
+
# <%= options_for [["apple", "Apple Pie"], ["orange", "Orange Juice"]], :selected => ["orange", "apple"], :prompt => "Select One"
|
233
|
+
# => <option value="">Select One</option><option value="apple" selected="selected">Apple Pie</option><option value="orange" selected="selected">Orange Juice</option>
|
234
|
+
def options_for(attrs)
|
235
|
+
blank, prompt = attrs.delete(:include_blank), attrs.delete(:prompt)
|
236
|
+
b = blank || prompt ? tag(:option, prompt || "", :value => "") : ""
|
237
|
+
|
238
|
+
# yank out the options attrs
|
239
|
+
collection, selected, text_method, value_method =
|
240
|
+
attrs.extract!(:collection, :selected, :text_method, :value_method)
|
241
|
+
|
242
|
+
# if the collection is a Hash, optgroups are a-coming
|
243
|
+
if collection.is_a?(Hash)
|
244
|
+
([b] + collection.map do |g,col|
|
245
|
+
tag(:optgroup, options(col, text_method, value_method, selected), :label => g)
|
246
|
+
end).join
|
247
|
+
else
|
248
|
+
options(collection || [], text_method, value_method, selected, b)
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
def options(col, text_meth, value_meth, sel, b = nil)
|
253
|
+
([b] + col.map do |item|
|
254
|
+
text_meth = text_meth && item.respond_to?(text_meth) ? text_meth : :last
|
255
|
+
value_meth = value_meth && item.respond_to?(value_meth) ? value_meth : :first
|
256
|
+
|
257
|
+
text = item.is_a?(String) ? item : item.send(text_meth)
|
258
|
+
value = item.is_a?(String) ? item : item.send(value_meth)
|
259
|
+
|
260
|
+
# unless Rango.disabled?(:merb_helper_escaping)
|
261
|
+
# text = Rango::Parse.escape_xml(text)
|
262
|
+
# value = Rango::Parse.escape_xml(value)
|
263
|
+
# end
|
264
|
+
|
265
|
+
option_attrs = {:value => value}
|
266
|
+
if sel.is_a?(Array)
|
267
|
+
option_attrs.merge!(:selected => "selected") if value.in? sel
|
268
|
+
else
|
269
|
+
option_attrs.merge!(:selected => "selected") if value == sel
|
270
|
+
end
|
271
|
+
tag(:option, text, option_attrs)
|
272
|
+
end).join
|
273
|
+
end
|
274
|
+
|
275
|
+
def radio_group_item(method, attrs)
|
276
|
+
attrs.merge!(:checked => "checked") if attrs[:checked]
|
277
|
+
bound_radio_button(method, attrs)
|
278
|
+
end
|
279
|
+
|
280
|
+
def considered_true?(value)
|
281
|
+
value && value != "false" && value != "0" && value != 0
|
282
|
+
end
|
283
|
+
|
284
|
+
def control_name(method)
|
285
|
+
@obj ? "#{@name}[#{method}]" : method
|
286
|
+
end
|
287
|
+
|
288
|
+
def control_value(method)
|
289
|
+
value = @obj ? @obj.send(method) : @origin.params[method]
|
290
|
+
# if Rango.disabled?(:merb_helper_escaping)
|
291
|
+
value.to_s
|
292
|
+
# else
|
293
|
+
# Rango::Parse.escape_xml(value.to_s)
|
294
|
+
# end
|
295
|
+
end
|
296
|
+
|
297
|
+
def add_css_class(attrs, new_class)
|
298
|
+
attrs[:class] = attrs[:class] ? "#{attrs[:class]} #{new_class}" : new_class
|
299
|
+
end
|
38
300
|
end
|
39
301
|
|
40
|
-
|
41
|
-
|
42
|
-
|
302
|
+
class Form < Base
|
303
|
+
def label(contents, attrs = {})
|
304
|
+
if contents
|
305
|
+
if contents.is_a?(Hash)
|
306
|
+
label_attrs = contents
|
307
|
+
contents = label_attrs.delete(:title)
|
308
|
+
else
|
309
|
+
label_attrs = attrs
|
310
|
+
end
|
311
|
+
tag(:label, contents, label_attrs)
|
312
|
+
else
|
313
|
+
""
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
317
|
+
%w(text password file).each do |kind|
|
318
|
+
self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
319
|
+
def unbound_#{kind}_field(attrs = {})
|
320
|
+
unbound_label(attrs) + super
|
321
|
+
end
|
322
|
+
RUBY
|
323
|
+
end
|
324
|
+
|
325
|
+
def unbound_label(attrs = {})
|
326
|
+
if attrs[:id]
|
327
|
+
label_attrs = {:for => attrs[:id]}
|
328
|
+
elsif attrs[:name]
|
329
|
+
label_attrs = {:for => attrs[:name]}
|
330
|
+
else
|
331
|
+
label_attrs = {}
|
332
|
+
end
|
333
|
+
|
334
|
+
label_option = attrs.delete(:label)
|
335
|
+
if label_option.is_a? Hash
|
336
|
+
label(label_attrs.merge(label_option))
|
337
|
+
else
|
338
|
+
label(label_option, label_attrs)
|
339
|
+
end
|
340
|
+
end
|
341
|
+
|
342
|
+
def unbound_check_box(attrs = {})
|
343
|
+
label_text = unbound_label(attrs)
|
344
|
+
super + label_text
|
345
|
+
end
|
346
|
+
|
347
|
+
def unbound_hidden_field(attrs = {})
|
348
|
+
attrs.delete(:label)
|
349
|
+
super
|
350
|
+
end
|
351
|
+
|
352
|
+
def unbound_radio_button(attrs = {})
|
353
|
+
label_text = unbound_label(attrs)
|
354
|
+
super + label_text
|
355
|
+
end
|
356
|
+
|
357
|
+
def unbound_select(attrs = {})
|
358
|
+
unbound_label(attrs) + super
|
359
|
+
end
|
360
|
+
|
361
|
+
def unbound_text_area(contents, attrs = {})
|
362
|
+
unbound_label(attrs) + super
|
363
|
+
end
|
364
|
+
|
365
|
+
def button(contents, attrs = {})
|
366
|
+
unbound_label(attrs) + super
|
367
|
+
end
|
368
|
+
|
369
|
+
def submit(value, attrs = {})
|
370
|
+
unbound_label(attrs) + super
|
371
|
+
end
|
372
|
+
|
373
|
+
private
|
374
|
+
|
375
|
+
def update_bound_controls(method, attrs, type)
|
376
|
+
attrs.merge!(:id => "#{@name}_#{method}") unless attrs[:id]
|
377
|
+
super
|
378
|
+
end
|
379
|
+
|
380
|
+
def update_unbound_controls(attrs, type)
|
381
|
+
attrs.merge!(:id => attrs[:name]) if attrs[:name] && !attrs[:id]
|
382
|
+
|
383
|
+
case type
|
384
|
+
when "text", "radio", "password", "hidden", "checkbox", "file"
|
385
|
+
add_css_class(attrs, type)
|
386
|
+
end
|
387
|
+
super
|
388
|
+
end
|
389
|
+
|
390
|
+
def radio_group_item(method, attrs)
|
391
|
+
unless attrs[:id]
|
392
|
+
attrs.merge!(:id => "#{@name}_#{method}_#{attrs[:value]}")
|
393
|
+
end
|
394
|
+
|
395
|
+
attrs.merge!(:label => attrs[:label] || attrs[:value])
|
396
|
+
super
|
397
|
+
end
|
43
398
|
end
|
44
|
-
RUBY
|
45
|
-
end
|
46
|
-
|
47
|
-
def bound_check_box(method, attrs = {})
|
48
|
-
name = control_name(method)
|
49
|
-
update_bound_controls(method, attrs, "checkbox")
|
50
|
-
unbound_check_box({:name => name}.merge(attrs))
|
51
|
-
end
|
52
|
-
|
53
|
-
def unbound_check_box(attrs)
|
54
|
-
update_unbound_controls(attrs, "checkbox")
|
55
|
-
if attrs.delete(:boolean)
|
56
|
-
on, off = attrs.delete(:on), attrs.delete(:off)
|
57
|
-
unbound_hidden_field(:name => attrs[:name], :value => off) <<
|
58
|
-
self_closing_tag(:input, {:type => "checkbox", :value => on}.merge(attrs))
|
59
|
-
else
|
60
|
-
self_closing_tag(:input, {:type => "checkbox"}.merge(attrs))
|
61
|
-
end
|
62
|
-
end
|
63
399
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
end
|
400
|
+
module Errorifier
|
401
|
+
def error_messages_for(obj, error_class, build_li, header, before)
|
402
|
+
obj ||= @obj
|
403
|
+
return "" unless obj.respond_to?(:errors)
|
69
404
|
|
70
|
-
|
71
|
-
|
72
|
-
self_closing_tag(:input, {:type => "radio"}.merge(attrs))
|
73
|
-
end
|
74
|
-
|
75
|
-
def bound_radio_group(method, arr)
|
76
|
-
val = control_value(method)
|
77
|
-
arr.map do |attrs|
|
78
|
-
attrs = {:value => attrs} unless attrs.is_a?(Hash)
|
79
|
-
attrs[:checked] = true if (val == attrs[:value])
|
80
|
-
radio_group_item(method, attrs)
|
81
|
-
end.join
|
82
|
-
end
|
83
|
-
|
84
|
-
def unbound_radio_group(arr, attrs = {})
|
85
|
-
arr.map do |ind_attrs|
|
86
|
-
ind_attrs = {:value => ind_attrs} unless ind_attrs.is_a?(Hash)
|
87
|
-
joined = attrs.merge(ind_attrs)
|
88
|
-
joined.merge!(:label => joined[:label] || joined[:value])
|
89
|
-
unbound_radio_button(joined)
|
90
|
-
end.join
|
91
|
-
end
|
92
|
-
|
93
|
-
def bound_select(method, attrs = {})
|
94
|
-
name = control_name(method)
|
95
|
-
update_bound_controls(method, attrs, "select")
|
96
|
-
unbound_select({:name => name}.merge(attrs))
|
97
|
-
end
|
98
|
-
|
99
|
-
def unbound_select(attrs = {})
|
100
|
-
update_unbound_controls(attrs, "select")
|
101
|
-
attrs[:name] << "[]" if attrs[:multiple] && !(attrs[:name] =~ /\[\]$/)
|
102
|
-
tag(:select, options_for(attrs), attrs)
|
103
|
-
end
|
104
|
-
|
105
|
-
def bound_text_area(method, attrs = {})
|
106
|
-
name = "#{@name}[#{method}]"
|
107
|
-
update_bound_controls(method, attrs, "text_area")
|
108
|
-
unbound_text_area(control_value(method), {:name => name}.merge(attrs))
|
109
|
-
end
|
110
|
-
|
111
|
-
def unbound_text_area(contents, attrs)
|
112
|
-
update_unbound_controls(attrs, "text_area")
|
113
|
-
tag(:textarea, contents, attrs)
|
114
|
-
end
|
115
|
-
|
116
|
-
def button(contents, attrs)
|
117
|
-
update_unbound_controls(attrs, "button")
|
118
|
-
tag(:button, contents, attrs)
|
119
|
-
end
|
120
|
-
|
121
|
-
def submit(value, attrs)
|
122
|
-
attrs[:type] ||= "submit"
|
123
|
-
attrs[:value] ||= value
|
124
|
-
update_unbound_controls(attrs, "submit")
|
125
|
-
self_closing_tag(:input, attrs)
|
126
|
-
end
|
405
|
+
sequel = !obj.errors.respond_to?(:each)
|
406
|
+
errors = sequel ? obj.errors.full_messages : obj.errors
|
127
407
|
|
128
|
-
|
129
|
-
|
130
|
-
def process_form_attrs(attrs)
|
131
|
-
method = attrs[:method]
|
132
|
-
|
133
|
-
# Unless the method is :get, fake out the method using :post
|
134
|
-
attrs[:method] = :post unless attrs[:method] == :get
|
135
|
-
# Use a fake PUT if the object is not new, otherwise use the method
|
136
|
-
# passed in. Defaults to :post if no method is set.
|
137
|
-
method ||= (@obj.respond_to?(:new_record?) && !@obj.new_record?) || (@obj.respond_to?(:new?) && !@obj.new?) ? :put : :post
|
138
|
-
|
139
|
-
attrs[:enctype] = "multipart/form-data" if attrs.delete(:multipart) || @multipart
|
140
|
-
|
141
|
-
method == :post || method == :get ? "" : fake_out_method(attrs, method)
|
142
|
-
end
|
143
|
-
|
144
|
-
# This can be overridden to use another method to fake out methods
|
145
|
-
def fake_out_method(attrs, method)
|
146
|
-
self_closing_tag(:input, :type => "hidden", :name => "_method", :value => method)
|
147
|
-
end
|
148
|
-
|
149
|
-
def update_bound_controls(method, attrs, type)
|
150
|
-
case type
|
151
|
-
when "checkbox"
|
152
|
-
update_bound_check_box(method, attrs)
|
153
|
-
when "select"
|
154
|
-
update_bound_select(method, attrs)
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
|
-
def update_bound_check_box(method, attrs)
|
159
|
-
raise ArgumentError, ":value can't be used with a bound_check_box" if attrs.has_key?(:value)
|
160
|
-
|
161
|
-
attrs[:boolean] = attrs.fetch(:boolean, true)
|
162
|
-
|
163
|
-
val = control_value(method)
|
164
|
-
attrs[:checked] = attrs.key?(:on) ? val == attrs[:on] : considered_true?(val)
|
165
|
-
end
|
166
|
-
|
167
|
-
def update_bound_select(method, attrs)
|
168
|
-
attrs[:value_method] ||= method
|
169
|
-
attrs[:text_method] ||= attrs[:value_method] || :to_s
|
170
|
-
attrs[:selected] ||= control_value(attrs[:value_method])
|
171
|
-
end
|
172
|
-
|
173
|
-
def update_unbound_controls(attrs, type)
|
174
|
-
case type
|
175
|
-
when "checkbox"
|
176
|
-
update_unbound_check_box(attrs)
|
177
|
-
when "radio"
|
178
|
-
update_unbound_radio_button(attrs)
|
179
|
-
when "file"
|
180
|
-
@multipart = true
|
181
|
-
end
|
182
|
-
|
183
|
-
attrs[:disabled] ? attrs[:disabled] = "disabled" : attrs.delete(:disabled)
|
184
|
-
end
|
185
|
-
|
186
|
-
def update_unbound_check_box(attrs)
|
187
|
-
boolean = attrs[:boolean] || (attrs[:on] && attrs[:off]) ? true : false
|
188
|
-
|
189
|
-
case
|
190
|
-
when attrs.key?(:on) ^ attrs.key?(:off)
|
191
|
-
raise ArgumentError, ":on and :off must be specified together"
|
192
|
-
when (attrs[:boolean] == false) && (attrs.key?(:on))
|
193
|
-
raise ArgumentError, ":boolean => false cannot be used with :on and :off"
|
194
|
-
when boolean && attrs.key?(:value)
|
195
|
-
raise ArgumentError, ":value can't be used with a boolean checkbox"
|
196
|
-
end
|
197
|
-
|
198
|
-
if attrs[:boolean] = boolean
|
199
|
-
attrs[:on] ||= "1"; attrs[:off] ||= "0"
|
200
|
-
end
|
201
|
-
|
202
|
-
attrs[:checked] = "checked" if attrs.delete(:checked)
|
203
|
-
end
|
204
|
-
|
205
|
-
def update_unbound_radio_button(attrs)
|
206
|
-
attrs[:checked] = "checked" if attrs.delete(:checked)
|
207
|
-
end
|
208
|
-
|
209
|
-
# Accepts a collection (hash, array, enumerable, your type) and returns a string of option tags.
|
210
|
-
# Given a collection where the elements respond to first and last (such as a two-element array),
|
211
|
-
# the "lasts" serve as option values and the "firsts" as option text. Hashes are turned into
|
212
|
-
# this form automatically, so the keys become "firsts" and values become lasts. If selected is
|
213
|
-
# specified, the matching "last" or element will get the selected option-tag. Selected may also
|
214
|
-
# be an array of values to be selected when using a multiple select.
|
215
|
-
#
|
216
|
-
# ==== Parameters
|
217
|
-
# attrs<Hash>:: HTML attributes and options
|
218
|
-
#
|
219
|
-
# ==== Options
|
220
|
-
# +selected+:: The value of a selected object, which may be either a string or an array.
|
221
|
-
# +prompt+:: Adds an addtional option tag with the provided string with no value.
|
222
|
-
# +include_blank+:: Adds an additional blank option tag with no value.
|
223
|
-
#
|
224
|
-
# ==== Returns
|
225
|
-
# String:: HTML
|
226
|
-
#
|
227
|
-
# ==== Examples
|
228
|
-
# <%= options_for [["apple", "Apple Pie"], ["orange", "Orange Juice"]], :selected => "orange"
|
229
|
-
# => <option value="apple">Apple Pie</option><option value="orange" selected="selected">Orange Juice</option>
|
230
|
-
#
|
231
|
-
# <%= options_for [["apple", "Apple Pie"], ["orange", "Orange Juice"]], :selected => ["orange", "apple"], :prompt => "Select One"
|
232
|
-
# => <option value="">Select One</option><option value="apple" selected="selected">Apple Pie</option><option value="orange" selected="selected">Orange Juice</option>
|
233
|
-
def options_for(attrs)
|
234
|
-
blank, prompt = attrs.delete(:include_blank), attrs.delete(:prompt)
|
235
|
-
b = blank || prompt ? tag(:option, prompt || "", :value => "") : ""
|
236
|
-
|
237
|
-
# yank out the options attrs
|
238
|
-
collection, selected, text_method, value_method =
|
239
|
-
attrs.extract!(:collection, :selected, :text_method, :value_method)
|
240
|
-
|
241
|
-
# if the collection is a Hash, optgroups are a-coming
|
242
|
-
if collection.is_a?(Hash)
|
243
|
-
([b] + collection.map do |g,col|
|
244
|
-
tag(:optgroup, options(col, text_method, value_method, selected), :label => g)
|
245
|
-
end).join
|
246
|
-
else
|
247
|
-
options(collection || [], text_method, value_method, selected, b)
|
248
|
-
end
|
249
|
-
end
|
408
|
+
return "" if errors.empty?
|
250
409
|
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
410
|
+
header_message = header % [errors.size, errors.size == 1 ? "" : "s"]
|
411
|
+
markup = %Q{<div class='#{error_class}'>#{header_message}<ul>}
|
412
|
+
errors.each {|err| markup << (build_li % (sequel ? err : err.join(" ")))}
|
413
|
+
markup << %Q{</ul></div>}
|
414
|
+
end
|
255
415
|
|
256
|
-
|
257
|
-
value = item.is_a?(String) ? item : item.send(value_meth)
|
416
|
+
private
|
258
417
|
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
if sel.is_a?(Array)
|
266
|
-
option_attrs.merge!(:selected => "selected") if value.in? sel
|
267
|
-
else
|
268
|
-
option_attrs.merge!(:selected => "selected") if value == sel
|
418
|
+
def update_bound_controls(method, attrs, type)
|
419
|
+
if @obj && !@obj.errors.on(method.to_sym).blank?
|
420
|
+
add_css_class(attrs, "error")
|
421
|
+
end
|
422
|
+
super
|
423
|
+
end
|
269
424
|
end
|
270
|
-
tag(:option, text, option_attrs)
|
271
|
-
end).join
|
272
|
-
end
|
273
|
-
|
274
|
-
def radio_group_item(method, attrs)
|
275
|
-
attrs.merge!(:checked => "checked") if attrs[:checked]
|
276
|
-
bound_radio_button(method, attrs)
|
277
|
-
end
|
278
|
-
|
279
|
-
def considered_true?(value)
|
280
|
-
value && value != "false" && value != "0" && value != 0
|
281
|
-
end
|
282
|
-
|
283
|
-
def control_name(method)
|
284
|
-
@obj ? "#{@name}[#{method}]" : method
|
285
|
-
end
|
286
425
|
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
value.to_s
|
291
|
-
# else
|
292
|
-
# Rango::Parse.escape_xml(value.to_s)
|
293
|
-
# end
|
294
|
-
end
|
426
|
+
class FormWithErrors < Form
|
427
|
+
include Errorifier
|
428
|
+
end
|
295
429
|
|
296
|
-
|
297
|
-
|
298
|
-
end
|
299
|
-
end
|
430
|
+
module Resourceful
|
431
|
+
private
|
300
432
|
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
label_attrs = contents
|
306
|
-
contents = label_attrs.delete(:title)
|
307
|
-
else
|
308
|
-
label_attrs = attrs
|
433
|
+
def process_form_attrs(attrs)
|
434
|
+
attrs[:action] ||= @origin.url(@name, @obj) if @origin
|
435
|
+
super
|
436
|
+
end
|
309
437
|
end
|
310
|
-
tag(:label, contents, label_attrs)
|
311
|
-
else
|
312
|
-
""
|
313
|
-
end
|
314
|
-
end
|
315
438
|
|
316
|
-
|
317
|
-
|
318
|
-
def unbound_#{kind}_field(attrs = {})
|
319
|
-
unbound_label(attrs) + super
|
439
|
+
class ResourcefulForm < Form
|
440
|
+
include Resourceful
|
320
441
|
end
|
321
|
-
RUBY
|
322
|
-
end
|
323
|
-
|
324
|
-
def unbound_label(attrs = {})
|
325
|
-
if attrs[:id]
|
326
|
-
label_attrs = {:for => attrs[:id]}
|
327
|
-
elsif attrs[:name]
|
328
|
-
label_attrs = {:for => attrs[:name]}
|
329
|
-
else
|
330
|
-
label_attrs = {}
|
331
|
-
end
|
332
|
-
|
333
|
-
label_option = attrs.delete(:label)
|
334
|
-
if label_option.is_a? Hash
|
335
|
-
label(label_attrs.merge(label_option))
|
336
|
-
else
|
337
|
-
label(label_option, label_attrs)
|
338
|
-
end
|
339
|
-
end
|
340
|
-
|
341
|
-
def unbound_check_box(attrs = {})
|
342
|
-
label_text = unbound_label(attrs)
|
343
|
-
super + label_text
|
344
|
-
end
|
345
|
-
|
346
|
-
def unbound_hidden_field(attrs = {})
|
347
|
-
attrs.delete(:label)
|
348
|
-
super
|
349
|
-
end
|
350
|
-
|
351
|
-
def unbound_radio_button(attrs = {})
|
352
|
-
label_text = unbound_label(attrs)
|
353
|
-
super + label_text
|
354
|
-
end
|
355
|
-
|
356
|
-
def unbound_select(attrs = {})
|
357
|
-
unbound_label(attrs) + super
|
358
|
-
end
|
359
|
-
|
360
|
-
def unbound_text_area(contents, attrs = {})
|
361
|
-
unbound_label(attrs) + super
|
362
|
-
end
|
363
|
-
|
364
|
-
def button(contents, attrs = {})
|
365
|
-
unbound_label(attrs) + super
|
366
|
-
end
|
367
442
|
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
private
|
373
|
-
|
374
|
-
def update_bound_controls(method, attrs, type)
|
375
|
-
attrs.merge!(:id => "#{@name}_#{method}") unless attrs[:id]
|
376
|
-
super
|
377
|
-
end
|
378
|
-
|
379
|
-
def update_unbound_controls(attrs, type)
|
380
|
-
attrs.merge!(:id => attrs[:name]) if attrs[:name] && !attrs[:id]
|
381
|
-
|
382
|
-
case type
|
383
|
-
when "text", "radio", "password", "hidden", "checkbox", "file"
|
384
|
-
add_css_class(attrs, type)
|
385
|
-
end
|
386
|
-
super
|
387
|
-
end
|
388
|
-
|
389
|
-
def radio_group_item(method, attrs)
|
390
|
-
unless attrs[:id]
|
391
|
-
attrs.merge!(:id => "#{@name}_#{method}_#{attrs[:value]}")
|
392
|
-
end
|
393
|
-
|
394
|
-
attrs.merge!(:label => attrs[:label] || attrs[:value])
|
395
|
-
super
|
396
|
-
end
|
397
|
-
end
|
398
|
-
|
399
|
-
module Errorifier
|
400
|
-
def error_messages_for(obj, error_class, build_li, header, before)
|
401
|
-
obj ||= @obj
|
402
|
-
return "" unless obj.respond_to?(:errors)
|
403
|
-
|
404
|
-
sequel = !obj.errors.respond_to?(:each)
|
405
|
-
errors = sequel ? obj.errors.full_messages : obj.errors
|
406
|
-
|
407
|
-
return "" if errors.empty?
|
408
|
-
|
409
|
-
header_message = header % [errors.size, errors.size == 1 ? "" : "s"]
|
410
|
-
markup = %Q{<div class='#{error_class}'>#{header_message}<ul>}
|
411
|
-
errors.each {|err| markup << (build_li % (sequel ? err : err.join(" ")))}
|
412
|
-
markup << %Q{</ul></div>}
|
413
|
-
end
|
414
|
-
|
415
|
-
private
|
416
|
-
|
417
|
-
def update_bound_controls(method, attrs, type)
|
418
|
-
if @obj && !@obj.errors.on(method.to_sym).blank?
|
419
|
-
add_css_class(attrs, "error")
|
443
|
+
class ResourcefulFormWithErrors < FormWithErrors
|
444
|
+
include Errorifier
|
445
|
+
include Resourceful
|
446
|
+
end
|
420
447
|
end
|
421
|
-
super
|
422
|
-
end
|
423
|
-
end
|
424
|
-
|
425
|
-
class FormWithErrors < Form
|
426
|
-
include Errorifier
|
427
|
-
end
|
428
|
-
|
429
|
-
module Resourceful
|
430
|
-
private
|
431
|
-
|
432
|
-
def process_form_attrs(attrs)
|
433
|
-
attrs[:action] ||= @origin.url(@name, @obj) if @origin
|
434
|
-
super
|
435
448
|
end
|
436
449
|
end
|
437
|
-
|
438
|
-
class ResourcefulForm < Form
|
439
|
-
include Resourceful
|
440
|
-
end
|
441
|
-
|
442
|
-
class ResourcefulFormWithErrors < FormWithErrors
|
443
|
-
include Errorifier
|
444
|
-
include Resourceful
|
445
|
-
end
|
446
|
-
|
447
450
|
end
|