picolena 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +11 -4
- data/Manifest.txt +1 -0
- data/README.txt +2 -2
- data/bin/picolena +1 -1
- data/config/hoe.rb +10 -10
- data/lib/picolena/USAGE +1 -1
- data/lib/picolena/config/basic.rb +11 -11
- data/lib/picolena/picolena_generator.rb +15 -14
- data/lib/picolena/templates/app/controllers/application.rb +5 -5
- data/lib/picolena/templates/app/controllers/documents_controller.rb +17 -9
- data/lib/picolena/templates/app/helpers/documents_helper.rb +15 -14
- data/lib/picolena/templates/app/models/document.rb +28 -37
- data/lib/picolena/templates/app/models/finder.rb +12 -37
- data/lib/picolena/templates/app/models/indexer.rb +58 -37
- data/lib/picolena/templates/app/models/plain_text_extractor.rb +16 -16
- data/lib/picolena/templates/app/models/query.rb +5 -5
- data/lib/picolena/templates/app/views/documents/show.html.haml +3 -3
- data/lib/picolena/templates/app/views/layouts/application.html.haml +2 -2
- data/lib/picolena/templates/config/environment.rb +1 -1
- data/lib/picolena/templates/config/initializers/002_load_indexed_dirs.rb +8 -8
- data/lib/picolena/templates/config/initializers/003_load_white_list_IPs.rb +8 -8
- data/lib/picolena/templates/config/initializers/005_load_custom_title_and_names_and_links.rb +5 -5
- data/lib/picolena/templates/config/initializers/006_load_icons.rb +9 -7
- data/lib/picolena/templates/lang/ui/es.yml +1 -1
- data/lib/picolena/templates/lib/core_exts.rb +7 -7
- data/lib/picolena/templates/lib/plain_text_extractor_DSL.rb +10 -10
- data/lib/picolena/templates/lib/plain_text_extractors/ms.excel.rb +1 -1
- data/lib/picolena/templates/lib/plain_text_extractors/plain_text.rb +2 -2
- data/lib/picolena/templates/lib/tasks/index.rake +8 -3
- data/lib/picolena/templates/lib/tasks/install_dependencies.rake +2 -2
- data/lib/picolena/templates/lib/tasks/log.rake +1 -1
- data/lib/picolena/templates/public/.htaccess +3 -3
- data/lib/picolena/templates/public/images/flags/sv.png +0 -0
- data/lib/picolena/templates/public/stylesheets/style.css +2 -2
- data/lib/picolena/templates/script/spec_server +1 -1
- data/lib/picolena/templates/spec/controllers/application_controller_spec.rb +2 -2
- data/lib/picolena/templates/spec/controllers/documents_controller_spec.rb +17 -17
- data/lib/picolena/templates/spec/helpers/application_helper_spec.rb +2 -2
- data/lib/picolena/templates/spec/helpers/documents_helper_spec.rb +3 -3
- data/lib/picolena/templates/spec/models/basic_finder_spec.rb +14 -14
- data/lib/picolena/templates/spec/models/document_spec.rb +7 -15
- data/lib/picolena/templates/spec/models/finder_spec.rb +45 -38
- data/lib/picolena/templates/spec/models/host_indexing_system_spec.rb +5 -5
- data/lib/picolena/templates/spec/models/index_directories_spec.rb +2 -2
- data/lib/picolena/templates/spec/models/plain_text_extractor_spec.rb +6 -6
- data/lib/picolena/templates/spec/models/query_spec.rb +7 -7
- data/lib/picolena/templates/spec/rcov.opts +1 -1
- data/lib/picolena/templates/spec/test_dirs/indexed/basic/myfirstjavaprog.java +1 -1
- data/lib/picolena/templates/spec/test_dirs/indexed/basic/queens.for +1 -1
- data/lib/picolena/templates/spec/test_dirs/indexed/lang/hugo +74 -74
- data/lib/picolena/templates/spec/test_dirs/indexed/lang/lorca +56 -56
- data/lib/picolena/templates/spec/test_dirs/indexed/others/7.html +4 -4
- data/lib/picolena/templates/spec/test_dirs/indexed/others/ccmatrix1.cpp +6 -6
- data/lib/picolena/templates/spec/test_dirs/indexed/others/lemonde.htm +326 -326
- data/lib/picolena/templates/spec/test_dirs/indexed/others/nested/ReadMe.rtf +62 -62
- data/lib/picolena/templates/spec/test_dirs/indexed/others/xor.vee +0 -1
- data/lib/picolena/templates/spec/test_dirs/indexed/others/zafh.net.html +1 -1
- data/lib/picolena/version.rb +1 -1
- data/lib/rubigen_ext.rb +1 -1
- data/rails_plugins/globalite/CHANGELOG +1 -1
- data/rails_plugins/globalite/README +19 -19
- data/rails_plugins/globalite/lang/rails/de-DE.yml +6 -6
- data/rails_plugins/globalite/lang/rails/en-UK.yml +10 -10
- data/rails_plugins/globalite/lang/rails/en-US.yml +10 -10
- data/rails_plugins/globalite/lang/rails/es-ES.yml +11 -11
- data/rails_plugins/globalite/lang/rails/fr-FR.yml +10 -10
- data/rails_plugins/globalite/lang/rails/it.yml +10 -10
- data/rails_plugins/globalite/lang/rails/pt-BR.yml +6 -6
- data/rails_plugins/globalite/lang/rails/pt-PT.yml +6 -6
- data/rails_plugins/globalite/lib/globalite/l10n.rb +25 -25
- data/rails_plugins/globalite/lib/globalite/locale.rb +9 -9
- data/rails_plugins/globalite/lib/rails/core_ext.rb +4 -4
- data/rails_plugins/globalite/lib/rails/localization.rb +3 -3
- data/rails_plugins/globalite/lib/rails/localized_action_view.rb +17 -17
- data/rails_plugins/globalite/lib/rails/localized_active_record.rb +4 -4
- data/rails_plugins/globalite/rdoc/classes/ActionView/Helpers/DateHelper.html +19 -19
- data/rails_plugins/globalite/rdoc/classes/ActionView/Helpers/FormOptionsHelper.html +9 -9
- data/rails_plugins/globalite/rdoc/classes/ActionView/Helpers/NumberHelper.html +8 -8
- data/rails_plugins/globalite/rdoc/classes/ActionView/Helpers.html +5 -5
- data/rails_plugins/globalite/rdoc/classes/ActionView.html +5 -5
- data/rails_plugins/globalite/rdoc/classes/ActiveRecord/Errors.html +6 -6
- data/rails_plugins/globalite/rdoc/classes/ActiveRecord.html +5 -5
- data/rails_plugins/globalite/rdoc/classes/Array.html +6 -6
- data/rails_plugins/globalite/rdoc/classes/Date.html +8 -8
- data/rails_plugins/globalite/rdoc/classes/Globalite/L10n.html +49 -49
- data/rails_plugins/globalite/rdoc/classes/Globalite.html +6 -6
- data/rails_plugins/globalite/rdoc/classes/Kernel.html +6 -6
- data/rails_plugins/globalite/rdoc/classes/Locale.html +11 -11
- data/rails_plugins/globalite/rdoc/classes/Time.html +8 -8
- data/rails_plugins/globalite/rdoc/files/README.html +5 -5
- data/rails_plugins/globalite/rdoc/files/lib/globalite/l10n_rb.html +5 -5
- data/rails_plugins/globalite/rdoc/files/lib/globalite/locale_rb.html +5 -5
- data/rails_plugins/globalite/rdoc/files/lib/globalite_rb.html +5 -5
- data/rails_plugins/globalite/rdoc/files/lib/rails/core_ext_rb.html +5 -5
- data/rails_plugins/globalite/rdoc/files/lib/rails/localization_rb.html +5 -5
- data/rails_plugins/globalite/rdoc/files/lib/rails/localized_action_view_rb.html +5 -5
- data/rails_plugins/globalite/rdoc/files/lib/rails/localized_active_record_rb.html +5 -5
- data/rails_plugins/globalite/rdoc/fr_class_index.html +1 -1
- data/rails_plugins/globalite/rdoc/fr_file_index.html +1 -1
- data/rails_plugins/globalite/rdoc/fr_method_index.html +1 -1
- data/rails_plugins/globalite/rdoc/index.html +1 -1
- data/rails_plugins/globalite/spec/core_localization_spec.rb +18 -18
- data/rails_plugins/globalite/spec/l10n_spec.rb +25 -25
- data/rails_plugins/globalite/tasks/globalite_tasks.rake +6 -6
- data/rails_plugins/rspec/CHANGES +16 -16
- data/rails_plugins/rspec/README +2 -2
- data/rails_plugins/rspec/Rakefile +1 -1
- data/rails_plugins/rspec/UPGRADE +1 -1
- data/rails_plugins/rspec/autotest/discover.rb +1 -1
- data/rails_plugins/rspec/examples/pure/autogenerated_docstrings_example.rb +5 -5
- data/rails_plugins/rspec/examples/pure/before_and_after_example.rb +2 -2
- data/rails_plugins/rspec/examples/pure/behave_as_example.rb +5 -5
- data/rails_plugins/rspec/examples/pure/custom_expectation_matchers.rb +7 -7
- data/rails_plugins/rspec/examples/pure/file_accessor.rb +1 -1
- data/rails_plugins/rspec/examples/pure/file_accessor_spec.rb +2 -2
- data/rails_plugins/rspec/examples/pure/helper_method_example.rb +1 -1
- data/rails_plugins/rspec/examples/pure/legacy_spec.rb +2 -2
- data/rails_plugins/rspec/examples/pure/predicate_example.rb +2 -2
- data/rails_plugins/rspec/examples/pure/shared_example_group_example.rb +11 -11
- data/rails_plugins/rspec/examples/pure/shared_stack_examples.rb +4 -4
- data/rails_plugins/rspec/examples/pure/stack.rb +6 -6
- data/rails_plugins/rspec/examples/pure/stack_spec.rb +7 -7
- data/rails_plugins/rspec/examples/pure/stack_spec_with_nested_example_groups.rb +10 -10
- data/rails_plugins/rspec/examples/pure/stubbing_example.rb +4 -4
- data/rails_plugins/rspec/examples/stories/adder.rb +2 -2
- data/rails_plugins/rspec/examples/stories/addition +8 -8
- data/rails_plugins/rspec/examples/stories/calculator.rb +5 -5
- data/rails_plugins/rspec/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +7 -7
- data/rails_plugins/rspec/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +13 -13
- data/rails_plugins/rspec/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +5 -5
- data/rails_plugins/rspec/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +2 -2
- data/rails_plugins/rspec/examples/stories/game-of-life/life/game.rb +3 -3
- data/rails_plugins/rspec/examples/stories/game-of-life/life/grid.rb +10 -10
- data/rails_plugins/rspec/failing_examples/failing_autogenerated_docstrings_example.rb +5 -5
- data/rails_plugins/rspec/failing_examples/failure_in_setup.rb +3 -3
- data/rails_plugins/rspec/failing_examples/failure_in_teardown.rb +3 -3
- data/rails_plugins/rspec/failing_examples/mocking_example.rb +1 -1
- data/rails_plugins/rspec/failing_examples/raising_example.rb +11 -11
- data/rails_plugins/rspec/failing_examples/team_spec.rb +5 -5
- data/rails_plugins/rspec/lib/autotest/rspec.rb +5 -5
- data/rails_plugins/rspec/lib/spec/example/configuration.rb +4 -4
- data/rails_plugins/rspec/lib/spec/example/example_group_factory.rb +3 -3
- data/rails_plugins/rspec/lib/spec/example/example_group_methods.rb +1 -1
- data/rails_plugins/rspec/lib/spec/example/example_matcher.rb +2 -2
- data/rails_plugins/rspec/lib/spec/example/example_methods.rb +4 -4
- data/rails_plugins/rspec/lib/spec/example/pending.rb +1 -1
- data/rails_plugins/rspec/lib/spec/expectations/differs/default.rb +5 -5
- data/rails_plugins/rspec/lib/spec/expectations/errors.rb +1 -1
- data/rails_plugins/rspec/lib/spec/expectations/handler.rb +5 -5
- data/rails_plugins/rspec/lib/spec/expectations.rb +1 -1
- data/rails_plugins/rspec/lib/spec/extensions/main.rb +8 -8
- data/rails_plugins/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +2 -2
- data/rails_plugins/rspec/lib/spec/matchers/be.rb +18 -18
- data/rails_plugins/rspec/lib/spec/matchers/be_close.rb +4 -4
- data/rails_plugins/rspec/lib/spec/matchers/change.rb +20 -20
- data/rails_plugins/rspec/lib/spec/matchers/eql.rb +4 -4
- data/rails_plugins/rspec/lib/spec/matchers/equal.rb +4 -4
- data/rails_plugins/rspec/lib/spec/matchers/has.rb +8 -8
- data/rails_plugins/rspec/lib/spec/matchers/have.rb +9 -9
- data/rails_plugins/rspec/lib/spec/matchers/include.rb +7 -7
- data/rails_plugins/rspec/lib/spec/matchers/match.rb +6 -6
- data/rails_plugins/rspec/lib/spec/matchers/operator_matcher.rb +1 -1
- data/rails_plugins/rspec/lib/spec/matchers/raise_error.rb +6 -6
- data/rails_plugins/rspec/lib/spec/matchers/respond_to.rb +7 -7
- data/rails_plugins/rspec/lib/spec/matchers/satisfy.rb +4 -4
- data/rails_plugins/rspec/lib/spec/matchers/simple_matcher.rb +3 -3
- data/rails_plugins/rspec/lib/spec/matchers/throw_symbol.rb +8 -8
- data/rails_plugins/rspec/lib/spec/matchers.rb +2 -2
- data/rails_plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +3 -3
- data/rails_plugins/rspec/lib/spec/mocks/argument_expectation.rb +32 -32
- data/rails_plugins/rspec/lib/spec/mocks/error_generator.rb +13 -13
- data/rails_plugins/rspec/lib/spec/mocks/errors.rb +1 -1
- data/rails_plugins/rspec/lib/spec/mocks/message_expectation.rb +38 -38
- data/rails_plugins/rspec/lib/spec/mocks/methods.rb +3 -3
- data/rails_plugins/rspec/lib/spec/mocks/mock.rb +5 -5
- data/rails_plugins/rspec/lib/spec/mocks/order_group.rb +5 -5
- data/rails_plugins/rspec/lib/spec/mocks/proxy.rb +4 -4
- data/rails_plugins/rspec/lib/spec/mocks/space.rb +3 -3
- data/rails_plugins/rspec/lib/spec/mocks/spec_methods.rb +1 -1
- data/rails_plugins/rspec/lib/spec/mocks.rb +13 -13
- data/rails_plugins/rspec/lib/spec/rake/spectask.rb +4 -4
- data/rails_plugins/rspec/lib/spec/rake/verify_rcov.rb +9 -9
- data/rails_plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +2 -2
- data/rails_plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +7 -7
- data/rails_plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +13 -13
- data/rails_plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +1 -1
- data/rails_plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +8 -8
- data/rails_plugins/rspec/lib/spec/runner/formatter/profile_formatter.rb +7 -7
- data/rails_plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +2 -2
- data/rails_plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb +5 -5
- data/rails_plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +4 -4
- data/rails_plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb +6 -6
- data/rails_plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb +12 -12
- data/rails_plugins/rspec/lib/spec/runner/heckle_runner.rb +6 -6
- data/rails_plugins/rspec/lib/spec/runner/option_parser.rb +5 -5
- data/rails_plugins/rspec/lib/spec/runner/options.rb +8 -8
- data/rails_plugins/rspec/lib/spec/runner/reporter.rb +14 -14
- data/rails_plugins/rspec/lib/spec/runner.rb +41 -41
- data/rails_plugins/rspec/lib/spec/story/extensions/main.rb +6 -6
- data/rails_plugins/rspec/lib/spec/story/extensions/regexp.rb +1 -1
- data/rails_plugins/rspec/lib/spec/story/extensions/string.rb +1 -1
- data/rails_plugins/rspec/lib/spec/story/given_scenario.rb +1 -1
- data/rails_plugins/rspec/lib/spec/story/runner/plain_text_story_runner.rb +6 -6
- data/rails_plugins/rspec/lib/spec/story/runner/scenario_collector.rb +2 -2
- data/rails_plugins/rspec/lib/spec/story/runner/scenario_runner.rb +5 -5
- data/rails_plugins/rspec/lib/spec/story/runner/story_mediator.rb +20 -20
- data/rails_plugins/rspec/lib/spec/story/runner/story_parser.rb +29 -29
- data/rails_plugins/rspec/lib/spec/story/runner/story_runner.rb +8 -8
- data/rails_plugins/rspec/lib/spec/story/runner.rb +7 -7
- data/rails_plugins/rspec/lib/spec/story/scenario.rb +1 -1
- data/rails_plugins/rspec/lib/spec/story/step.rb +5 -5
- data/rails_plugins/rspec/lib/spec/story/step_group.rb +12 -12
- data/rails_plugins/rspec/lib/spec/story/step_mother.rb +6 -6
- data/rails_plugins/rspec/lib/spec/story/story.rb +5 -5
- data/rails_plugins/rspec/lib/spec/story/world.rb +16 -16
- data/rails_plugins/rspec/lib/spec/translator.rb +21 -21
- data/rails_plugins/rspec/lib/spec/version.rb +2 -2
- data/rails_plugins/rspec/lib/spec.rb +1 -1
- data/rails_plugins/rspec/pre_commit/lib/pre_commit/pre_commit.rb +1 -1
- data/rails_plugins/rspec/pre_commit/lib/pre_commit/rspec.rb +6 -6
- data/rails_plugins/rspec/pre_commit/lib/pre_commit/rspec_on_rails.rb +6 -6
- data/rails_plugins/rspec/pre_commit/spec/pre_commit/pre_commit_spec.rb +1 -1
- data/rails_plugins/rspec/pre_commit/spec/pre_commit/rspec_on_rails_spec.rb +1 -1
- data/rails_plugins/rspec/report.html +3 -3
- data/rails_plugins/rspec/spec/autotest/discover_spec.rb +2 -2
- data/rails_plugins/rspec/spec/autotest/rspec_spec.rb +30 -30
- data/rails_plugins/rspec/spec/autotest_matchers.rb +7 -7
- data/rails_plugins/rspec/spec/spec/example/configuration_spec.rb +5 -5
- data/rails_plugins/rspec/spec/spec/example/example_group_factory_spec.rb +5 -5
- data/rails_plugins/rspec/spec/spec/example/example_group_methods_spec.rb +3 -3
- data/rails_plugins/rspec/spec/spec/example/example_group_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/example/example_matcher_spec.rb +10 -10
- data/rails_plugins/rspec/spec/spec/example/example_runner_spec.rb +29 -29
- data/rails_plugins/rspec/spec/spec/example/example_spec.rb +6 -6
- data/rails_plugins/rspec/spec/spec/example/nested_example_group_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/example/pending_module_spec.rb +3 -3
- data/rails_plugins/rspec/spec/spec/example/predicate_matcher_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/example/shared_example_group_spec.rb +4 -4
- data/rails_plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +12 -12
- data/rails_plugins/rspec/spec/spec/expectations/fail_with_spec.rb +8 -8
- data/rails_plugins/rspec/spec/spec/extensions/main_spec.rb +6 -6
- data/rails_plugins/rspec/spec/spec/interop/test/unit/spec_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +2 -2
- data/rails_plugins/rspec/spec/spec/interop/test/unit/testcase_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/matchers/be_spec.rb +5 -5
- data/rails_plugins/rspec/spec/spec/matchers/change_spec.rb +14 -14
- data/rails_plugins/rspec/spec/spec/matchers/description_generation_spec.rb +25 -25
- data/rails_plugins/rspec/spec/spec/matchers/exist_spec.rb +5 -5
- data/rails_plugins/rspec/spec/spec/matchers/handler_spec.rb +16 -16
- data/rails_plugins/rspec/spec/spec/matchers/have_spec.rb +13 -13
- data/rails_plugins/rspec/spec/spec/matchers/match_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +17 -17
- data/rails_plugins/rspec/spec/spec/matchers/raise_error_spec.rb +20 -20
- data/rails_plugins/rspec/spec/spec/matchers/respond_to_spec.rb +10 -10
- data/rails_plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb +3 -3
- data/rails_plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/mocks/bug_report_10263.rb +3 -3
- data/rails_plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +4 -4
- data/rails_plugins/rspec/spec/spec/mocks/bug_report_15719_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +12 -12
- data/rails_plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb +3 -3
- data/rails_plugins/rspec/spec/spec/mocks/mock_space_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/mocks/mock_spec.rb +56 -56
- data/rails_plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb +3 -3
- data/rails_plugins/rspec/spec/spec/mocks/once_counts_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/mocks/options_hash_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +16 -16
- data/rails_plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +10 -10
- data/rails_plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +13 -13
- data/rails_plugins/rspec/spec/spec/mocks/stub_spec.rb +7 -7
- data/rails_plugins/rspec/spec/spec/mocks/twice_counts_spec.rb +6 -6
- data/rails_plugins/rspec/spec/spec/package/bin_spec_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/runner/command_line_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/runner/execution_context_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +1 -1
- data/rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +2 -2
- data/rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +1 -1
- data/rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +1 -1
- data/rails_plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +3 -3
- data/rails_plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +9 -9
- data/rails_plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +4 -4
- data/rails_plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb +5 -5
- data/rails_plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +13 -13
- data/rails_plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +2 -2
- data/rails_plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +3 -3
- data/rails_plugins/rspec/spec/spec/runner/option_parser_spec.rb +9 -9
- data/rails_plugins/rspec/spec/spec/runner/options_spec.rb +13 -13
- data/rails_plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +1 -1
- data/rails_plugins/rspec/spec/spec/spec_classes.rb +8 -8
- data/rails_plugins/rspec/spec/spec/story/builders.rb +7 -7
- data/rails_plugins/rspec/spec/spec/story/extensions/main_spec.rb +6 -6
- data/rails_plugins/rspec/spec/spec/story/given_scenario_spec.rb +3 -3
- data/rails_plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb +12 -12
- data/rails_plugins/rspec/spec/spec/story/runner/scenario_collector_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb +21 -21
- data/rails_plugins/rspec/spec/spec/story/runner/story_mediator_spec.rb +22 -22
- data/rails_plugins/rspec/spec/spec/story/runner/story_parser_spec.rb +55 -55
- data/rails_plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +44 -44
- data/rails_plugins/rspec/spec/spec/story/runner_spec.rb +18 -18
- data/rails_plugins/rspec/spec/spec/story/scenario_spec.rb +2 -2
- data/rails_plugins/rspec/spec/spec/story/step_group_spec.rb +20 -20
- data/rails_plugins/rspec/spec/spec/story/step_mother_spec.rb +14 -14
- data/rails_plugins/rspec/spec/spec/story/step_spec.rb +33 -33
- data/rails_plugins/rspec/spec/spec/story/story_spec.rb +12 -12
- data/rails_plugins/rspec/spec/spec/translator_spec.rb +12 -12
- data/rails_plugins/rspec/spec/spec_helper.rb +5 -5
- data/rails_plugins/rspec/stories/resources/helpers/story_helper.rb +1 -1
- data/rails_plugins/rspec/stories/resources/steps/running_rspec.rb +4 -4
- data/rails_plugins/rspec/stories/resources/test/spec_and_test_together.rb +2 -2
- data/rails_plugins/rspec/stories/resources/test/test_case_with_should_methods.rb +1 -1
- data/rails_plugins/rspec/story_server/prototype/javascripts/builder.js +14 -14
- data/rails_plugins/rspec/story_server/prototype/javascripts/controls.js +61 -61
- data/rails_plugins/rspec/story_server/prototype/javascripts/dragdrop.js +144 -144
- data/rails_plugins/rspec/story_server/prototype/javascripts/effects.js +127 -127
- data/rails_plugins/rspec/story_server/prototype/javascripts/rspec.js +15 -15
- data/rails_plugins/rspec/story_server/prototype/javascripts/scriptaculous.js +7 -7
- data/rails_plugins/rspec/story_server/prototype/javascripts/slider.js +37 -37
- data/rails_plugins/rspec/story_server/prototype/javascripts/sound.js +4 -4
- data/rails_plugins/rspec/story_server/prototype/javascripts/unittest.js +66 -66
- data/rails_plugins/rspec/story_server/prototype/stories.html +9 -9
- data/rails_plugins/rspec_on_rails/MIT-LICENSE +11 -11
- data/rails_plugins/rspec_on_rails/generators/rspec/templates/rcov.opts +1 -1
- data/rails_plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +1 -1
- data/rails_plugins/rspec_on_rails/generators/rspec_controller/USAGE +1 -1
- data/rails_plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +2 -2
- data/rails_plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +1 -1
- data/rails_plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +12 -12
- data/rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +35 -35
- data/rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +2 -2
- data/rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +2 -2
- data/rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +1 -1
- data/rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +2 -2
- data/rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/routing_spec.rb +11 -11
- data/rails_plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +1 -1
- data/rails_plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +3 -3
- data/rails_plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb +4 -4
- data/rails_plugins/rspec_on_rails/lib/spec/rails/example/rails_example_group.rb +1 -1
- data/rails_plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb +4 -4
- data/rails_plugins/rspec_on_rails/lib/spec/rails/example/view_example_group.rb +1 -1
- data/rails_plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb +1 -1
- data/rails_plugins/rspec_on_rails/lib/spec/rails/extensions/spec/matchers/have.rb +1 -1
- data/rails_plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb +10 -10
- data/rails_plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +6 -6
- data/rails_plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb +7 -7
- data/rails_plugins/rspec_on_rails/lib/spec/rails/story_adapter.rb +1 -1
- data/rails_plugins/rspec_on_rails/lib/spec/rails.rb +8 -8
- data/rails_plugins/rspec_on_rails/spec/rails/autotest/mappings_spec.rb +6 -6
- data/rails_plugins/rspec_on_rails/spec/rails/example/controller_isolation_spec.rb +1 -1
- data/rails_plugins/rspec_on_rails/spec/rails/example/controller_spec_spec.rb +22 -22
- data/rails_plugins/rspec_on_rails/spec/rails/example/helper_spec_spec.rb +1 -1
- data/rails_plugins/rspec_on_rails/spec/rails/example/ivar_proxy_spec.rb +3 -3
- data/rails_plugins/rspec_on_rails/spec/rails/example/shared_behaviour_spec.rb +2 -2
- data/rails_plugins/rspec_on_rails/spec/rails/example/view_spec_spec.rb +8 -8
- data/rails_plugins/rspec_on_rails/spec/rails/extensions/action_view_base_spec.rb +7 -7
- data/rails_plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb +1 -1
- data/rails_plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +37 -37
- data/rails_plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb +1 -1
- data/rails_plugins/rspec_on_rails/spec/rails/matchers/have_text_spec.rb +4 -4
- data/rails_plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +26 -26
- data/rails_plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb +18 -18
- data/rails_plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb +2 -2
- data/rails_plugins/rspec_on_rails/spec/spec_helper.rb +1 -1
- data/rails_plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +9 -9
- data/rails_plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb +7 -7
- data/rails_plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb +5 -5
- data/rails_plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb +10 -10
- data/rails_plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +1 -1
- data/rails_plugins/rspec_on_rails/stories/transactions_should_rollback.rb +1 -1
- data/rails_plugins/rspec_on_rails/tasks/rspec.rake +4 -4
- data/script/txt2html +1 -1
- data/setup.rb +4 -4
- data/tasks/hack.rake +3 -3
- data/website/index.html +2 -2
- data/website/index.txt +1 -1
- data/website/index_devjavu +3 -3
- data/website/javascripts/rounded_corners_lite.inc.js +1 -1
- data/website/stylesheets/screen.css +2 -2
- data.tar.gz.sig +0 -0
- metadata +2 -1
- metadata.gz.sig +2 -1
data/History.txt
CHANGED
@@ -1,11 +1,19 @@
|
|
1
|
-
== 0.1.
|
1
|
+
== 0.1.6 2008-04-25
|
2
|
+
|
3
|
+
* 1 minor enhancement:
|
4
|
+
* replaced index key by Document#probably_unique_id
|
5
|
+
|
6
|
+
* bug fixes:
|
7
|
+
* Added forgotten public/images/flags to generator file.
|
8
|
+
|
9
|
+
== 0.1.5 2008-04-25
|
2
10
|
|
3
11
|
* 1 major enhancement:
|
4
12
|
* yet another Indexer & Index rewrite
|
5
13
|
|
6
14
|
* 1 minor enhancement:
|
7
15
|
* flags to indicate found language
|
8
|
-
|
16
|
+
|
9
17
|
* bug fixes:
|
10
18
|
* No more (or just less?) index lock errors
|
11
19
|
|
@@ -25,14 +33,13 @@
|
|
25
33
|
* new DSL syntax
|
26
34
|
* multi-threaded Indexer
|
27
35
|
|
28
|
-
|
29
36
|
== 0.1.1 2008-04-12
|
30
37
|
|
31
38
|
* 1 major enhancement:
|
32
39
|
* cache à la Google
|
33
40
|
|
34
41
|
* minor enhancements:
|
35
|
-
* easier configuration. Every picolena specific conf files in config/custom
|
42
|
+
* easier configuration. Every picolena specific conf files in config/custom
|
36
43
|
* lots of refactoring
|
37
44
|
|
38
45
|
* bug fixes
|
data/Manifest.txt
CHANGED
@@ -89,6 +89,7 @@ lib/picolena/templates/public/images/flags/pl.png
|
|
89
89
|
lib/picolena/templates/public/images/flags/pt-br.png
|
90
90
|
lib/picolena/templates/public/images/flags/pt-pt.png
|
91
91
|
lib/picolena/templates/public/images/flags/readme.txt
|
92
|
+
lib/picolena/templates/public/images/flags/sv.png
|
92
93
|
lib/picolena/templates/public/images/icons/cad.png
|
93
94
|
lib/picolena/templates/public/images/icons/code.png
|
94
95
|
lib/picolena/templates/public/images/icons/doc.png
|
data/README.txt
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
Picolena is a lightweight ferret-powered documents search engine written in Ruby on rails:
|
9
9
|
|
10
10
|
1. Just let Ferret index any directory you want.
|
11
|
-
2. Enter queries on your browser to get corresponding documents in a few milliseconds.
|
11
|
+
2. Enter queries on your browser to get corresponding documents in a few milliseconds.
|
12
12
|
|
13
13
|
== FEATURES:
|
14
14
|
|
@@ -33,7 +33,7 @@ web-server just like you would with any Rails application.
|
|
33
33
|
picolena ~/shared_documents /media/literature
|
34
34
|
cd picolena
|
35
35
|
ruby script/server
|
36
|
-
|
36
|
+
|
37
37
|
This would create the picolena file structure, index every file inside ~/shared_documents and /media/literature, and launch a web-server available at http://localhost:3000
|
38
38
|
|
39
39
|
== REQUIREMENTS:
|
data/bin/picolena
CHANGED
@@ -14,7 +14,7 @@ end
|
|
14
14
|
action= ARGV.include?("--spec-only") ? "testing" : "installing"
|
15
15
|
|
16
16
|
require 'rubigen/scripts/generate'
|
17
|
-
source = RubiGen::PathSource.new(:application,
|
17
|
+
source = RubiGen::PathSource.new(:application,
|
18
18
|
File.join(File.dirname(__FILE__), "../lib"))
|
19
19
|
RubiGen::Base.reset_sources
|
20
20
|
RubiGen::Base.append_sources source
|
data/config/hoe.rb
CHANGED
@@ -28,21 +28,21 @@ Run 'rubyforge setup' to prepare your env for access to Rubyforge
|
|
28
28
|
end
|
29
29
|
|
30
30
|
|
31
|
-
REV = nil
|
32
|
-
# UNCOMMENT IF REQUIRED:
|
31
|
+
REV = nil
|
32
|
+
# UNCOMMENT IF REQUIRED:
|
33
33
|
# REV = `svn info`.each {|line| if line =~ /^Revision:/ then k,v = line.split(': '); break v.chomp; else next; end} rescue nil
|
34
34
|
VERS = Picolena::VERSION::STRING + (REV ? ".#{REV}" : "")
|
35
35
|
RDOC_OPTS = ['--quiet', '--title', 'picolena documentation',
|
36
36
|
"--opname", "index.html",
|
37
|
-
"--line-numbers",
|
37
|
+
"--line-numbers",
|
38
38
|
"--main", "README",
|
39
39
|
"--inline-source"]
|
40
40
|
|
41
41
|
class Hoe
|
42
|
-
def extra_deps
|
43
|
-
@extra_deps.reject! { |x| Array(x).first == 'hoe' }
|
42
|
+
def extra_deps
|
43
|
+
@extra_deps.reject! { |x| Array(x).first == 'hoe' }
|
44
44
|
@extra_deps
|
45
|
-
end
|
45
|
+
end
|
46
46
|
end
|
47
47
|
|
48
48
|
# Generate all the Rake tasks
|
@@ -54,10 +54,10 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
|
54
54
|
p.url = HOMEPATH
|
55
55
|
p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
|
56
56
|
p.test_globs = ["spec/picolena_spec.rb"]
|
57
|
-
|
57
|
+
|
58
58
|
files_to_clean = File.readlines(File.join(File.dirname(__FILE__),'files_to_clean')).collect{|line| line.chomp}
|
59
59
|
p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store']+files_to_clean #An array of file patterns to delete on clean.
|
60
|
-
|
60
|
+
|
61
61
|
# == Optional
|
62
62
|
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
63
63
|
p.extra_deps = [ ['rails', '>= 2.0.2'],
|
@@ -70,9 +70,9 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
|
70
70
|
['paginator', '>= 1.1.0'],
|
71
71
|
['rspec', '>= 1.1.3']
|
72
72
|
]
|
73
|
-
|
73
|
+
|
74
74
|
#p.spec_extras = {} # A hash of extra values to set in the gemspec.
|
75
|
-
|
75
|
+
|
76
76
|
p.rdoc_pattern = /txt$/
|
77
77
|
end
|
78
78
|
|
data/lib/picolena/USAGE
CHANGED
@@ -9,7 +9,7 @@ Example:
|
|
9
9
|
picolena ~/shared_documents /media/literature
|
10
10
|
cd picolena
|
11
11
|
ruby script/server
|
12
|
-
|
12
|
+
|
13
13
|
This would create the picolena file structure, index every file
|
14
14
|
inside ~/shared_documents and /media/literature, and launch a
|
15
15
|
web-server available at http://localhost:3000
|
@@ -2,16 +2,16 @@ module Picolena
|
|
2
2
|
# Specify indexes path.
|
3
3
|
# Storage should be sufficient in order to store all indexed data.
|
4
4
|
IndexesSavePath=File.join(RAILS_ROOT, 'tmp/ferret_indexes/')
|
5
|
-
|
6
|
-
|
5
|
+
|
6
|
+
|
7
7
|
# Which language should be used?
|
8
8
|
# English (:en), German (:de), French (:fr) and Spanish (:es) are currently supported
|
9
9
|
# English is chosen by default.
|
10
10
|
# If you'd like to use another language, you can find templates in #{RAILS_ROOT}/lang/ui,
|
11
11
|
# then add your own language in this directory, and modify this line:
|
12
12
|
Globalite.language = :en
|
13
|
-
|
14
|
-
|
13
|
+
|
14
|
+
|
15
15
|
# Is more than one language used in indexed documents?
|
16
16
|
# Picolena can try to recognise the language used, and save it in the index.
|
17
17
|
# It is then possible to look for documents according to their language.
|
@@ -19,15 +19,15 @@ module Picolena
|
|
19
19
|
# If every document is written in the same language, turning UseLanguageRecognition to false
|
20
20
|
# will speed up the indexing process
|
21
21
|
UseLanguageRecognition = true
|
22
|
-
|
22
|
+
|
23
23
|
# Specify which locale should be used by Ferret
|
24
24
|
Ferret.locale = "en_US.UTF-8"
|
25
|
-
|
26
|
-
|
25
|
+
|
26
|
+
|
27
27
|
# Results per page
|
28
28
|
ResultsPerPage = 10
|
29
|
-
|
30
|
-
|
29
|
+
|
30
|
+
|
31
31
|
# Length of "probably unique id" 's
|
32
32
|
# Those id's are used to characterize every document, thus allowing tiny URLs in Controllers
|
33
33
|
# HashLength = 10
|
@@ -37,8 +37,8 @@ module Picolena
|
|
37
37
|
# The more documents you have, the bigger HashLength should be in order to avoid collisions.
|
38
38
|
# It would not be wise (and specs won't pass) to specify HashLength smaller than 10.
|
39
39
|
HashLength = 10
|
40
|
-
|
41
|
-
|
40
|
+
|
41
|
+
|
42
42
|
# Specify the default Levenshtein distance when using FuzzyQuery
|
43
43
|
# see http://ferret.davebalmain.com/api/classes/Ferret/QueryParser.html for more information.
|
44
44
|
Ferret::Search::FuzzyQuery.default_min_similarity=0.6
|
@@ -3,14 +3,14 @@ require 'fileutils'
|
|
3
3
|
require 'pathname'
|
4
4
|
|
5
5
|
class PicolenaGenerator < RubiGen::Base #:nodoc:
|
6
|
-
|
6
|
+
|
7
7
|
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
8
8
|
Config::CONFIG['ruby_install_name'])
|
9
|
-
|
9
|
+
|
10
10
|
default_options :destination => 'picolena'
|
11
|
-
|
11
|
+
|
12
12
|
attr_reader :name
|
13
|
-
|
13
|
+
|
14
14
|
def initialize(runtime_args, runtime_options = {})
|
15
15
|
super
|
16
16
|
usage if args.empty? and !options[:spec_only]
|
@@ -20,17 +20,17 @@ class PicolenaGenerator < RubiGen::Base #:nodoc:
|
|
20
20
|
abs_dir=Pathname.new(relative_path).realpath.to_s
|
21
21
|
"\"#{abs_dir}\" : \"#{abs_dir}\""
|
22
22
|
}.join("\n ")
|
23
|
-
|
23
|
+
|
24
24
|
extract_options
|
25
25
|
end
|
26
26
|
|
27
27
|
def manifest
|
28
28
|
script_options = { :chmod => 0755, :shebang => options[:shebang] == DEFAULT_SHEBANG ? nil : options[:shebang] }
|
29
|
-
|
29
|
+
|
30
30
|
record do |m|
|
31
31
|
#Create base dir
|
32
32
|
m.directory ''
|
33
|
-
|
33
|
+
|
34
34
|
# Picolena file structure, without any plugin.
|
35
35
|
BASEDIRS.each { |path|
|
36
36
|
# Ensure appropriate folder exists
|
@@ -38,7 +38,7 @@ class PicolenaGenerator < RubiGen::Base #:nodoc:
|
|
38
38
|
# Copy every file included in BASEDIRS
|
39
39
|
m.folder path, path
|
40
40
|
}
|
41
|
-
|
41
|
+
|
42
42
|
# Moved plugins away so they don't get parsed by rdoc/ri.
|
43
43
|
RAILS_PLUGINS.each{ |path|
|
44
44
|
plugin_source = '../../../rails_plugins/'+path
|
@@ -56,7 +56,7 @@ class PicolenaGenerator < RubiGen::Base #:nodoc:
|
|
56
56
|
%w( about breakpointer console destroy generate performance/benchmarker performance/profiler performance/request process/reaper process/spawner process/inspector runner server plugin spec spec_server).each do |file|
|
57
57
|
m.file "script/#{file}", "script/#{file}", script_options
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
# Picolena configuration files
|
61
61
|
m.file '../config/white_list_ip.yml', 'config/custom/white_list_ip.yml'
|
62
62
|
m.file '../config/basic.rb', 'config/custom/picolena.rb'
|
@@ -69,10 +69,10 @@ class PicolenaGenerator < RubiGen::Base #:nodoc:
|
|
69
69
|
m.file '../../../README.txt', 'README'
|
70
70
|
m.file '../../../README.txt', 'doc/README_FOR_APP'
|
71
71
|
m.file 'Rakefile', 'Rakefile'
|
72
|
-
|
72
|
+
|
73
73
|
unless options[:no_index]
|
74
74
|
# Indexing documents for development environment
|
75
|
-
m.rake 'index:create'
|
75
|
+
m.rake 'index:create'
|
76
76
|
# Mirroring Ferret development index instead of indexing documents again for production.
|
77
77
|
m.mirror 'tmp/ferret_indexes/development', 'tmp/ferret_indexes/production'
|
78
78
|
end
|
@@ -109,10 +109,10 @@ EOS
|
|
109
109
|
opts.on(nil, "--spec-only", "Test picolena framework without installing it."){
|
110
110
|
options[:spec_only]=true
|
111
111
|
options[:no_index]=true
|
112
|
-
options[:destination]=File.join(Dir::tmpdir,"picolena_test_#{Time.now.to_i}")
|
112
|
+
options[:destination]=File.join(Dir::tmpdir,"picolena_test_#{Time.now.to_i}")
|
113
113
|
}
|
114
114
|
end
|
115
|
-
|
115
|
+
|
116
116
|
def extract_options
|
117
117
|
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
118
118
|
# Templates can access these value via the attr_reader-generated methods, but not the
|
@@ -143,6 +143,7 @@ EOS
|
|
143
143
|
public/help
|
144
144
|
public/images
|
145
145
|
public/images/icons
|
146
|
+
public/images/flags
|
146
147
|
public/javascripts
|
147
148
|
public/stylesheets
|
148
149
|
spec
|
@@ -169,7 +170,7 @@ EOS
|
|
169
170
|
tmp/sessions
|
170
171
|
tmp/sockets
|
171
172
|
)
|
172
|
-
|
173
|
+
|
173
174
|
RAILS_PLUGINS=%w(
|
174
175
|
globalite
|
175
176
|
globalite/data
|
@@ -3,23 +3,23 @@
|
|
3
3
|
# The request is sent to DocumentsController only if the IP is included in the white list.
|
4
4
|
# Otherwise, it returns "Access denied" 403.
|
5
5
|
|
6
|
-
class ApplicationController < ActionController::Base
|
6
|
+
class ApplicationController < ActionController::Base
|
7
7
|
session :disabled => true
|
8
8
|
before_filter :should_only_be_available_for_white_list_IPs, :except=> :access_denied
|
9
|
-
|
9
|
+
|
10
10
|
# Returns 403 status in case of an unknown remote IP address
|
11
11
|
def access_denied
|
12
12
|
render :text=>"Access denied", :status => 403
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
# Redirects to documents_url in case route hasn't been recognised
|
16
16
|
def unknown_request
|
17
17
|
flash[:warning]="Unknown URL"
|
18
18
|
redirect_to documents_url
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
private
|
22
|
-
|
22
|
+
|
23
23
|
# Tries to match remote IP address with the white list defined in config/custom/white_list_ip.yml
|
24
24
|
# Redirects to :access_denied if the remote IP is not white listed.
|
25
25
|
def should_only_be_available_for_white_list_IPs
|
@@ -6,17 +6,18 @@
|
|
6
6
|
# - displays document content
|
7
7
|
# - displays cached content.
|
8
8
|
|
9
|
-
class DocumentsController < ApplicationController
|
9
|
+
class DocumentsController < ApplicationController
|
10
|
+
before_filter :ensure_index_is_created, :except=> :index
|
10
11
|
before_filter :check_if_valid_link, :only=> [:download, :content, :cached]
|
11
|
-
|
12
|
+
|
12
13
|
# Actually doesn't check anything at all. Just a redirect to show_document(query)
|
13
14
|
#
|
14
15
|
# FIXME: remove this useless action, and go directly from submit button to GET :action => show
|
15
16
|
def check_query
|
16
17
|
redirect_to :action=>'show', :id=>params[:query]
|
17
18
|
end
|
18
|
-
|
19
|
-
|
19
|
+
|
20
|
+
|
20
21
|
# Show the matching documents for a given query
|
21
22
|
def show
|
22
23
|
start=Time.now
|
@@ -31,14 +32,14 @@ class DocumentsController < ApplicationController
|
|
31
32
|
@total_hits=finder.total_hits
|
32
33
|
@time_needed=Time.now-start
|
33
34
|
end
|
34
|
-
|
35
|
-
|
35
|
+
|
36
|
+
|
36
37
|
# Download the file whose probably_unique_id is given.
|
37
38
|
# If the checksum is incorrect, redirect to documents_url via no_valid_link
|
38
39
|
def download
|
39
40
|
send_file @document.complete_path
|
40
41
|
end
|
41
|
-
|
42
|
+
|
42
43
|
# Returns the content of the document identified by probably_unique_id, as it is *now*.
|
43
44
|
def content
|
44
45
|
end
|
@@ -47,9 +48,9 @@ class DocumentsController < ApplicationController
|
|
47
48
|
# similar to Google cache.
|
48
49
|
def cached
|
49
50
|
end
|
50
|
-
|
51
|
+
|
51
52
|
private
|
52
|
-
|
53
|
+
|
53
54
|
# Returns corresponding document for any given "probably unique id"
|
54
55
|
# Redirects to no_valid_link if:
|
55
56
|
# there are more than one matching document (hash collision)
|
@@ -59,6 +60,13 @@ class DocumentsController < ApplicationController
|
|
59
60
|
@document=Document.find_by_unique_id(@probably_unique_id) rescue no_valid_link
|
60
61
|
end
|
61
62
|
|
63
|
+
def ensure_index_is_created
|
64
|
+
Indexer.ensure_index_existence
|
65
|
+
while Indexer.do_not_disturb_while_indexing do
|
66
|
+
sleep 1
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
62
70
|
# Flashes a warning and redirects to documents_url.
|
63
71
|
def no_valid_link
|
64
72
|
flash[:warning]="no valid link"
|
@@ -3,7 +3,7 @@ module DocumentsHelper
|
|
3
3
|
def nothing_found?
|
4
4
|
@matching_documents.nil? or @matching_documents.entries.empty?
|
5
5
|
end
|
6
|
-
|
6
|
+
|
7
7
|
# Very basic pagination.
|
8
8
|
# Provides liks to Next, Prev and FirstPage when needed.
|
9
9
|
def should_paginate(page,query)
|
@@ -11,7 +11,7 @@ module DocumentsHelper
|
|
11
11
|
(link_to("←", :action => :show, :id => query, :page => page.prev.number) if page.prev?),
|
12
12
|
(link_to("→", :action => :show, :id => query, :page => page.next.number) if page.next?)].compact.join(" | ")
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
# Returns a localized sentence like "Results 1-10 of 12 for Zimbabwe (0.472s)" or
|
16
16
|
# "Résultats 1-2 parmi 2 pour whatever (0.012s)"
|
17
17
|
def describe_results(page, total_hits, dt, query)
|
@@ -24,45 +24,46 @@ module DocumentsHelper
|
|
24
24
|
show_time_needed(dt)
|
25
25
|
].join(' ')
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
# Returns the time needed to treat the query and launch the search, with a ms precision : (0.472s)
|
29
29
|
def show_time_needed(dt)
|
30
30
|
content_tag(:small,'('<<number_with_precision(dt,3)<<'s)')
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
# When possible, highlights content of the document that matches the query.
|
34
34
|
def highlight_matching_content(document)
|
35
35
|
content_tag(:ul,document.matching_content.collect{|sentence|
|
36
36
|
content_tag(:li,h(sentence).gsub(/<<(.*?)>>/,'<strong>\1</strong>').gsub(/\v|\f/,''))
|
37
37
|
}) if document.matching_content
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
def language_icon_for(document)
|
41
|
-
|
41
|
+
lang=document.language
|
42
|
+
link_to(image_tag("flags/#{lang}.png"), document_url('lang:'<<lang)) unless lang.blank?
|
42
43
|
end
|
43
|
-
|
44
|
+
|
44
45
|
# Returns icon and filename for any given document.
|
45
46
|
def icon_and_filename_for(document)
|
46
|
-
[icon_for(document.
|
47
|
+
[icon_for(document.ext_as_sym),document.filename].join(" ")
|
47
48
|
end
|
48
|
-
|
49
|
+
|
49
50
|
# Returns the location (if avaible) of the filetype icon.
|
50
|
-
def icon_for(
|
51
|
-
icon_symbol=FiletypeToIconSymbol[
|
51
|
+
def icon_for(ext)
|
52
|
+
icon_symbol=Picolena::FiletypeToIconSymbol[ext]
|
52
53
|
image_tag("icons/#{icon_symbol}.png") if icon_symbol
|
53
54
|
end
|
54
|
-
|
55
|
+
|
55
56
|
# Returns a link to a backup search engine that could maybe find more results for the same query.
|
56
57
|
def link_to_backup_search_engine(query)
|
57
58
|
link_to :backup_search_engine_name.l, :backup_search_engine_url.l<<query
|
58
59
|
end
|
59
|
-
|
60
|
+
|
60
61
|
# For any indexed document, returns a link to its containing directory.
|
61
62
|
def link_to_containing_directory(document)
|
62
63
|
link_name=image_tag('icons/remote_folder.png')<<' '<<content_tag(:small,document.alias_path)
|
63
64
|
link_to link_name, document.alias_path, :target=>'_blank'
|
64
65
|
end
|
65
|
-
|
66
|
+
|
66
67
|
# For any indexed document, returns a link to show its content.
|
67
68
|
def link_to_plain_text_content(document)
|
68
69
|
link_name=image_tag('icons/plain_text_small.png')<<' '<<content_tag(:small,:text_content.l)
|
@@ -1,36 +1,33 @@
|
|
1
1
|
# Document class retrieves information from filesystem and the index for any given document.
|
2
2
|
class Document
|
3
3
|
attr_reader :complete_path
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
attr_accessor :score, :matching_content
|
5
|
+
|
7
6
|
def initialize(path)
|
8
7
|
#To ensure @complete_path is an absolute direction.
|
9
8
|
@complete_path=File.expand_path(path)
|
10
9
|
validate_existence_of_file
|
11
10
|
validate_in_indexed_directory
|
12
11
|
end
|
13
|
-
|
12
|
+
|
14
13
|
#Delegating properties to File::method_name(complete_path)
|
15
|
-
[:dirname, :basename, :extname, :
|
14
|
+
[:dirname, :basename, :extname, :ext_as_sym, :file?, :ext_as_sym].each{|method_name|
|
16
15
|
define_method(method_name){File.send(method_name,complete_path)}
|
17
16
|
}
|
18
|
-
alias_method :size, :size?
|
19
17
|
alias_method :filename, :basename
|
20
|
-
|
21
|
-
|
18
|
+
|
22
19
|
# Returns filename without extension
|
23
20
|
# "buildings.odt" => "buildings"
|
24
21
|
def basename
|
25
22
|
filename.chomp(extname)
|
26
23
|
end
|
27
|
-
|
24
|
+
|
28
25
|
# End users should not always know where documents are stored internally.
|
29
26
|
# An alias path can be specified in config/indexed_directories.yml
|
30
|
-
#
|
27
|
+
#
|
31
28
|
# For example, with:
|
32
29
|
# "/media/wiki_dump/" : "http://www.mycompany.com/wiki/"
|
33
|
-
#
|
30
|
+
#
|
34
31
|
# The documents
|
35
32
|
# "/media/wiki_dump/organigram.odp"
|
36
33
|
# will be displayed as being:
|
@@ -40,7 +37,7 @@ class Document
|
|
40
37
|
alias_dir=Picolena::IndexedDirectories[original_dir]
|
41
38
|
dirname.sub(original_dir,alias_dir)
|
42
39
|
end
|
43
|
-
|
40
|
+
|
44
41
|
# Returns an id for this document.
|
45
42
|
# This id will be used in Controllers in order to get tiny urls.
|
46
43
|
# Since it's a base26 hash of the absolute filename, it can only be "probably unique".
|
@@ -48,46 +45,41 @@ class Document
|
|
48
45
|
def probably_unique_id
|
49
46
|
@probably_unique_id||=complete_path.base26_hash
|
50
47
|
end
|
51
|
-
|
48
|
+
|
52
49
|
# Returns true iff some PlainTextExtractor has been defined to convert it to plain text.
|
53
50
|
# Document.new("presentation.pdf").supported? => true
|
54
51
|
# Document.new("presentation.some_weird_extension").supported? => false
|
55
52
|
def supported?
|
56
53
|
PlainTextExtractor.supported_extensions.include?(self.ext_as_sym)
|
57
54
|
end
|
58
|
-
|
55
|
+
|
59
56
|
# Retrieves content as it is *now*.
|
60
57
|
def content
|
61
58
|
PlainTextExtractor.extract_content_from(complete_path)
|
62
59
|
end
|
63
|
-
|
60
|
+
|
64
61
|
# Cache à la Google.
|
65
62
|
# Returns content as it was at the time it was indexed.
|
66
63
|
def cached
|
67
64
|
from_index[:content]
|
68
65
|
end
|
69
|
-
|
66
|
+
|
70
67
|
# FIXME: Not just date anymore.
|
71
68
|
# Returns the last modification date before the document got indexed.
|
72
69
|
# Useful to know how old a document is, and to which version the cache corresponds.
|
73
70
|
def date
|
74
71
|
from_index[:modified].sub(/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/,'\1-\2-\3 \4:\5:\6')
|
75
72
|
end
|
76
|
-
|
73
|
+
|
77
74
|
def mtime
|
78
75
|
from_index[:modified].to_i
|
79
76
|
end
|
80
|
-
|
77
|
+
|
81
78
|
# Returns language.
|
82
79
|
def language
|
83
80
|
from_index[:language]
|
84
81
|
end
|
85
|
-
|
86
|
-
# Returns the id with which the document is indexed.
|
87
|
-
def index_id
|
88
|
-
@index_id ||= Finder.term_search(:complete_path, complete_path).doc
|
89
|
-
end
|
90
|
-
|
82
|
+
|
91
83
|
# Fields that are shared between every document.
|
92
84
|
def self.default_fields_for(complete_path)
|
93
85
|
{
|
@@ -97,36 +89,35 @@ class Document
|
|
97
89
|
:basename => File.basename(complete_path, File.extname(complete_path)).gsub(/_/,' '),
|
98
90
|
:filetype => File.extname(complete_path),
|
99
91
|
:modified => File.mtime(complete_path).strftime("%Y%m%d%H%M%S")
|
100
|
-
}
|
92
|
+
}
|
101
93
|
end
|
102
|
-
|
94
|
+
|
103
95
|
private
|
104
|
-
|
96
|
+
|
105
97
|
# Retrieves the document from the index.
|
106
98
|
# Useful to get meta-info about it.
|
107
99
|
def from_index
|
108
|
-
Indexer.index[
|
100
|
+
Indexer.index[probably_unique_id]
|
109
101
|
end
|
110
|
-
|
111
|
-
def self.find_by_unique_id(
|
112
|
-
|
113
|
-
new(Indexer.index[doc_id][:complete_path])
|
102
|
+
|
103
|
+
def self.find_by_unique_id(probably_unique_id)
|
104
|
+
new(Indexer.index[probably_unique_id][:complete_path])
|
114
105
|
end
|
115
|
-
|
106
|
+
|
116
107
|
def in_indexed_directory?
|
117
108
|
!indexed_directory.nil?
|
118
109
|
end
|
119
|
-
|
110
|
+
|
120
111
|
def indexed_directory
|
121
112
|
Picolena::IndexedDirectories.keys.find{|indexed_dir|
|
122
113
|
dirname.starts_with?(indexed_dir)
|
123
|
-
}
|
114
|
+
}
|
124
115
|
end
|
125
|
-
|
116
|
+
|
126
117
|
def validate_existence_of_file
|
127
118
|
raise Errno::ENOENT, @complete_path unless file?
|
128
119
|
end
|
129
|
-
|
120
|
+
|
130
121
|
def validate_in_indexed_directory
|
131
122
|
raise ArgumentError, "required document is not in indexed directory" unless in_indexed_directory?
|
132
123
|
end
|