ultrasphinx 1.6.7 → 1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/CHANGELOG +2 -0
- data/DEPLOYMENT_NOTES +29 -0
- data/Manifest +7 -2
- data/RAKE_TASKS +15 -0
- data/README +14 -17
- data/TODO +7 -1
- data/examples/default.base +16 -2
- data/lib/ultrasphinx.rb +2 -2
- data/lib/ultrasphinx/associations.rb +25 -0
- data/lib/ultrasphinx/configure.rb +26 -16
- data/lib/ultrasphinx/fields.rb +7 -4
- data/lib/ultrasphinx/is_indexed.rb +37 -25
- data/lib/ultrasphinx/search.rb +1 -0
- data/lib/ultrasphinx/search/internals.rb +10 -3
- data/lib/ultrasphinx/search/parser.rb +14 -11
- data/lib/ultrasphinx/ultrasphinx.rb +6 -4
- data/test/integration/app/app/models/geo/address.rb +1 -1
- data/test/integration/app/app/models/geo/country.rb +4 -0
- data/test/integration/app/config/boot.rb +95 -32
- data/test/integration/app/config/environment.rb +4 -1
- data/test/integration/app/config/environments/development.rb +4 -4
- data/test/integration/app/config/ultrasphinx/development.conf.canonical +45 -13
- data/test/integration/app/db/migrate/009_create_countries.rb +11 -0
- data/test/integration/app/test/fixtures/countries.yml +1 -0
- data/test/integration/configure_test.rb +14 -11
- data/test/integration/search_test.rb +1 -0
- data/test/integration/server_test.rb +2 -2
- data/test/setup.rb +0 -3
- data/test/teardown.rb +0 -0
- data/test/test_helper.rb +1 -6
- data/ultrasphinx.gemspec +21 -7
- data/vendor/riddle/README +2 -2
- data/vendor/riddle/Rakefile +94 -0
- data/vendor/riddle/lib/riddle.rb +1 -1
- data/vendor/riddle/lib/riddle/client.rb +18 -6
- data/vendor/riddle/lib/riddle/client/filter.rb +3 -1
- data/vendor/riddle/lib/riddle/client/message.rb +1 -1
- data/vendor/riddle/lib/riddle/client/response.rb +1 -1
- data/vendor/riddle/spec/fixtures/data/anchor.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/filter_floats.bin +0 -0
- data/vendor/riddle/spec/fixtures/data/filter_floats_exclude.bin +0 -0
- data/vendor/riddle/spec/sphinx_helper.rb +1 -0
- data/vendor/riddle/spec/unit/message_spec.rb +3 -3
- data/vendor/riddle/spec/unit/response_spec.rb +2 -2
- metadata +10 -5
- metadata.gz.sig +0 -0
- data/test/integration/app/config/ultrasphinx/development.conf +0 -159
- data/test/integration/app/db/schema.rb +0 -52
@@ -0,0 +1 @@
|
|
1
|
+
# Intentionally left blank
|
@@ -5,18 +5,21 @@ class ConfigureTest < Test::Unit::TestCase
|
|
5
5
|
|
6
6
|
CONF = "#{RAILS_ROOT}/config/ultrasphinx/development.conf"
|
7
7
|
|
8
|
-
def test_configuration_hasnt_changed
|
8
|
+
def test_configuration_hasnt_changed
|
9
|
+
unless ENV['DB'] =~ /postgresql/i
|
10
|
+
# MySQL only right now... not really a big deal
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
12
|
+
File.delete CONF if File.exist? CONF
|
13
|
+
Dir.chdir RAILS_ROOT do
|
14
|
+
Ultrasphinx::Configure.run
|
15
|
+
end
|
16
|
+
|
17
|
+
@offset = 4
|
18
|
+
@current = open(CONF).readlines[@offset..-1]
|
19
|
+
@canonical = open(CONF + ".canonical").readlines[@offset..-1]
|
20
|
+
@canonical.each_with_index do |line, index|
|
21
|
+
assert_equal line, @current[index], "line #{index}:#{line.inspect} is incorrect"
|
22
|
+
end
|
20
23
|
end
|
21
24
|
end
|
22
25
|
|
@@ -12,7 +12,7 @@ class ServerTest < Test::Unit::TestCase
|
|
12
12
|
def setup
|
13
13
|
@pid = Process.fork do
|
14
14
|
Dir.chdir RAILS_ROOT do
|
15
|
-
print "S"
|
15
|
+
# print "S"
|
16
16
|
exec("script/server -p #{PORT} &> /dev/null")
|
17
17
|
end
|
18
18
|
end
|
@@ -23,7 +23,7 @@ class ServerTest < Test::Unit::TestCase
|
|
23
23
|
# Process.kill(9, @pid) doesn't work because Mongrel has double-forked itself away
|
24
24
|
`ps awx | grep #{PORT} | grep -v grep | awk '{print $1}'`.split("\n").each do |pid|
|
25
25
|
system("kill -9 #{pid}")
|
26
|
-
print "K"
|
26
|
+
# print "K"
|
27
27
|
end
|
28
28
|
sleep(2)
|
29
29
|
@pid = nil
|
data/test/setup.rb
CHANGED
@@ -1,9 +1,6 @@
|
|
1
1
|
|
2
2
|
# Setup integration system for the integration suite
|
3
3
|
|
4
|
-
puts ["Please make sure that test/integration/app/vendor/rails is symlinked",
|
5
|
-
"to a Rails trunk checkout in order for the rake tasks to run properly."]
|
6
|
-
|
7
4
|
Dir.chdir "#{File.dirname(__FILE__)}/integration/app/" do
|
8
5
|
system("killall searchd")
|
9
6
|
system("rm -rf /tmp/sphinx")
|
data/test/teardown.rb
ADDED
File without changes
|
data/test/test_helper.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'rubygems'
|
3
3
|
require 'test/unit'
|
4
4
|
require 'ruby-debug'
|
5
|
+
require 'multi_rails_init'
|
5
6
|
|
6
7
|
HERE = File.dirname(__FILE__)
|
7
8
|
$LOAD_PATH << HERE
|
@@ -11,9 +12,3 @@ require 'integration/app/config/environment'
|
|
11
12
|
Dir.chdir "#{HERE}/integration/app" do
|
12
13
|
system("rake us:start")
|
13
14
|
end
|
14
|
-
|
15
|
-
def silently
|
16
|
-
stderr, $stderr = $stderr, StringIO.new
|
17
|
-
yield
|
18
|
-
$stderr = stderr
|
19
|
-
end
|
data/ultrasphinx.gemspec
CHANGED
@@ -1,24 +1,24 @@
|
|
1
1
|
|
2
|
-
# Gem::Specification for Ultrasphinx-1.
|
2
|
+
# Gem::Specification for Ultrasphinx-1.7
|
3
3
|
# Originally generated by Echoe
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = %q{ultrasphinx}
|
7
|
-
s.version = "1.
|
7
|
+
s.version = "1.7"
|
8
8
|
|
9
9
|
s.specification_version = 2 if s.respond_to? :specification_version=
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = [""]
|
13
|
-
s.date = %q{
|
13
|
+
s.date = %q{2008-01-12}
|
14
14
|
s.description = %q{Ruby on Rails configurator and client to the Sphinx fulltext search engine.}
|
15
15
|
s.email = %q{}
|
16
|
-
s.files = ["CHANGELOG", "examples/ap.multi", "examples/default.base", "init.rb", "lib/ultrasphinx/autoload.rb", "lib/ultrasphinx/configure.rb", "lib/ultrasphinx/core_extensions.rb", "lib/ultrasphinx/fields.rb", "lib/ultrasphinx/is_indexed.rb", "lib/ultrasphinx/postgresql/concat_ws.sql", "lib/ultrasphinx/postgresql/crc32.sql", "lib/ultrasphinx/postgresql/group_concat.sql", "lib/ultrasphinx/postgresql/hex_to_int.sql", "lib/ultrasphinx/postgresql/language.sql", "lib/ultrasphinx/postgresql/unix_timestamp.sql", "lib/ultrasphinx/search/internals.rb", "lib/ultrasphinx/search/parser.rb", "lib/ultrasphinx/search.rb", "lib/ultrasphinx/spell.rb", "lib/ultrasphinx/ultrasphinx.rb", "lib/ultrasphinx.rb", "LICENSE", "Manifest", "README", "tasks/ultrasphinx.rake", "test/config/ultrasphinx/test.base", "test/integration/app/app/controllers/addresses_controller.rb", "test/integration/app/app/controllers/application.rb", "test/integration/app/app/controllers/sellers_controller.rb", "test/integration/app/app/controllers/states_controller.rb", "test/integration/app/app/controllers/users_controller.rb", "test/integration/app/app/helpers/addresses_helper.rb", "test/integration/app/app/helpers/application_helper.rb", "test/integration/app/app/helpers/sellers_helper.rb", "test/integration/app/app/helpers/states_helper.rb", "test/integration/app/app/helpers/users_helper.rb", "test/integration/app/app/models/geo/address.rb", "test/integration/app/app/models/geo/state.rb", "test/integration/app/app/models/person/user.rb", "test/integration/app/app/models/seller.rb", "test/integration/app/app/views/addresses/edit.html.erb", "test/integration/app/app/views/addresses/index.html.erb", "test/integration/app/app/views/addresses/new.html.erb", "test/integration/app/app/views/addresses/show.html.erb", "test/integration/app/app/views/layouts/addresses.html.erb", "test/integration/app/app/views/layouts/sellers.html.erb", "test/integration/app/app/views/layouts/states.html.erb", "test/integration/app/app/views/layouts/users.html.erb", "test/integration/app/app/views/sellers/edit.html.erb", "test/integration/app/app/views/sellers/index.html.erb", "test/integration/app/app/views/sellers/new.html.erb", "test/integration/app/app/views/sellers/show.html.erb", "test/integration/app/app/views/states/edit.html.erb", "test/integration/app/app/views/states/index.html.erb", "test/integration/app/app/views/states/new.html.erb", "test/integration/app/app/views/states/show.html.erb", "test/integration/app/app/views/users/edit.html.erb", "test/integration/app/app/views/users/index.html.erb", "test/integration/app/app/views/users/new.html.erb", "test/integration/app/app/views/users/show.html.erb", "test/integration/app/config/boot.rb", "test/integration/app/config/database.yml", "test/integration/app/config/environment.rb", "test/integration/app/config/environments/development.rb", "test/integration/app/config/environments/production.rb", "test/integration/app/config/environments/test.rb", "test/integration/app/config/locomotive.yml", "test/integration/app/config/routes.rb", "test/integration/app/config/ultrasphinx/default.base", "test/integration/app/config/ultrasphinx/development.conf
|
16
|
+
s.files = ["CHANGELOG", "DEPLOYMENT_NOTES", "examples/ap.multi", "examples/default.base", "init.rb", "lib/ultrasphinx/associations.rb", "lib/ultrasphinx/autoload.rb", "lib/ultrasphinx/configure.rb", "lib/ultrasphinx/core_extensions.rb", "lib/ultrasphinx/fields.rb", "lib/ultrasphinx/is_indexed.rb", "lib/ultrasphinx/postgresql/concat_ws.sql", "lib/ultrasphinx/postgresql/crc32.sql", "lib/ultrasphinx/postgresql/group_concat.sql", "lib/ultrasphinx/postgresql/hex_to_int.sql", "lib/ultrasphinx/postgresql/language.sql", "lib/ultrasphinx/postgresql/unix_timestamp.sql", "lib/ultrasphinx/search/internals.rb", "lib/ultrasphinx/search/parser.rb", "lib/ultrasphinx/search.rb", "lib/ultrasphinx/spell.rb", "lib/ultrasphinx/ultrasphinx.rb", "lib/ultrasphinx.rb", "LICENSE", "Manifest", "RAKE_TASKS", "README", "tasks/ultrasphinx.rake", "test/config/ultrasphinx/test.base", "test/integration/app/app/controllers/addresses_controller.rb", "test/integration/app/app/controllers/application.rb", "test/integration/app/app/controllers/sellers_controller.rb", "test/integration/app/app/controllers/states_controller.rb", "test/integration/app/app/controllers/users_controller.rb", "test/integration/app/app/helpers/addresses_helper.rb", "test/integration/app/app/helpers/application_helper.rb", "test/integration/app/app/helpers/sellers_helper.rb", "test/integration/app/app/helpers/states_helper.rb", "test/integration/app/app/helpers/users_helper.rb", "test/integration/app/app/models/geo/address.rb", "test/integration/app/app/models/geo/country.rb", "test/integration/app/app/models/geo/state.rb", "test/integration/app/app/models/person/user.rb", "test/integration/app/app/models/seller.rb", "test/integration/app/app/views/addresses/edit.html.erb", "test/integration/app/app/views/addresses/index.html.erb", "test/integration/app/app/views/addresses/new.html.erb", "test/integration/app/app/views/addresses/show.html.erb", "test/integration/app/app/views/layouts/addresses.html.erb", "test/integration/app/app/views/layouts/sellers.html.erb", "test/integration/app/app/views/layouts/states.html.erb", "test/integration/app/app/views/layouts/users.html.erb", "test/integration/app/app/views/sellers/edit.html.erb", "test/integration/app/app/views/sellers/index.html.erb", "test/integration/app/app/views/sellers/new.html.erb", "test/integration/app/app/views/sellers/show.html.erb", "test/integration/app/app/views/states/edit.html.erb", "test/integration/app/app/views/states/index.html.erb", "test/integration/app/app/views/states/new.html.erb", "test/integration/app/app/views/states/show.html.erb", "test/integration/app/app/views/users/edit.html.erb", "test/integration/app/app/views/users/index.html.erb", "test/integration/app/app/views/users/new.html.erb", "test/integration/app/app/views/users/show.html.erb", "test/integration/app/config/boot.rb", "test/integration/app/config/database.yml", "test/integration/app/config/environment.rb", "test/integration/app/config/environments/development.rb", "test/integration/app/config/environments/production.rb", "test/integration/app/config/environments/test.rb", "test/integration/app/config/locomotive.yml", "test/integration/app/config/routes.rb", "test/integration/app/config/ultrasphinx/default.base", "test/integration/app/config/ultrasphinx/development.conf.canonical", "test/integration/app/db/migrate/001_create_users.rb", "test/integration/app/db/migrate/002_create_sellers.rb", "test/integration/app/db/migrate/003_create_addresses.rb", "test/integration/app/db/migrate/004_create_states.rb", "test/integration/app/db/migrate/005_add_capitalization_to_seller.rb", "test/integration/app/db/migrate/006_add_deleted_to_user.rb", "test/integration/app/db/migrate/007_add_lat_and_long_to_address.rb", "test/integration/app/db/migrate/008_add_mission_statement_to_seller.rb", "test/integration/app/db/migrate/009_create_countries.rb", "test/integration/app/doc/README_FOR_APP", "test/integration/app/public/404.html", "test/integration/app/public/500.html", "test/integration/app/public/dispatch.cgi", "test/integration/app/public/dispatch.fcgi", "test/integration/app/public/dispatch.rb", "test/integration/app/public/favicon.ico", "test/integration/app/public/images/rails.png", "test/integration/app/public/index.html", "test/integration/app/public/javascripts/application.js", "test/integration/app/public/javascripts/controls.js", "test/integration/app/public/javascripts/dragdrop.js", "test/integration/app/public/javascripts/effects.js", "test/integration/app/public/javascripts/prototype.js", "test/integration/app/public/robots.txt", "test/integration/app/public/stylesheets/scaffold.css", "test/integration/app/Rakefile", "test/integration/app/README", "test/integration/app/script/about", "test/integration/app/script/breakpointer", "test/integration/app/script/console", "test/integration/app/script/destroy", "test/integration/app/script/generate", "test/integration/app/script/performance/benchmarker", "test/integration/app/script/performance/profiler", "test/integration/app/script/plugin", "test/integration/app/script/process/inspector", "test/integration/app/script/process/reaper", "test/integration/app/script/process/spawner", "test/integration/app/script/runner", "test/integration/app/script/server", "test/integration/app/test/fixtures/addresses.yml", "test/integration/app/test/fixtures/countries.yml", "test/integration/app/test/fixtures/sellers.yml", "test/integration/app/test/fixtures/states.yml", "test/integration/app/test/fixtures/users.yml", "test/integration/app/test/functional/addresses_controller_test.rb", "test/integration/app/test/functional/sellers_controller_test.rb", "test/integration/app/test/functional/states_controller_test.rb", "test/integration/app/test/functional/users_controller_test.rb", "test/integration/app/test/test_helper.rb", "test/integration/app/test/unit/address_test.rb", "test/integration/app/test/unit/seller_test.rb", "test/integration/app/test/unit/state_test.rb", "test/integration/app/test/unit/user_test.rb", "test/integration/configure_test.rb", "test/integration/search_test.rb", "test/integration/server_test.rb", "test/integration/spell_test.rb", "test/setup.rb", "test/teardown.rb", "test/test_all.rb", "test/test_helper.rb", "test/ts.multi", "test/unit/parser_test.rb", "TODO", "vendor/riddle/lib/riddle/client/filter.rb", "vendor/riddle/lib/riddle/client/message.rb", "vendor/riddle/lib/riddle/client/response.rb", "vendor/riddle/lib/riddle/client.rb", "vendor/riddle/lib/riddle.rb", "vendor/riddle/MIT-LICENCE", "vendor/riddle/Rakefile", "vendor/riddle/README", "vendor/riddle/spec/fixtures/data/anchor.bin", "vendor/riddle/spec/fixtures/data/any.bin", "vendor/riddle/spec/fixtures/data/boolean.bin", "vendor/riddle/spec/fixtures/data/distinct.bin", "vendor/riddle/spec/fixtures/data/filter.bin", "vendor/riddle/spec/fixtures/data/filter_array.bin", "vendor/riddle/spec/fixtures/data/filter_array_exclude.bin", "vendor/riddle/spec/fixtures/data/filter_floats.bin", "vendor/riddle/spec/fixtures/data/filter_floats_exclude.bin", "vendor/riddle/spec/fixtures/data/filter_floats_range.bin", "vendor/riddle/spec/fixtures/data/filter_range.bin", "vendor/riddle/spec/fixtures/data/filter_range_exclude.bin", "vendor/riddle/spec/fixtures/data/group.bin", "vendor/riddle/spec/fixtures/data/index.bin", "vendor/riddle/spec/fixtures/data/phrase.bin", "vendor/riddle/spec/fixtures/data/simple.bin", "vendor/riddle/spec/fixtures/data/sort.bin", "vendor/riddle/spec/fixtures/data/update_simple.bin", "vendor/riddle/spec/fixtures/data/weights.bin", "vendor/riddle/spec/fixtures/sphinx/configuration.erb", "vendor/riddle/spec/fixtures/sql/conf.example.yml", "vendor/riddle/spec/fixtures/sql/data.sql", "vendor/riddle/spec/fixtures/sql/structure.sql", "vendor/riddle/spec/functional/excerpt_spec.rb", "vendor/riddle/spec/functional/search_spec.rb", "vendor/riddle/spec/functional/update_spec.rb", "vendor/riddle/spec/spec_helper.rb", "vendor/riddle/spec/sphinx_helper.rb", "vendor/riddle/spec/unit/client_spec.rb", "vendor/riddle/spec/unit/filter_spec.rb", "vendor/riddle/spec/unit/message_spec.rb", "vendor/riddle/spec/unit/response_spec.rb", "vendor/will_paginate/LICENSE", "ultrasphinx.gemspec"]
|
17
17
|
s.has_rdoc = true
|
18
18
|
s.homepage = %q{http://blog.evanweaver.com/files/doc/fauna/ultrasphinx/}
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
s.rubyforge_project = %q{fauna}
|
21
|
-
s.rubygems_version = %q{0.
|
21
|
+
s.rubygems_version = %q{1.0.1}
|
22
22
|
s.summary = %q{Ruby on Rails configurator and client to the Sphinx fulltext search engine.}
|
23
23
|
s.test_files = ["test/test_all.rb"]
|
24
24
|
|
@@ -36,8 +36,22 @@ end
|
|
36
36
|
# p.summary = "Ruby on Rails configurator and client to the Sphinx fulltext search engine."
|
37
37
|
# p.url = "http://blog.evanweaver.com/files/doc/fauna/ultrasphinx/"
|
38
38
|
# p.docs_host = "blog.evanweaver.com:~/www/bax/public/files/doc/"
|
39
|
-
# p.rdoc_pattern = /is_indexed.rb|search.rb|spell.rb|ultrasphinx.rb|^README|TODO|CHANGELOG|^LICENSE/
|
39
|
+
# p.rdoc_pattern = /is_indexed.rb|search.rb|spell.rb|ultrasphinx.rb|^README|TODO|DEPLOY|RAKE_TASKS|CHANGELOG|^LICENSE/
|
40
40
|
# p.dependencies = "chronic"
|
41
41
|
# p.test_pattern = ["test/integration/*.rb", "test/unit/*.rb"]
|
42
|
-
# p.rcov_options << '--include-file test\/integration\/app\/vendor\/plugins\/ultrasphinx\/lib\/.*\.rb'
|
42
|
+
# p.rcov_options << '--include-file test\/integration\/app\/vendor\/plugins\/ultrasphinx\/lib\/.*\.rb --include-file '
|
43
43
|
# end
|
44
|
+
#
|
45
|
+
# desc "Run all the tests for every database adapter"
|
46
|
+
# task "test_all" do
|
47
|
+
# ['mysql', 'postgresql'].each do |adapter|
|
48
|
+
# ENV['DB'] = adapter
|
49
|
+
# ENV['PRODUCTION'] = nil
|
50
|
+
# STDERR.puts "#{'='*80}\nDevelopment mode for #{adapter}\n#{'='*80}"
|
51
|
+
# system("rake test:multi_rails:all")
|
52
|
+
#
|
53
|
+
# ENV['PRODUCTION'] = '1'
|
54
|
+
# STDERR.puts "#{'='*80}\nProduction mode for #{adapter}\n#{'='*80}"
|
55
|
+
# system("rake test:multi_rails:all")
|
56
|
+
# end
|
57
|
+
# end
|
data/vendor/riddle/README
CHANGED
@@ -8,13 +8,13 @@ opting for a more Ruby-like structure.
|
|
8
8
|
While it doesn't (yet) exist as a gem, you can obtain the sourcecode via subversion. If you
|
9
9
|
are after a specific release, use the tag as follows:
|
10
10
|
|
11
|
-
svn co http://rails-oceania.googlecode.com/svn/patallan/riddle/tags/0.9.8-
|
11
|
+
svn co http://rails-oceania.googlecode.com/svn/patallan/riddle/tags/0.9.8-r985 riddle
|
12
12
|
|
13
13
|
Or for the most current, just use trunk:
|
14
14
|
|
15
15
|
svn co http://rails-oceania.googlecode.com/svn/patallan/riddle/trunk riddle
|
16
16
|
|
17
|
-
Please note that at the time of writing, only 0.9.8r871
|
17
|
+
Please note that at the time of writing, only 0.9.8r871, 0.9.8r909 and 0.9.8r985 are supported.
|
18
18
|
|
19
19
|
To get started, just instantiate a Client object:
|
20
20
|
|
data/vendor/riddle/Rakefile
CHANGED
@@ -1,12 +1,106 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/rdoctask'
|
3
3
|
require 'spec/rake/spectask'
|
4
|
+
require 'rdoc/rdoc'
|
5
|
+
require 'rdoc/generators/html_generator'
|
6
|
+
require 'rdoc/generators/template/html/html'
|
7
|
+
|
8
|
+
module Generators
|
9
|
+
class HtmlFile < ContextUser
|
10
|
+
alias_method :core_attribute_values, :file_attribute_values
|
11
|
+
|
12
|
+
def file_attribute_values
|
13
|
+
core_attribute_values
|
14
|
+
|
15
|
+
@values["analytics"] = @options.analytics if @options.analytics
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class HtmlClass < ContextUser
|
20
|
+
alias_method :core_attribute_values, :class_attribute_values
|
21
|
+
|
22
|
+
def class_attribute_values
|
23
|
+
core_attribute_values
|
24
|
+
|
25
|
+
@values["analytics"] = @options.analytics if @options.analytics
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class Options
|
31
|
+
attr_accessor :analytics
|
32
|
+
|
33
|
+
module OptionList
|
34
|
+
OPTION_LIST << [
|
35
|
+
"--analytics", "-y", "code", "Google Analytics Code"
|
36
|
+
]
|
37
|
+
end
|
38
|
+
|
39
|
+
alias_method :core_parse, :parse
|
40
|
+
|
41
|
+
def parse(argv, generators)
|
42
|
+
core_parse(argv, generators)
|
43
|
+
|
44
|
+
old_args = ARGV.dup
|
45
|
+
ARGV.replace(argv)
|
46
|
+
|
47
|
+
go = GetoptLong.new(*OptionList.options)
|
48
|
+
go.quiet = true
|
49
|
+
|
50
|
+
go.each do |opt, arg|
|
51
|
+
case opt
|
52
|
+
when "--analytics"
|
53
|
+
@analytics = arg.strip
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
ARGV.replace(old_args)
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
module RDoc
|
63
|
+
module Page
|
64
|
+
remove_const :FOOTER
|
65
|
+
const_set :FOOTER, %{
|
66
|
+
<div id="validator-badges">
|
67
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
68
|
+
</div>
|
69
|
+
<script type="text/javascript">
|
70
|
+
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
71
|
+
document.write("\\<script src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'>\\<\\/script>" );
|
72
|
+
</script>
|
73
|
+
<script type="text/javascript">
|
74
|
+
var pageTracker = _gat._getTracker("%analytics%");
|
75
|
+
pageTracker._initData();
|
76
|
+
pageTracker._trackPageview();
|
77
|
+
</script>
|
78
|
+
|
79
|
+
</body>
|
80
|
+
</html>
|
81
|
+
}
|
82
|
+
|
83
|
+
remove_const :BODY
|
84
|
+
const_set :BODY, HEADER + %{
|
85
|
+
|
86
|
+
!INCLUDE! <!-- banner header -->
|
87
|
+
|
88
|
+
<div id="bodyContent">
|
89
|
+
|
90
|
+
} + METHOD_LIST + %{
|
91
|
+
|
92
|
+
</div>
|
93
|
+
|
94
|
+
} + FOOTER
|
95
|
+
end
|
96
|
+
end
|
4
97
|
|
5
98
|
desc 'Generate documentation'
|
6
99
|
Rake::RDocTask.new(:rdoc) do |rdoc|
|
7
100
|
rdoc.rdoc_dir = 'rdoc'
|
8
101
|
rdoc.title = 'Riddle - Ruby Sphinx Client'
|
9
102
|
rdoc.options << '--line-numbers' << '--inline-source'
|
103
|
+
rdoc.options << '-y US-2475317-6'
|
10
104
|
rdoc.rdoc_files.include('README')
|
11
105
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
12
106
|
end
|
data/vendor/riddle/lib/riddle.rb
CHANGED
@@ -45,11 +45,13 @@ module Riddle
|
|
45
45
|
}
|
46
46
|
|
47
47
|
MatchModes = {
|
48
|
-
:all
|
49
|
-
:any
|
50
|
-
:phrase
|
51
|
-
:boolean
|
52
|
-
:extended
|
48
|
+
:all => 0, # SPH_MATCH_ALL
|
49
|
+
:any => 1, # SPH_MATCH_ANY
|
50
|
+
:phrase => 2, # SPH_MATCH_PHRASE
|
51
|
+
:boolean => 3, # SPH_MATCH_BOOLEAN
|
52
|
+
:extended => 4, # SPH_MATCH_EXTENDED
|
53
|
+
:fullsacn => 5, # SPH_MATCH_FULLSCAN
|
54
|
+
:extended2 => 6 # SPH_MATCH_EXTENDED2
|
53
55
|
}
|
54
56
|
|
55
57
|
SortModes = {
|
@@ -272,6 +274,8 @@ module Riddle
|
|
272
274
|
# * :chunk_separator (defaults to ' … ' - which is an HTML ellipsis)
|
273
275
|
# * :limit (defaults to 256)
|
274
276
|
# * :around (defaults to 5)
|
277
|
+
# * :exact_phrase (defaults to false)
|
278
|
+
# * :single_passage (defaults to false)
|
275
279
|
#
|
276
280
|
# The defaults differ from the official PHP client, as I've opted for
|
277
281
|
# semantic HTML markup.
|
@@ -282,6 +286,8 @@ module Riddle
|
|
282
286
|
options[:chunk_separator] ||= ' … ' # ellipsis
|
283
287
|
options[:limit] ||= 256
|
284
288
|
options[:around] ||= 5
|
289
|
+
options[:exact_phrase] ||= false
|
290
|
+
options[:single_passage] ||= false
|
285
291
|
|
286
292
|
response = Response.new request(:excerpt, excerpts_message(options))
|
287
293
|
|
@@ -443,7 +449,13 @@ module Riddle
|
|
443
449
|
def excerpts_message(options)
|
444
450
|
message = Message.new
|
445
451
|
|
446
|
-
|
452
|
+
flags = 1
|
453
|
+
flags |= 2 if options[:exact_phrase]
|
454
|
+
flags |= 4 if options[:single_passage]
|
455
|
+
flags |= 8 if options[:use_boundaries]
|
456
|
+
flags |= 16 if options[:weight_order]
|
457
|
+
|
458
|
+
message.append [0, flags].pack('N2') # 0 = mode
|
447
459
|
message.append_string options[:index]
|
448
460
|
message.append_string options[:words]
|
449
461
|
|
@@ -31,7 +31,9 @@ module Riddle
|
|
31
31
|
when Array
|
32
32
|
message.append_int FilterTypes[:values]
|
33
33
|
message.append_int self.values.length
|
34
|
-
|
34
|
+
# using to_f is a hack from the php client - to workaround 32bit
|
35
|
+
# signed ints on x32 platforms
|
36
|
+
message.append_ints *self.values.collect { |val| val.to_f }
|
35
37
|
end
|
36
38
|
message.append_int self.exclude? ? 1 : 0
|
37
39
|
|
Binary file
|
Binary file
|
Binary file
|
@@ -28,7 +28,7 @@ describe Riddle::Client::Message do
|
|
28
28
|
it "should append floats correctly - packed with f" do
|
29
29
|
message = Riddle::Client::Message.new
|
30
30
|
message.append_float 1.4
|
31
|
-
message.to_s.should == [1.4].pack('f')
|
31
|
+
message.to_s.should == [1.4].pack('f').unpack('L*').pack('N')
|
32
32
|
end
|
33
33
|
|
34
34
|
it "should append a collection of integers correctly" do
|
@@ -40,7 +40,7 @@ describe Riddle::Client::Message do
|
|
40
40
|
it "should append a collection of floats correctly" do
|
41
41
|
message = Riddle::Client::Message.new
|
42
42
|
message.append_floats 1.0, 1.1, 1.2, 1.3
|
43
|
-
message.to_s.should == [1.0, 1.1, 1.2, 1.3].pack('ffff')
|
43
|
+
message.to_s.should == [1.0, 1.1, 1.2, 1.3].pack('ffff').unpack('L*L*L*L*').pack('NNNN')
|
44
44
|
end
|
45
45
|
|
46
46
|
it "should append an array of strings correctly" do
|
@@ -58,6 +58,6 @@ describe Riddle::Client::Message do
|
|
58
58
|
message.append_array ["one", "two"]
|
59
59
|
message.append_floats 1.5, 1.7
|
60
60
|
message.to_s.should == [4, 4].pack('NN') + "test" + [2, 3].pack('NN') +
|
61
|
-
"one" + [3].pack('N') + "two" + [1.5, 1.7].pack('ff')
|
61
|
+
"one" + [3].pack('N') + "two" + [1.5, 1.7].pack('ff').unpack('L*L*').pack('NN')
|
62
62
|
end
|
63
63
|
end
|
@@ -14,7 +14,7 @@ describe Riddle::Client::Response do
|
|
14
14
|
|
15
15
|
# Comparing floats with decimal places doesn't seem to be exact
|
16
16
|
it "should interpret a float correctly" do
|
17
|
-
Riddle::Client::Response.new([1.0].pack('f')).next_float.should == 1.0
|
17
|
+
Riddle::Client::Response.new([1.0].pack('f').unpack('L*').pack('N')).next_float.should == 1.0
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should interpret an array of strings correctly" do
|
@@ -53,7 +53,7 @@ describe Riddle::Client::Response do
|
|
53
53
|
|
54
54
|
it "should handle a combination of strings, ints, floats and string arrays correctly" do
|
55
55
|
data = [1, 2, 2].pack('NNN') + 'aa' + [2].pack('N') + 'bb' + [4].pack('N') +
|
56
|
-
"word" + [7
|
56
|
+
"word" + [7].pack('f').unpack('L*').pack('N') + [3, 2, 2, 2].pack('NNNN')
|
57
57
|
response = Riddle::Client::Response.new(data)
|
58
58
|
response.next_int.should == 1
|
59
59
|
response.next_array.should == ['aa', 'bb']
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ultrasphinx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: "1.7"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ""
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
yZ0=
|
31
31
|
-----END CERTIFICATE-----
|
32
32
|
|
33
|
-
date:
|
33
|
+
date: 2008-01-12 00:00:00 -05:00
|
34
34
|
default_executable:
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
@@ -52,9 +52,11 @@ extra_rdoc_files: []
|
|
52
52
|
|
53
53
|
files:
|
54
54
|
- CHANGELOG
|
55
|
+
- DEPLOYMENT_NOTES
|
55
56
|
- examples/ap.multi
|
56
57
|
- examples/default.base
|
57
58
|
- init.rb
|
59
|
+
- lib/ultrasphinx/associations.rb
|
58
60
|
- lib/ultrasphinx/autoload.rb
|
59
61
|
- lib/ultrasphinx/configure.rb
|
60
62
|
- lib/ultrasphinx/core_extensions.rb
|
@@ -74,6 +76,7 @@ files:
|
|
74
76
|
- lib/ultrasphinx.rb
|
75
77
|
- LICENSE
|
76
78
|
- Manifest
|
79
|
+
- RAKE_TASKS
|
77
80
|
- README
|
78
81
|
- tasks/ultrasphinx.rake
|
79
82
|
- test/config/ultrasphinx/test.base
|
@@ -88,6 +91,7 @@ files:
|
|
88
91
|
- test/integration/app/app/helpers/states_helper.rb
|
89
92
|
- test/integration/app/app/helpers/users_helper.rb
|
90
93
|
- test/integration/app/app/models/geo/address.rb
|
94
|
+
- test/integration/app/app/models/geo/country.rb
|
91
95
|
- test/integration/app/app/models/geo/state.rb
|
92
96
|
- test/integration/app/app/models/person/user.rb
|
93
97
|
- test/integration/app/app/models/seller.rb
|
@@ -120,7 +124,6 @@ files:
|
|
120
124
|
- test/integration/app/config/locomotive.yml
|
121
125
|
- test/integration/app/config/routes.rb
|
122
126
|
- test/integration/app/config/ultrasphinx/default.base
|
123
|
-
- test/integration/app/config/ultrasphinx/development.conf
|
124
127
|
- test/integration/app/config/ultrasphinx/development.conf.canonical
|
125
128
|
- test/integration/app/db/migrate/001_create_users.rb
|
126
129
|
- test/integration/app/db/migrate/002_create_sellers.rb
|
@@ -130,7 +133,7 @@ files:
|
|
130
133
|
- test/integration/app/db/migrate/006_add_deleted_to_user.rb
|
131
134
|
- test/integration/app/db/migrate/007_add_lat_and_long_to_address.rb
|
132
135
|
- test/integration/app/db/migrate/008_add_mission_statement_to_seller.rb
|
133
|
-
- test/integration/app/db/
|
136
|
+
- test/integration/app/db/migrate/009_create_countries.rb
|
134
137
|
- test/integration/app/doc/README_FOR_APP
|
135
138
|
- test/integration/app/public/404.html
|
136
139
|
- test/integration/app/public/500.html
|
@@ -163,6 +166,7 @@ files:
|
|
163
166
|
- test/integration/app/script/runner
|
164
167
|
- test/integration/app/script/server
|
165
168
|
- test/integration/app/test/fixtures/addresses.yml
|
169
|
+
- test/integration/app/test/fixtures/countries.yml
|
166
170
|
- test/integration/app/test/fixtures/sellers.yml
|
167
171
|
- test/integration/app/test/fixtures/states.yml
|
168
172
|
- test/integration/app/test/fixtures/users.yml
|
@@ -180,6 +184,7 @@ files:
|
|
180
184
|
- test/integration/server_test.rb
|
181
185
|
- test/integration/spell_test.rb
|
182
186
|
- test/setup.rb
|
187
|
+
- test/teardown.rb
|
183
188
|
- test/test_all.rb
|
184
189
|
- test/test_helper.rb
|
185
190
|
- test/ts.multi
|
@@ -249,7 +254,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
249
254
|
requirements: []
|
250
255
|
|
251
256
|
rubyforge_project: fauna
|
252
|
-
rubygems_version: 0.
|
257
|
+
rubygems_version: 1.0.1
|
253
258
|
signing_key:
|
254
259
|
specification_version: 2
|
255
260
|
summary: Ruby on Rails configurator and client to the Sphinx fulltext search engine.
|