activegroonga 2.1.2 → 2.1.3
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/doc/text/news.textile +11 -0
- data/lib/active_groonga/persistence.rb +1 -1
- data/lib/active_groonga/version.rb +1 -1
- data/test/active-groonga-test-utils.rb +28 -1
- data/test/fixtures/page.rb +2 -0
- data/test/test-persistence.rb +28 -7
- data/test/test-schema.rb +10 -0
- metadata +4 -2
data/doc/text/news.textile
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
h1. NEWS
|
|
2
2
|
|
|
3
|
+
h2(#2-1-3). 2.1.3: 2013-01-06
|
|
4
|
+
|
|
5
|
+
h3. Improvements
|
|
6
|
+
|
|
7
|
+
* [GitHub#8] Supported reference column to key support tables such as
|
|
8
|
+
hash table. [Reported by Kenta Sato]
|
|
9
|
+
|
|
10
|
+
h3. Thanks
|
|
11
|
+
|
|
12
|
+
* Kenta Sato
|
|
13
|
+
|
|
3
14
|
h2(#2-1-2). 2.1.2: 2013-01-04
|
|
4
15
|
|
|
5
16
|
h3. Improvements
|
|
@@ -42,6 +42,7 @@ module ActiveGroongaTestUtils
|
|
|
42
42
|
setup_bookmarks_index_tables
|
|
43
43
|
setup_tasks_table
|
|
44
44
|
setup_sites_table
|
|
45
|
+
setup_pages_table
|
|
45
46
|
|
|
46
47
|
setup_user_records
|
|
47
48
|
setup_bookmark_records
|
|
@@ -49,7 +50,17 @@ module ActiveGroongaTestUtils
|
|
|
49
50
|
end
|
|
50
51
|
|
|
51
52
|
def setup_tmp_directory
|
|
52
|
-
@
|
|
53
|
+
@base_tmp_dir = Pathname(File.dirname(__FILE__)) + "tmp"
|
|
54
|
+
memory_file_system = "/dev/shm"
|
|
55
|
+
if File.exist?(memory_file_system)
|
|
56
|
+
FileUtils.mkdir_p(@base_tmp_dir.parent.to_s)
|
|
57
|
+
FileUtils.rm_f(@base_tmp_dir.to_s)
|
|
58
|
+
FileUtils.ln_s(memory_file_system, @base_tmp_dir.to_s)
|
|
59
|
+
else
|
|
60
|
+
FileUtils.mkdir_p(@base_tmp_dir.to_s)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
@tmp_dir = @base_tmp_dir + "active-groonga"
|
|
53
64
|
FileUtils.rm_rf(@tmp_dir.to_s)
|
|
54
65
|
FileUtils.mkdir_p(@tmp_dir.to_s)
|
|
55
66
|
end
|
|
@@ -192,6 +203,20 @@ module ActiveGroongaTestUtils
|
|
|
192
203
|
:path => @score_column_path.to_s)
|
|
193
204
|
end
|
|
194
205
|
|
|
206
|
+
def setup_pages_table
|
|
207
|
+
@pages_path = @tables_dir + "pages"
|
|
208
|
+
@pages = Groonga::Hash.create(:name => "pages",
|
|
209
|
+
:key_type => "ShortText",
|
|
210
|
+
:path => @pages_path.to_s)
|
|
211
|
+
|
|
212
|
+
columns_dir = @tables_dir + "pages.columns"
|
|
213
|
+
columns_dir.mkpath
|
|
214
|
+
|
|
215
|
+
@site_column_path = columns_dir + "site"
|
|
216
|
+
@site_column = @pages.define_column("site", @sites,
|
|
217
|
+
:path => @site_column_path.to_s)
|
|
218
|
+
end
|
|
219
|
+
|
|
195
220
|
def setup_user_records
|
|
196
221
|
@user_records = {}
|
|
197
222
|
|
|
@@ -228,11 +253,13 @@ module ActiveGroongaTestUtils
|
|
|
228
253
|
remove_const(:Bookmark) if const_defined?(:Bookmark)
|
|
229
254
|
remove_const(:Task) if const_defined?(:Task)
|
|
230
255
|
remove_const(:Site) if const_defined?(:Site)
|
|
256
|
+
remove_const(:Page) if const_defined?(:Page)
|
|
231
257
|
end
|
|
232
258
|
load((base_dir + 'user.rb').to_s)
|
|
233
259
|
load((base_dir + 'bookmark.rb').to_s)
|
|
234
260
|
load((base_dir + 'task.rb').to_s)
|
|
235
261
|
load((base_dir + 'site.rb').to_s)
|
|
262
|
+
load((base_dir + 'page.rb').to_s)
|
|
236
263
|
end
|
|
237
264
|
|
|
238
265
|
def teardown_sand_box
|
data/test/test-persistence.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2010 Kouhei Sutou <kou@clear-code.com>
|
|
1
|
+
# Copyright (C) 2010-2013 Kouhei Sutou <kou@clear-code.com>
|
|
2
2
|
#
|
|
3
3
|
# This library is free software; you can redistribute it and/or
|
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -30,12 +30,33 @@ class TestPersistence < Test::Unit::TestCase
|
|
|
30
30
|
[found_site.key, found_site.title])
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
class TestCreate < self
|
|
34
|
+
def test_hash
|
|
35
|
+
groonga = Site.create(:key => "http://groonga.org/",
|
|
36
|
+
:title => "groonga")
|
|
37
|
+
found_groonga = Site.find("http://groonga.org/")
|
|
38
|
+
assert_equal(["http://groonga.org/", "groonga"],
|
|
39
|
+
[found_groonga.key, found_groonga.title])
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
class TestReference < self
|
|
43
|
+
def test_have_key
|
|
44
|
+
groonga = Site.create(:key => "http://groonga.org/",
|
|
45
|
+
:title => "groonga")
|
|
46
|
+
doc = Page.create(:key => "http://groonga.org/doc/",
|
|
47
|
+
:site => groonga)
|
|
48
|
+
found_doc = Page.find("http://groonga.org/doc/")
|
|
49
|
+
assert_equal(groonga.key, found_doc.site.key)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_no_key
|
|
53
|
+
daijiro = @user_records[:daijiro]
|
|
54
|
+
groonga = Bookmark.create(:uri => "http://groonga.org/",
|
|
55
|
+
:user => daijiro)
|
|
56
|
+
found_groonga = Bookmark.find(groonga.id)
|
|
57
|
+
assert_equal(daijiro.id, found_groonga.user.id)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
39
60
|
end
|
|
40
61
|
|
|
41
62
|
def test_update
|
data/test/test-schema.rb
CHANGED
|
@@ -96,6 +96,12 @@ ActiveGroonga::Schema.define(:version => 0) do |schema|
|
|
|
96
96
|
table.short_text("uri")
|
|
97
97
|
end
|
|
98
98
|
|
|
99
|
+
create_table("pages",
|
|
100
|
+
:type => :hash,
|
|
101
|
+
:key_type => "ShortText",
|
|
102
|
+
:force => true) do |table|
|
|
103
|
+
end
|
|
104
|
+
|
|
99
105
|
create_table("sites",
|
|
100
106
|
:type => :hash,
|
|
101
107
|
:key_type => "ShortText",
|
|
@@ -125,6 +131,10 @@ ActiveGroonga::Schema.define(:version => 0) do |schema|
|
|
|
125
131
|
table.reference("user", "users")
|
|
126
132
|
end
|
|
127
133
|
|
|
134
|
+
change_table("pages") do |table|
|
|
135
|
+
table.reference("site", "sites")
|
|
136
|
+
end
|
|
137
|
+
|
|
128
138
|
change_table("terms") do |table|
|
|
129
139
|
table.index("bookmarks", "comment", :name => "bookmarks_comment")
|
|
130
140
|
table.index("bookmarks", "content", :name => "bookmarks_content")
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activegroonga
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.3
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2013-01-
|
|
12
|
+
date: 2013-01-06 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rroonga
|
|
@@ -194,6 +194,7 @@ files:
|
|
|
194
194
|
- test/run-test.rb
|
|
195
195
|
- test/test-schema.rb
|
|
196
196
|
- test/fixtures/site.rb
|
|
197
|
+
- test/fixtures/page.rb
|
|
197
198
|
- test/fixtures/user.rb
|
|
198
199
|
- test/fixtures/bookmark.rb
|
|
199
200
|
- test/fixtures/task.rb
|
|
@@ -233,6 +234,7 @@ test_files:
|
|
|
233
234
|
- test/run-test.rb
|
|
234
235
|
- test/test-schema.rb
|
|
235
236
|
- test/fixtures/site.rb
|
|
237
|
+
- test/fixtures/page.rb
|
|
236
238
|
- test/fixtures/user.rb
|
|
237
239
|
- test/fixtures/bookmark.rb
|
|
238
240
|
- test/fixtures/task.rb
|