rroonga 1.2.0 → 1.2.1

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.
Files changed (159) hide show
  1. data/README.textile +71 -0
  2. data/Rakefile +213 -128
  3. data/TODO +0 -0
  4. data/example/bookmark.rb +12 -12
  5. data/ext/groonga/Makefile +233 -0
  6. data/ext/groonga/extconf.rb +1 -1
  7. data/ext/groonga/rb-grn-column.c +5 -5
  8. data/ext/groonga/rb-grn-index-column.c +31 -0
  9. data/ext/groonga/rb-grn-index-cursor.c +106 -0
  10. data/ext/groonga/rb-grn-logger.c +5 -5
  11. data/ext/groonga/rb-grn-object.c +48 -0
  12. data/ext/groonga/rb-grn-patricia-trie.c +1 -1
  13. data/ext/groonga/rb-grn-plugin.c +32 -0
  14. data/ext/groonga/rb-grn-posting.c +51 -0
  15. data/ext/groonga/rb-grn-table-cursor.c +6 -1
  16. data/ext/groonga/rb-grn-table.c +31 -13
  17. data/ext/groonga/rb-grn.h +21 -3
  18. data/ext/groonga/rb-groonga.c +3 -1
  19. data/lib/groonga.rb +1 -0
  20. data/lib/groonga/dumper.rb +25 -5
  21. data/lib/groonga/expression-builder.rb +2 -2
  22. data/lib/groonga/pagination.rb +99 -7
  23. data/lib/groonga/posting.rb +87 -0
  24. data/lib/groonga/record.rb +118 -11
  25. data/lib/groonga/schema.rb +18 -1
  26. data/test/groonga-test-utils.rb +1 -6
  27. data/test/run-test.rb +13 -28
  28. data/test/test-column.rb +4 -0
  29. data/test/test-database-dumper.rb +53 -10
  30. data/test/test-hash.rb +6 -6
  31. data/test/test-index-cursor.rb +93 -0
  32. data/test/test-plugin.rb +6 -0
  33. data/test/test-record.rb +162 -1
  34. data/test/test-schema-type.rb +6 -0
  35. data/test/test-schema.rb +17 -0
  36. data/test/test-table.rb +7 -2
  37. data/test/test-type.rb +9 -1
  38. metadata +135 -245
  39. data/AUTHORS +0 -5
  40. data/NEWS.ja.rdoc +0 -344
  41. data/NEWS.rdoc +0 -346
  42. data/README.ja.rdoc +0 -68
  43. data/README.rdoc +0 -68
  44. data/example/search/config.ru +0 -230
  45. data/example/search/public/css/groonga.css +0 -122
  46. data/ext/.gitignore +0 -2
  47. data/html/bar.svg +0 -153
  48. data/html/developer.html +0 -151
  49. data/html/developer.svg +0 -469
  50. data/html/download.svg +0 -253
  51. data/html/favicon.ico +0 -0
  52. data/html/favicon.svg +0 -591
  53. data/html/footer.html.erb +0 -33
  54. data/html/head.html.erb +0 -4
  55. data/html/header.html.erb +0 -17
  56. data/html/heading-mark.svg +0 -393
  57. data/html/index.html +0 -243
  58. data/html/install.svg +0 -636
  59. data/html/logo.svg +0 -612
  60. data/html/ranguba.css +0 -342
  61. data/html/readme.svg +0 -256
  62. data/html/tutorial.svg +0 -559
  63. data/license/LGPL +0 -504
  64. data/test-unit-notify/Rakefile +0 -47
  65. data/test-unit-notify/lib/test/unit/notify.rb +0 -104
  66. data/test-unit/COPYING +0 -56
  67. data/test-unit/GPL +0 -340
  68. data/test-unit/PSFL +0 -271
  69. data/test-unit/Rakefile +0 -53
  70. data/test-unit/TODO +0 -5
  71. data/test-unit/bin/testrb +0 -5
  72. data/test-unit/html/bar.svg +0 -153
  73. data/test-unit/html/developer.svg +0 -469
  74. data/test-unit/html/favicon.ico +0 -0
  75. data/test-unit/html/favicon.svg +0 -82
  76. data/test-unit/html/heading-mark.svg +0 -393
  77. data/test-unit/html/index.html +0 -247
  78. data/test-unit/html/index.html.ja +0 -270
  79. data/test-unit/html/install.svg +0 -636
  80. data/test-unit/html/logo.svg +0 -483
  81. data/test-unit/html/test-unit.css +0 -339
  82. data/test-unit/html/tutorial.svg +0 -559
  83. data/test-unit/lib/test/unit.rb +0 -328
  84. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  85. data/test-unit/lib/test/unit/assertions.rb +0 -1334
  86. data/test-unit/lib/test/unit/attribute.rb +0 -125
  87. data/test-unit/lib/test/unit/autorunner.rb +0 -363
  88. data/test-unit/lib/test/unit/collector.rb +0 -36
  89. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  90. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  91. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  92. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  93. data/test-unit/lib/test/unit/color-scheme.rb +0 -106
  94. data/test-unit/lib/test/unit/color.rb +0 -96
  95. data/test-unit/lib/test/unit/diff.rb +0 -740
  96. data/test-unit/lib/test/unit/error.rb +0 -130
  97. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  98. data/test-unit/lib/test/unit/failure.rb +0 -136
  99. data/test-unit/lib/test/unit/fixture.rb +0 -176
  100. data/test-unit/lib/test/unit/notification.rb +0 -129
  101. data/test-unit/lib/test/unit/omission.rb +0 -191
  102. data/test-unit/lib/test/unit/pending.rb +0 -150
  103. data/test-unit/lib/test/unit/priority.rb +0 -180
  104. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  105. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  106. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  107. data/test-unit/lib/test/unit/testcase.rb +0 -483
  108. data/test-unit/lib/test/unit/testresult.rb +0 -121
  109. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  110. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  111. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -430
  112. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  113. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -82
  114. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -53
  115. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  116. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  117. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -42
  118. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  119. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  120. data/test-unit/lib/test/unit/util/output.rb +0 -31
  121. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  122. data/test-unit/lib/test/unit/version.rb +0 -7
  123. data/test-unit/sample/adder.rb +0 -13
  124. data/test-unit/sample/subtracter.rb +0 -12
  125. data/test-unit/sample/test_adder.rb +0 -20
  126. data/test-unit/sample/test_subtracter.rb +0 -20
  127. data/test-unit/sample/test_user.rb +0 -23
  128. data/test-unit/test/collector/test-descendant.rb +0 -133
  129. data/test-unit/test/collector/test-load.rb +0 -442
  130. data/test-unit/test/collector/test_dir.rb +0 -406
  131. data/test-unit/test/collector/test_objectspace.rb +0 -100
  132. data/test-unit/test/run-test.rb +0 -15
  133. data/test-unit/test/test-attribute.rb +0 -86
  134. data/test-unit/test/test-color-scheme.rb +0 -69
  135. data/test-unit/test/test-color.rb +0 -47
  136. data/test-unit/test/test-diff.rb +0 -518
  137. data/test-unit/test/test-emacs-runner.rb +0 -60
  138. data/test-unit/test/test-fixture.rb +0 -287
  139. data/test-unit/test/test-notification.rb +0 -33
  140. data/test-unit/test/test-omission.rb +0 -81
  141. data/test-unit/test/test-pending.rb +0 -70
  142. data/test-unit/test/test-priority.rb +0 -119
  143. data/test-unit/test/test-testcase.rb +0 -544
  144. data/test-unit/test/test_assertions.rb +0 -1197
  145. data/test-unit/test/test_error.rb +0 -26
  146. data/test-unit/test/test_failure.rb +0 -33
  147. data/test-unit/test/test_testresult.rb +0 -113
  148. data/test-unit/test/test_testsuite.rb +0 -129
  149. data/test-unit/test/testunit-test-util.rb +0 -14
  150. data/test-unit/test/ui/test_tap.rb +0 -33
  151. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  152. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  153. data/test-unit/test/util/test-output.rb +0 -11
  154. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  155. data/test-unit/test/util/test_observable.rb +0 -102
  156. data/test-unit/test/util/test_procwrapper.rb +0 -36
  157. data/test/.gitignore +0 -1
  158. data/text/expression.rdoc +0 -285
  159. data/text/tutorial.ja.rdoc +0 -433
