lunar 0.1.0
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/.document +5 -0
- data/.gitignore +21 -0
- data/LICENSE +20 -0
- data/README.rdoc +17 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/examples/ohm.rb +23 -0
- data/lib/lunar.rb +12 -0
- data/lib/lunar/doc.rb +13 -0
- data/lib/lunar/index.rb +70 -0
- data/lib/lunar/scoring.rb +11 -0
- data/test/helper.rb +13 -0
- data/test/test_lunar.rb +4 -0
- data/test/test_lunar_document.rb +20 -0
- data/test/test_lunar_index.rb +174 -0
- data/test/test_lunar_scoring.rb +26 -0
- data/vendor/nest/nest.rb +7 -0
- data/vendor/redis/.gitignore +9 -0
- data/vendor/redis/LICENSE +20 -0
- data/vendor/redis/README.markdown +120 -0
- data/vendor/redis/Rakefile +75 -0
- data/vendor/redis/benchmarking/logging.rb +62 -0
- data/vendor/redis/benchmarking/pipeline.rb +44 -0
- data/vendor/redis/benchmarking/speed.rb +21 -0
- data/vendor/redis/benchmarking/suite.rb +24 -0
- data/vendor/redis/benchmarking/worker.rb +71 -0
- data/vendor/redis/bin/distredis +33 -0
- data/vendor/redis/examples/basic.rb +15 -0
- data/vendor/redis/examples/dist_redis.rb +43 -0
- data/vendor/redis/examples/incr-decr.rb +17 -0
- data/vendor/redis/examples/list.rb +26 -0
- data/vendor/redis/examples/pubsub.rb +25 -0
- data/vendor/redis/examples/sets.rb +36 -0
- data/vendor/redis/lib/edis.rb +3 -0
- data/vendor/redis/lib/redis.rb +496 -0
- data/vendor/redis/lib/redis/client.rb +265 -0
- data/vendor/redis/lib/redis/dist_redis.rb +118 -0
- data/vendor/redis/lib/redis/distributed.rb +460 -0
- data/vendor/redis/lib/redis/hash_ring.rb +131 -0
- data/vendor/redis/lib/redis/pipeline.rb +13 -0
- data/vendor/redis/lib/redis/raketasks.rb +1 -0
- data/vendor/redis/lib/redis/subscribe.rb +79 -0
- data/vendor/redis/profile.rb +22 -0
- data/vendor/redis/tasks/redis.tasks.rb +140 -0
- data/vendor/redis/test/db/.gitignore +1 -0
- data/vendor/redis/test/distributed_test.rb +1131 -0
- data/vendor/redis/test/redis_test.rb +1134 -0
- data/vendor/redis/test/test.conf +8 -0
- data/vendor/redis/test/test_helper.rb +113 -0
- metadata +127 -0
@@ -0,0 +1,113 @@
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
2
|
+
|
3
|
+
$VERBOSE = true
|
4
|
+
|
5
|
+
require "test/unit"
|
6
|
+
require "logger"
|
7
|
+
require "stringio"
|
8
|
+
require "redis"
|
9
|
+
require "stringio"
|
10
|
+
|
11
|
+
begin
|
12
|
+
require "ruby-debug"
|
13
|
+
rescue LoadError
|
14
|
+
end
|
15
|
+
|
16
|
+
def capture_stderr
|
17
|
+
stderr = $stderr
|
18
|
+
$stderr = StringIO.new
|
19
|
+
|
20
|
+
yield
|
21
|
+
|
22
|
+
$stderr = stderr
|
23
|
+
end
|
24
|
+
|
25
|
+
def ensure_redis_running(r)
|
26
|
+
begin
|
27
|
+
@r.ping
|
28
|
+
rescue Errno::ECONNREFUSED
|
29
|
+
puts <<-EOS
|
30
|
+
|
31
|
+
Cannot connect to Redis.
|
32
|
+
|
33
|
+
Make sure Redis is running on localhost, port 6379.
|
34
|
+
This testing suite connects to the database 15.
|
35
|
+
|
36
|
+
To start the server:
|
37
|
+
rake start
|
38
|
+
|
39
|
+
To stop the server:
|
40
|
+
rake stop
|
41
|
+
|
42
|
+
EOS
|
43
|
+
exit 1
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Test::Unit loads a default test if the suite is empty, whose purpose is to
|
48
|
+
# fail. Since having empty contexts is a common practice, we decided to
|
49
|
+
# overwrite TestSuite#empty? in order to allow them. Having a failure when no
|
50
|
+
# tests have been defined seems counter-intuitive.
|
51
|
+
class Test::Unit::TestSuite
|
52
|
+
def empty?
|
53
|
+
false
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# Contest adds +teardown+, +test+ and +context+ as class methods, and the
|
58
|
+
# instance methods +setup+ and +teardown+ now iterate on the corresponding
|
59
|
+
# blocks. Note that all setup and teardown blocks must be defined with the
|
60
|
+
# block syntax. Adding setup or teardown instance methods defeats the purpose
|
61
|
+
# of this library.
|
62
|
+
class Test::Unit::TestCase
|
63
|
+
def self.setup(&block)
|
64
|
+
define_method :setup do
|
65
|
+
super(&block)
|
66
|
+
instance_eval(&block)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.teardown(&block)
|
71
|
+
define_method :teardown do
|
72
|
+
instance_eval(&block)
|
73
|
+
super(&block)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.context(*name, &block)
|
78
|
+
subclass = Class.new(self)
|
79
|
+
remove_tests(subclass)
|
80
|
+
subclass.class_eval(&block) if block_given?
|
81
|
+
const_set(context_name(name.join(" ")), subclass)
|
82
|
+
end
|
83
|
+
|
84
|
+
def self.test(name, &block)
|
85
|
+
block ||= lambda { print "P" }
|
86
|
+
define_method(test_name(name), &block)
|
87
|
+
end
|
88
|
+
|
89
|
+
class << self
|
90
|
+
alias_method :should, :test
|
91
|
+
alias_method :describe, :context
|
92
|
+
end
|
93
|
+
|
94
|
+
private
|
95
|
+
|
96
|
+
def self.context_name(name)
|
97
|
+
"Test#{sanitize_name(name).gsub(/(^| )(\w)/) { $2.upcase }}".to_sym
|
98
|
+
end
|
99
|
+
|
100
|
+
def self.test_name(name)
|
101
|
+
"test_#{sanitize_name(name).gsub(/\s+/,'_')}".to_sym
|
102
|
+
end
|
103
|
+
|
104
|
+
def self.sanitize_name(name)
|
105
|
+
name.gsub(/\W+/, ' ').strip
|
106
|
+
end
|
107
|
+
|
108
|
+
def self.remove_tests(subclass)
|
109
|
+
subclass.public_instance_methods.grep(/^test_/).each do |meth|
|
110
|
+
subclass.send(:undef_method, meth.to_sym)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
metadata
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lunar
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Cyril David
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-05-01 00:00:00 +08:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: contest
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
30
|
+
type: :development
|
31
|
+
version_requirements: *id001
|
32
|
+
description: uses sorted sets and sets, sorting by score
|
33
|
+
email: cyx.ucron@gmail.com
|
34
|
+
executables: []
|
35
|
+
|
36
|
+
extensions: []
|
37
|
+
|
38
|
+
extra_rdoc_files:
|
39
|
+
- LICENSE
|
40
|
+
- README.rdoc
|
41
|
+
files:
|
42
|
+
- .document
|
43
|
+
- .gitignore
|
44
|
+
- LICENSE
|
45
|
+
- README.rdoc
|
46
|
+
- Rakefile
|
47
|
+
- VERSION
|
48
|
+
- examples/ohm.rb
|
49
|
+
- lib/lunar.rb
|
50
|
+
- lib/lunar/doc.rb
|
51
|
+
- lib/lunar/index.rb
|
52
|
+
- lib/lunar/scoring.rb
|
53
|
+
- test/helper.rb
|
54
|
+
- test/test_lunar.rb
|
55
|
+
- test/test_lunar_document.rb
|
56
|
+
- test/test_lunar_index.rb
|
57
|
+
- test/test_lunar_scoring.rb
|
58
|
+
- vendor/nest/nest.rb
|
59
|
+
- vendor/redis/.gitignore
|
60
|
+
- vendor/redis/LICENSE
|
61
|
+
- vendor/redis/README.markdown
|
62
|
+
- vendor/redis/Rakefile
|
63
|
+
- vendor/redis/benchmarking/logging.rb
|
64
|
+
- vendor/redis/benchmarking/pipeline.rb
|
65
|
+
- vendor/redis/benchmarking/speed.rb
|
66
|
+
- vendor/redis/benchmarking/suite.rb
|
67
|
+
- vendor/redis/benchmarking/worker.rb
|
68
|
+
- vendor/redis/bin/distredis
|
69
|
+
- vendor/redis/examples/basic.rb
|
70
|
+
- vendor/redis/examples/dist_redis.rb
|
71
|
+
- vendor/redis/examples/incr-decr.rb
|
72
|
+
- vendor/redis/examples/list.rb
|
73
|
+
- vendor/redis/examples/pubsub.rb
|
74
|
+
- vendor/redis/examples/sets.rb
|
75
|
+
- vendor/redis/lib/edis.rb
|
76
|
+
- vendor/redis/lib/redis.rb
|
77
|
+
- vendor/redis/lib/redis/client.rb
|
78
|
+
- vendor/redis/lib/redis/dist_redis.rb
|
79
|
+
- vendor/redis/lib/redis/distributed.rb
|
80
|
+
- vendor/redis/lib/redis/hash_ring.rb
|
81
|
+
- vendor/redis/lib/redis/pipeline.rb
|
82
|
+
- vendor/redis/lib/redis/raketasks.rb
|
83
|
+
- vendor/redis/lib/redis/subscribe.rb
|
84
|
+
- vendor/redis/profile.rb
|
85
|
+
- vendor/redis/tasks/redis.tasks.rb
|
86
|
+
- vendor/redis/test/db/.gitignore
|
87
|
+
- vendor/redis/test/distributed_test.rb
|
88
|
+
- vendor/redis/test/redis_test.rb
|
89
|
+
- vendor/redis/test/test.conf
|
90
|
+
- vendor/redis/test/test_helper.rb
|
91
|
+
has_rdoc: true
|
92
|
+
homepage: http://github.com/cyx/lunar
|
93
|
+
licenses: []
|
94
|
+
|
95
|
+
post_install_message:
|
96
|
+
rdoc_options:
|
97
|
+
- --charset=UTF-8
|
98
|
+
require_paths:
|
99
|
+
- lib
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
segments:
|
105
|
+
- 0
|
106
|
+
version: "0"
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
segments:
|
112
|
+
- 0
|
113
|
+
version: "0"
|
114
|
+
requirements: []
|
115
|
+
|
116
|
+
rubyforge_project:
|
117
|
+
rubygems_version: 1.3.6
|
118
|
+
signing_key:
|
119
|
+
specification_version: 3
|
120
|
+
summary: a minimalistic full text search implementation in redis
|
121
|
+
test_files:
|
122
|
+
- test/helper.rb
|
123
|
+
- test/test_lunar.rb
|
124
|
+
- test/test_lunar_document.rb
|
125
|
+
- test/test_lunar_index.rb
|
126
|
+
- test/test_lunar_scoring.rb
|
127
|
+
- examples/ohm.rb
|