pyramid_scheme 0.1.1 → 0.1.2
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/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/pyramid_scheme/index_server.rb +3 -2
- data/lib/pyramid_scheme/indexer/base.rb +21 -0
- data/lib/pyramid_scheme/indexer/thinking_sphinx.rb +13 -0
- data/lib/pyramid_scheme/indexer/ultrasphinx.rb +13 -0
- data/lib/pyramid_scheme.rb +4 -3
- data/pyramid_scheme.gemspec +9 -7
- data/spec/pyramid_scheme/index_server_spec.rb +8 -3
- data/spec/pyramid_scheme/indexer/thinking_sphinx_spec.rb +15 -0
- data/spec/pyramid_scheme/indexer/ultrasphinx_spec.rb +15 -0
- metadata +9 -7
- data/lib/pyramid_scheme/indexer.rb +0 -14
- data/spec/pyramid_scheme/thinking_sphinx_indexer_spec.rb +0 -11
- data/spec/pyramid_scheme/ultrasphinx_indexer_spec.rb +0 -15
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -7,10 +7,10 @@ module PyramidScheme
|
|
7
7
|
def initialize(options = {})
|
8
8
|
@index_provider = PyramidScheme::IndexProvider::FileSystem.new
|
9
9
|
@configuration = PyramidScheme::Configuration.new
|
10
|
-
@indexer_class = configuration[:indexer_class] || PyramidScheme::
|
10
|
+
@indexer_class = configuration[:indexer_class] || PyramidScheme::Indexer::ThinkingSphinx
|
11
11
|
end
|
12
12
|
|
13
|
-
# @returns [PyramidScheme::Indexer] an instance of the specified indexer_class from initialization
|
13
|
+
# @returns [PyramidScheme::Indexer::Base] an instance of the specified indexer_class from initialization
|
14
14
|
def indexer
|
15
15
|
@indexer ||= @indexer_class.new
|
16
16
|
end
|
@@ -18,6 +18,7 @@ module PyramidScheme
|
|
18
18
|
# run the index
|
19
19
|
def index
|
20
20
|
create_lock_file
|
21
|
+
indexer.configure
|
21
22
|
indexer.index
|
22
23
|
destroy_lock_file
|
23
24
|
index_provider.process_index
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module PyramidScheme
|
2
|
+
module Indexer
|
3
|
+
#defines an interface for indexers
|
4
|
+
class Base
|
5
|
+
attr_reader :index_task_name, :configure_task_name
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@index_task_name = self.class.index_task_name
|
9
|
+
@configure_task_name = self.class.configure_task_name
|
10
|
+
end
|
11
|
+
|
12
|
+
def configure
|
13
|
+
Rake::Task[@configure_task_name].invoke
|
14
|
+
end
|
15
|
+
|
16
|
+
def index
|
17
|
+
Rake::Task[@index_task_name].invoke
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/pyramid_scheme.rb
CHANGED
@@ -4,9 +4,10 @@ require 'configatron'
|
|
4
4
|
|
5
5
|
require 'pyramid_scheme/required_configuration_not_found'
|
6
6
|
|
7
|
-
require 'pyramid_scheme/indexer'
|
8
|
-
require 'pyramid_scheme/
|
9
|
-
require 'pyramid_scheme/
|
7
|
+
require 'pyramid_scheme/indexer/base'
|
8
|
+
require 'pyramid_scheme/indexer/thinking_sphinx'
|
9
|
+
require 'pyramid_scheme/indexer/ultrasphinx'
|
10
|
+
|
10
11
|
|
11
12
|
require 'pyramid_scheme/index_lock_file'
|
12
13
|
require 'pyramid_scheme/configuration'
|
data/pyramid_scheme.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{pyramid_scheme}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Dan Pickett"]
|
12
|
-
s.date = %q{2010-02-
|
12
|
+
s.date = %q{2010-02-15}
|
13
13
|
s.description = %q{Sphinx index propagtion (currently via the filesystem)}
|
14
14
|
s.email = %q{dpickett@enlightsolutions.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -29,7 +29,9 @@ Gem::Specification.new do |s|
|
|
29
29
|
"lib/pyramid_scheme/index_lock_file.rb",
|
30
30
|
"lib/pyramid_scheme/index_provider/file_system.rb",
|
31
31
|
"lib/pyramid_scheme/index_server.rb",
|
32
|
-
"lib/pyramid_scheme/indexer.rb",
|
32
|
+
"lib/pyramid_scheme/indexer/base.rb",
|
33
|
+
"lib/pyramid_scheme/indexer/thinking_sphinx.rb",
|
34
|
+
"lib/pyramid_scheme/indexer/ultrasphinx.rb",
|
33
35
|
"lib/pyramid_scheme/required_configuration_not_found.rb",
|
34
36
|
"lib/pyramid_scheme/tasks.rb",
|
35
37
|
"lib/pyramid_scheme/tasks/rake_tasks.rake",
|
@@ -41,8 +43,8 @@ Gem::Specification.new do |s|
|
|
41
43
|
"spec/pyramid_scheme/index_provider/file_system_spec.rb",
|
42
44
|
"spec/pyramid_scheme/index_provider_configuration_spec.rb",
|
43
45
|
"spec/pyramid_scheme/index_server_spec.rb",
|
44
|
-
"spec/pyramid_scheme/
|
45
|
-
"spec/pyramid_scheme/
|
46
|
+
"spec/pyramid_scheme/indexer/thinking_sphinx_spec.rb",
|
47
|
+
"spec/pyramid_scheme/indexer/ultrasphinx_spec.rb",
|
46
48
|
"spec/spec.opts",
|
47
49
|
"spec/spec_helper.rb",
|
48
50
|
"tasks/pyramid_scheme.rake"
|
@@ -57,8 +59,8 @@ Gem::Specification.new do |s|
|
|
57
59
|
"spec/pyramid_scheme/index_provider/file_system_spec.rb",
|
58
60
|
"spec/pyramid_scheme/index_provider_configuration_spec.rb",
|
59
61
|
"spec/pyramid_scheme/index_server_spec.rb",
|
60
|
-
"spec/pyramid_scheme/
|
61
|
-
"spec/pyramid_scheme/
|
62
|
+
"spec/pyramid_scheme/indexer/thinking_sphinx_spec.rb",
|
63
|
+
"spec/pyramid_scheme/indexer/ultrasphinx_spec.rb",
|
62
64
|
"spec/pyramid_scheme.rb",
|
63
65
|
"spec/spec_helper.rb"
|
64
66
|
]
|
@@ -5,6 +5,7 @@ describe PyramidScheme::IndexServer do
|
|
5
5
|
|
6
6
|
before(:each) do
|
7
7
|
@server = PyramidScheme::IndexServer.new
|
8
|
+
@server.indexer.stub(:configure)
|
8
9
|
@server.indexer.stub(:index)
|
9
10
|
FileUtils.mkdir_p(PyramidScheme.configuration[:server_destination_path])
|
10
11
|
FileUtils.mkdir_p(PyramidScheme.configuration[:client_source_path])
|
@@ -15,17 +16,21 @@ describe PyramidScheme::IndexServer do
|
|
15
16
|
end
|
16
17
|
|
17
18
|
it 'should default to a thinking sphinx indexer' do
|
18
|
-
@server.indexer.should be_kind_of(PyramidScheme::
|
19
|
+
@server.indexer.should be_kind_of(PyramidScheme::Indexer::ThinkingSphinx)
|
19
20
|
end
|
20
21
|
|
21
22
|
it 'should allow me to specify an ultrasphinx indexer' do
|
22
23
|
PyramidScheme.configure do |config|
|
23
|
-
config.indexer_class = PyramidScheme::
|
24
|
+
config.indexer_class = PyramidScheme::Indexer::Ultrasphinx
|
24
25
|
end
|
25
26
|
@server = PyramidScheme::IndexServer.new
|
26
|
-
@server.indexer.should be_kind_of(PyramidScheme::
|
27
|
+
@server.indexer.should be_kind_of(PyramidScheme::Indexer::Ultrasphinx)
|
27
28
|
end
|
28
29
|
|
30
|
+
it 'should configure via the indexer' do
|
31
|
+
@server.indexer.expects(:configure).once
|
32
|
+
@server.index
|
33
|
+
end
|
29
34
|
it 'should index via the indexer' do
|
30
35
|
@server.indexer.expects(:index).once
|
31
36
|
@server.index
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe PyramidScheme::Indexer::ThinkingSphinx do
|
4
|
+
before(:each) do
|
5
|
+
@indexer = PyramidScheme::Indexer::ThinkingSphinx.new
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'should have the index rake task of ts:in' do
|
9
|
+
@indexer.class.index_task_name.should eql('ts:in')
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should have the configure rake task of ts:config' do
|
13
|
+
@indexer.class.configure_task_name.should eql('ts:config')
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe PyramidScheme::Indexer::Ultrasphinx do
|
4
|
+
before(:each) do
|
5
|
+
@indexer = PyramidScheme::Indexer::Ultrasphinx.new
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'should have the indexer task of ultrasphinx:index' do
|
9
|
+
@indexer.class.index_task_name.should eql('ultrasphinx:index')
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should have the configure task of ultrasphinx:configure' do
|
13
|
+
@indexer.class.configure_task_name.should eql('ultrasphinx:configure')
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pyramid_scheme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Pickett
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-02-
|
12
|
+
date: 2010-02-15 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -94,7 +94,9 @@ files:
|
|
94
94
|
- lib/pyramid_scheme/index_lock_file.rb
|
95
95
|
- lib/pyramid_scheme/index_provider/file_system.rb
|
96
96
|
- lib/pyramid_scheme/index_server.rb
|
97
|
-
- lib/pyramid_scheme/indexer.rb
|
97
|
+
- lib/pyramid_scheme/indexer/base.rb
|
98
|
+
- lib/pyramid_scheme/indexer/thinking_sphinx.rb
|
99
|
+
- lib/pyramid_scheme/indexer/ultrasphinx.rb
|
98
100
|
- lib/pyramid_scheme/required_configuration_not_found.rb
|
99
101
|
- lib/pyramid_scheme/tasks.rb
|
100
102
|
- lib/pyramid_scheme/tasks/rake_tasks.rake
|
@@ -106,8 +108,8 @@ files:
|
|
106
108
|
- spec/pyramid_scheme/index_provider/file_system_spec.rb
|
107
109
|
- spec/pyramid_scheme/index_provider_configuration_spec.rb
|
108
110
|
- spec/pyramid_scheme/index_server_spec.rb
|
109
|
-
- spec/pyramid_scheme/
|
110
|
-
- spec/pyramid_scheme/
|
111
|
+
- spec/pyramid_scheme/indexer/thinking_sphinx_spec.rb
|
112
|
+
- spec/pyramid_scheme/indexer/ultrasphinx_spec.rb
|
111
113
|
- spec/spec.opts
|
112
114
|
- spec/spec_helper.rb
|
113
115
|
- tasks/pyramid_scheme.rake
|
@@ -144,7 +146,7 @@ test_files:
|
|
144
146
|
- spec/pyramid_scheme/index_provider/file_system_spec.rb
|
145
147
|
- spec/pyramid_scheme/index_provider_configuration_spec.rb
|
146
148
|
- spec/pyramid_scheme/index_server_spec.rb
|
147
|
-
- spec/pyramid_scheme/
|
148
|
-
- spec/pyramid_scheme/
|
149
|
+
- spec/pyramid_scheme/indexer/thinking_sphinx_spec.rb
|
150
|
+
- spec/pyramid_scheme/indexer/ultrasphinx_spec.rb
|
149
151
|
- spec/pyramid_scheme.rb
|
150
152
|
- spec/spec_helper.rb
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module PyramidScheme
|
2
|
-
#defines an interface for indexers
|
3
|
-
class Indexer
|
4
|
-
attr_reader :rake_task_name
|
5
|
-
|
6
|
-
def initialize(rake_task_name = nil)
|
7
|
-
@rake_task_name = rake_task_name || self.class.default_task_name
|
8
|
-
end
|
9
|
-
|
10
|
-
def index
|
11
|
-
Rake::Task[@rake_task_name].invoke
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe PyramidScheme::ThinkingSphinxIndexer do
|
4
|
-
before(:each) do
|
5
|
-
@indexer = PyramidScheme::ThinkingSphinxIndexer.new
|
6
|
-
end
|
7
|
-
|
8
|
-
it 'should have the default rake task of ts:in' do
|
9
|
-
@indexer.class.default_task_name.should eql('ts:in')
|
10
|
-
end
|
11
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe PyramidScheme::UltrasphinxIndexer do
|
4
|
-
before(:each) do
|
5
|
-
@indexer = PyramidScheme::UltrasphinxIndexer.new
|
6
|
-
end
|
7
|
-
|
8
|
-
it 'should have the default rake task of ultrasphinx:index' do
|
9
|
-
@indexer.class.default_task_name.should eql('ultrasphinx:index')
|
10
|
-
end
|
11
|
-
|
12
|
-
it 'should default to the default rake task' do
|
13
|
-
@indexer.rake_task_name.should eql(@indexer.class.default_task_name)
|
14
|
-
end
|
15
|
-
end
|