@@ -1,36 +0,0 @@
1
- module Test
2
- module Unit
3
- module Collector
4
- def initialize
5
- @filters = []
6
- end
7
-
8
- def filter=(filters)
9
- @filters = case(filters)
10
- when Proc
11
- [filters]
12
- when Array
13
- filters
14
- end
15
- end
16
-
17
- def add_suite(destination, suite)
18
- to_delete = suite.tests.find_all{|t| !include?(t)}
19
- to_delete.each{|t| suite.delete(t)}
20
- destination << suite unless(suite.size == 0)
21
- end
22
-
23
- def include?(test)
24
- return true if(@filters.empty?)
25
- @filters.each do |filter|
26
- return false if filter[test] == false
27
- end
28
- true
29
- end
30
-
31
- def sort(suites)
32
- suites.sort_by {|suite| suite.name || suite.to_s}
33
- end
34
- end
35
- end
36
- end
@@ -1,23 +0,0 @@
1
- require 'test/unit/collector'
2
-
3
- module Test
4
- module Unit
5
- module Collector
6
- class Descendant
7
- include Collector
8
-
9
- NAME = 'collected from the subclasses of TestCase'
10
-
11
- def collect(name=NAME)
12
- suite = TestSuite.new(name)
13
- sub_suites = []
14
- TestCase::DESCENDANTS.each do |descendant_test_case|
15
- add_suite(sub_suites, descendant_test_case.suite)
16
- end
17
- sort(sub_suites).each {|s| suite << s}
18
- suite
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,108 +0,0 @@
1
- require 'test/unit/testsuite'
2
- require 'test/unit/collector'
3
-
4
- module Test
5
- module Unit
6
- module Collector
7
- class Dir
8
- include Collector
9
-
10
- attr_reader :pattern, :exclude
11
- attr_accessor :base
12
-
13
- def initialize(dir=::Dir, file=::File, object_space=::ObjectSpace, req=nil)
14
- super()
15
- @dir = dir
16
- @file = file
17
- @object_space = object_space
18
- @req = req
19
- @pattern = [/\btest_.*\.rb\Z/m]
20
- @exclude = []
21
- @base = nil
22
- end
23
-
24
- def collect(*from)
25
- basedir = @base
26
- $:.push(basedir) if basedir
27
- if(from.empty?)
28
- recursive_collect('.', find_test_cases)
29
- elsif(from.size == 1)
30
- recursive_collect(from.first, find_test_cases)
31
- else
32
- suites = []
33
- from.each do |f|
34
- suite = recursive_collect(f, find_test_cases)
35
- suites << suite unless(suite.tests.empty?)
36
- end
37
- suite = TestSuite.new("[#{from.join(', ')}]")
38
- sort(suites).each{|s| suite << s}
39
- suite
40
- end
41
- ensure
42
- $:.delete_at($:.rindex(basedir)) if basedir
43
- end
44
-
45
- def find_test_cases(ignore=[])
46
- cases = []
47
- @object_space.each_object(Class) do |c|
48
- cases << c if(c < TestCase && !ignore.include?(c))
49
- end
50
- ignore.concat(cases)
51
- cases
52
- end
53
-
54
- def recursive_collect(name, already_gathered)
55
- sub_suites = []
56
- path = realdir(name)
57
- if @file.directory?(path)
58
- dir_name = name unless name == '.'
59
- @dir.entries(path).each do |e|
60
- next if(e == '.' || e == '..')
61
- e_name = dir_name ? @file.join(dir_name, e) : e
62
- if @file.directory?(realdir(e_name))
63
- next if /\A(?:CVS|\.svn|\.git)\z/ =~ e
64
- sub_suite = recursive_collect(e_name, already_gathered)
65
- sub_suites << sub_suite unless(sub_suite.empty?)
66
- else
67
- next if /~\z/ =~ e_name or /\A\.\#/ =~ e
68
- if @pattern and !@pattern.empty?
69
- next unless @pattern.any? {|pat| pat =~ e_name}
70
- end
71
- if @exclude and !@exclude.empty?
72
- next if @exclude.any? {|pat| pat =~ e_name}
73
- end
74
- collect_file(e_name, sub_suites, already_gathered)
75
- end
76
- end
77
- else
78
- collect_file(name, sub_suites, already_gathered)
79
- end
80
- suite = TestSuite.new(@file.basename(name))
81
- sort(sub_suites).each{|s| suite << s}
82
- suite
83
- end
84
-
85
- def collect_file(name, suites, already_gathered)
86
- dir = @file.dirname(@file.expand_path(name, @base))
87
- $:.unshift(dir)
88
- if(@req)
89
- @req.require(name)
90
- else
91
- require(name)
92
- end
93
- find_test_cases(already_gathered).each{|t| add_suite(suites, t.suite)}
94
- ensure
95
- $:.delete_at($:.rindex(dir)) if(dir)
96
- end
97
-
98
- def realdir(path)
99
- if @base
100
- @file.join(@base, path)
101
- else
102
- path
103
- end
104
- end
105
- end
106
- end
107
- end
108
- end
@@ -1,144 +0,0 @@
1
- require 'pathname'
2
-
3
- require 'test/unit/testsuite'
4
- require 'test/unit/collector'
5
-
6
- module Test
7
- module Unit
8
- module Collector
9
- class Load
10
- include Collector
11
-
12
- attr_reader :patterns, :excludes, :base
13
-
14
- def initialize
15
- super
16
- @system_excludes = [/~\z/, /\A\.\#/]
17
- @system_directory_excludes = [/\A(?:CVS|\.svn|\.git)\z/]
18
- @patterns = [/\Atest[_\-].+\.rb\z/m, /[_\-]test\.rb\z/]
19
- @excludes = []
20
- @base = nil
21
- end
22
-
23
- def base=(base)
24
- base = Pathname(base) unless base.nil?
25
- @base = base
26
- end
27
-
28
- def collect(*froms)
29
- add_load_path(@base) do
30
- froms = ["."] if froms.empty?
31
- test_suites = []
32
- already_gathered = find_test_cases
33
- froms.each do |from|
34
- from = resolve_path(from)
35
- if from.directory?
36
- test_suite = collect_recursive(from, already_gathered)
37
- test_suites << test_suite unless test_suite.tests.empty?
38
- else
39
- collect_file(from, test_suites, already_gathered)
40
- end
41
- end
42
-
43
- if test_suites.size > 1
44
- test_suite = TestSuite.new("[#{froms.join(', ')}]")
45
- sort(test_suites).each do |sub_test_suite|
46
- test_suite << sub_test_suite
47
- end
48
- test_suite
49
- else
50
- test_suites.first
51
- end
52
- end
53
- end
54
-
55
- def find_test_cases(ignore=[])
56
- test_cases = []
57
- TestCase::DESCENDANTS.each do |test_case|
58
- test_cases << test_case unless ignore.include?(test_case)
59
- end
60
- ignore.concat(test_cases)
61
- test_cases
62
- end
63
-
64
- private
65
- def collect_recursive(path, already_gathered)
66
- sub_test_suites = []
67
-
68
- if path.directory?
69
- directories, files = path.children.partition do |child|
70
- child.directory?
71
- end
72
-
73
- files.each do |child|
74
- next if excluded_file?(child.basename.to_s)
75
- collect_file(child, sub_test_suites, already_gathered)
76
- end
77
-
78
- directories.each do |child|
79
- next if excluded_directory?(child.basename.to_s)
80
- sub_test_suite = collect_recursive(child, already_gathered)
81
- sub_test_suites << sub_test_suite unless sub_test_suite.empty?
82
- end
83
- else
84
- unless excluded_file?(path.basename.to_s)
85
- collect_file(path, sub_test_suites, already_gathered)
86
- end
87
- end
88
-
89
- test_suite = TestSuite.new(path.basename.to_s)
90
- sort(sub_test_suites).each do |sub_test_suite|
91
- test_suite << sub_test_suite
92
- end
93
- test_suite
94
- end
95
-
96
- def collect_file(path, test_suites, already_gathered)
97
- @program_file ||= File.expand_path($0)
98
- return if @program_file == path.expand_path.to_s
99
- add_load_path(path.expand_path.dirname) do
100
- require(path.to_s)
101
- find_test_cases(already_gathered).each do |test_case|
102
- add_suite(test_suites, test_case.suite)
103
- end
104
- end
105
- end
106
-
107
- def resolve_path(path)
108
- if @base
109
- @base + path
110
- else
111
- Pathname(path)
112
- end
113
- end
114
-
115
- def add_load_path(path)
116
- $LOAD_PATH.push(path.to_s) if path
117
- yield
118
- ensure
119
- $LOAD_PATH.delete_at($LOAD_PATH.rindex(path.to_s)) if path
120
- end
121
-
122
- def excluded_directory?(base)
123
- @system_directory_excludes.any? {|pattern| pattern =~ base}
124
- end
125
-
126
- def excluded_file?(base)
127
- return true if @system_excludes.any? {|pattern| pattern =~ base}
128
-
129
- patterns = @patterns || []
130
- unless patterns.empty?
131
- return true unless patterns.any? {|pattern| pattern =~ base}
132
- end
133
-
134
- excludes = @excludes || []
135
- unless excludes.empty?
136
- return true if excludes.any? {|pattern| pattern =~ base}
137
- end
138
-
139
- false
140
- end
141
- end
142
- end
143
- end
144
- end
@@ -1,34 +0,0 @@
1
- # Author:: Nathaniel Talbott.
2
- # Copyright:: Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
3
- # License:: Ruby license.
4
-
5
- require 'test/unit/collector'
6
-
7
- module Test
8
- module Unit
9
- module Collector
10
- class ObjectSpace
11
- include Collector
12
-
13
- NAME = 'collected from the ObjectSpace'
14
-
15
- def initialize(source=::ObjectSpace)
16
- super()
17
- @source = source
18
- end
19
-
20
- def collect(name=NAME)
21
- suite = TestSuite.new(name)
22
- sub_suites = []
23
- @source.each_object(Class) do |klass|
24
- if(Test::Unit::TestCase > klass)
25
- add_suite(sub_suites, klass.suite)
26
- end
27
- end
28
- sort(sub_suites).each{|s| suite << s}
29
- suite
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,106 +0,0 @@
1
- require 'test/unit/color'
2
-
3
- module Test
4
- module Unit
5
- class ColorScheme
6
- include Enumerable
7
-
8
- class << self
9
- @@default = nil
10
- def default
11
- @@default ||= new("pass" =>
12
- Color.new("green", :foreground => false) +
13
- Color.new("white", :bold => true),
14
- "failure" =>
15
- Color.new("red", :foreground => false) +
16
- Color.new("white", :bold => true),
17
- "pending" => Color.new("magenta", :bold => true),
18
- "omission" => Color.new("blue", :bold => true),
19
- "notification" => Color.new("cyan", :bold => true),
20
- "error" => Color.new("yellow", :bold => true) +
21
- Color.new("black", :foreground => false),
22
- "case" => Color.new("white", :bold => true) +
23
- Color.new("blue", :foreground => false),
24
- "suite" => Color.new("white", :bold => true) +
25
- Color.new("green", :foreground => false),
26
- "diff-inserted-tag" =>
27
- Color.new("red", :bold => true),
28
- "diff-deleted-tag" =>
29
- Color.new("green", :bold => true),
30
- "diff-difference-tag" =>
31
- Color.new("cyan", :bold => true),
32
- "diff-inserted" =>
33
- Color.new("red", :foreground => false) +
34
- Color.new("white", :bold => true),
35
- "diff-deleted" =>
36
- Color.new("green", :foreground => false) +
37
- Color.new("white", :bold => true))
38
- end
39
-
40
- @@schemes = {}
41
- def all
42
- @@schemes.merge("default" => default)
43
- end
44
-
45
- def [](id)
46
- @@schemes[id.to_s]
47
- end
48
-
49
- def []=(id, scheme_or_spec)
50
- if scheme_or_spec.is_a?(self)
51
- scheme = scheme_or_spec
52
- else
53
- scheme = new(scheme_or_spec)
54
- end
55
- @@schemes[id.to_s] = scheme
56
- end
57
- end
58
-
59
- def initialize(scheme_spec)
60
- @scheme = {}
61
- scheme_spec.each do |key, color_spec|
62
- self[key] = color_spec
63
- end
64
- end
65
-
66
- def [](name)
67
- @scheme[name.to_s]
68
- end
69
-
70
- def []=(name, color_spec)
71
- @scheme[name.to_s] = make_color(color_spec)
72
- end
73
-
74
- def each(&block)
75
- @scheme.each(&block)
76
- end
77
-
78
- def to_hash
79
- hash = {}
80
- @scheme.each do |key, color|
81
- hash[key] = color
82
- end
83
- hash
84
- end
85
-
86
- private
87
- def make_color(color_spec)
88
- if color_spec.is_a?(Color) or color_spec.is_a?(MixColor)
89
- color_spec
90
- else
91
- color_name = nil
92
- normalized_color_spec = {}
93
- color_spec.each do |key, value|
94
- key = key.to_sym
95
- if key == :name
96
- color_name = value
97
- else
98
- normalized_color_spec[key] = value
99
- end
100
- end
101
- Color.new(color_name, normalized_color_spec)
102
- end
103
- end
104
- end
105
- end
106
- end