poliqarpr 0.0.5 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/README.txt +3 -1
- data/changelog.txt +13 -0
- data/lib/poliqarpr/client.rb +1 -1
- data/lib/poliqarpr/connector.rb +2 -1
- data/lib/poliqarpr/excerpt.rb +15 -1
- data/lib/poliqarpr/lemmata.rb +1 -1
- data/lib/poliqarpr/query_result.rb +5 -0
- data/poliqarpr.gemspec +3 -3
- data/spec/client.rb +171 -0
- data/spec/excerpt.rb +142 -0
- data/spec/query_result.rb +136 -0
- metadata +21 -7
data/README.txt
CHANGED
@@ -60,7 +60,7 @@ step of installation process).
|
|
60
60
|
|
61
61
|
Require the gem:
|
62
62
|
|
63
|
-
require '
|
63
|
+
require 'poliqarpr'
|
64
64
|
|
65
65
|
Create the server client and open default corpus
|
66
66
|
|
@@ -76,6 +76,8 @@ Remember to close the client on exit
|
|
76
76
|
|
77
77
|
client.close
|
78
78
|
|
79
|
+
NOTE: If you wish to run the specs, you need the 'default' and '2.sample.30'
|
80
|
+
corpuses.
|
79
81
|
|
80
82
|
== LICENSE:
|
81
83
|
|
data/changelog.txt
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
0.0.8
|
2
|
+
- Speed optimization: socket puts changed to write
|
3
|
+
|
4
|
+
0.0.7
|
5
|
+
- QueryResult#to_a method added
|
6
|
+
- Lexeme#tags method added
|
7
|
+
- fix: README invalid require
|
8
|
+
|
9
|
+
0.0.6
|
10
|
+
- fix: Excerpt#word - the words consituing the matched query
|
11
|
+
- new: Excerpt#matched, Excerpt#right_context Excerpt#left_context
|
12
|
+
return the matched, right context, left context segments respecively
|
13
|
+
|
1
14
|
0.0.5
|
2
15
|
- Bugfix: making parallel query might lead to silent thread death
|
3
16
|
- Support for Ruby 1.9 encoding
|
data/lib/poliqarpr/client.rb
CHANGED
data/lib/poliqarpr/connector.rb
CHANGED
data/lib/poliqarpr/excerpt.rb
CHANGED
@@ -25,11 +25,25 @@ module Poliqarp
|
|
25
25
|
@short_context << value
|
26
26
|
end
|
27
27
|
|
28
|
+
# Returns the matched segments
|
29
|
+
def matched
|
30
|
+
@short_context[1]
|
31
|
+
end
|
32
|
+
|
33
|
+
# Returns the segments of the left short context of the match
|
34
|
+
def left_context
|
35
|
+
@short_context[0]
|
36
|
+
end
|
37
|
+
|
38
|
+
# Returns the segments of the right short context of the match
|
39
|
+
def right_context
|
40
|
+
@short_context[2]
|
41
|
+
end
|
28
42
|
|
29
43
|
# Returns the matched query as string
|
30
44
|
def word
|
31
45
|
#@short_context[0].split(/\s+/)[-1]
|
32
|
-
@short_context[1].to_s
|
46
|
+
@short_context[1].map{|s| s.to_s}.join("")
|
33
47
|
end
|
34
48
|
|
35
49
|
alias inflected_form word
|
data/lib/poliqarpr/lemmata.rb
CHANGED
data/poliqarpr.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "poliqarpr"
|
3
|
-
s.version = "0.0.
|
4
|
-
s.date = "
|
3
|
+
s.version = "0.0.8"
|
4
|
+
s.date = "2011-01-12"
|
5
5
|
s.summary = "Ruby client for Poliqarp"
|
6
6
|
s.email = "apohllo@o2.pl"
|
7
7
|
s.homepage = "http://www.github.com/apohllo/poliqarpr"
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.authors = ['Aleksander Pohl']
|
10
10
|
s.files = ["Rakefile", "poliqarpr.gemspec",
|
11
11
|
"changelog.txt", "README.txt" ] + Dir.glob("lib/**/*")
|
12
|
-
s.test_files = Dir.glob("
|
12
|
+
s.test_files = Dir.glob("spec/**/*")
|
13
13
|
s.rdoc_options = ["--main", "README.txt"]
|
14
14
|
s.has_rdoc = true
|
15
15
|
s.extra_rdoc_files = ["README.txt"]
|
data/spec/client.rb
ADDED
@@ -0,0 +1,171 @@
|
|
1
|
+
#vim:encoding=utf-8
|
2
|
+
$:.unshift("lib")
|
3
|
+
require 'poliqarpr'
|
4
|
+
|
5
|
+
describe Poliqarp::Client do
|
6
|
+
describe "(general test)" do
|
7
|
+
before(:each) do
|
8
|
+
@client = Poliqarp::Client.new("TEST")
|
9
|
+
end
|
10
|
+
|
11
|
+
after(:each) do
|
12
|
+
@client.close
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should allow to open corpus" do
|
16
|
+
@client.open_corpus("/home/fox/local/poliqarp/2.sample.30/sample")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should allow to open :default corpus" do
|
20
|
+
@client.open_corpus(:default)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should respond to :ping" do
|
24
|
+
@client.ping.should == :pong
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should return server version" do
|
28
|
+
@client.version.should_not == nil
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "(with 'sample' corpus)" do
|
34
|
+
before(:all) do
|
35
|
+
@client = Poliqarp::Client.new("TEST")
|
36
|
+
@client.open_corpus("/home/fox/local/poliqarp/2.sample.30/sample")
|
37
|
+
end
|
38
|
+
|
39
|
+
after(:all) do
|
40
|
+
@client.close
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should allow to set the right context size" do
|
44
|
+
@client.right_context = 5
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should raise error if the size of right context is not number" do
|
48
|
+
(proc do
|
49
|
+
@client.right_context = "a"
|
50
|
+
end).should raise_error(RuntimeError)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should rais error if the size of right context is less or equal 0" do
|
54
|
+
(proc do
|
55
|
+
@client.right_context = 0
|
56
|
+
end).should raise_error(RuntimeError)
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should allow to set the left context size" do
|
60
|
+
@client.right_context = 5
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should raise error if the size of left context is not number" do
|
64
|
+
(lambda do
|
65
|
+
@client.left_context = "a"
|
66
|
+
end).should raise_error(RuntimeError)
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should rais error if the size of left context is less or equal 0" do
|
70
|
+
(lambda do
|
71
|
+
@client.left_context = 0
|
72
|
+
end).should raise_error(RuntimeError)
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should return corpus statistics" do
|
76
|
+
stats = @client.stats
|
77
|
+
stats.size.should == 4
|
78
|
+
[:segment_tokens, :segment_types, :lemmata, :tags].each do |type|
|
79
|
+
stats[type].should_not == nil
|
80
|
+
stats[type].should > 0
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should return the corpus tagset" do
|
85
|
+
tagset = @client.tagset
|
86
|
+
tagset[:categories].should_not == nil
|
87
|
+
tagset[:classes].should_not == nil
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should allow to find 'kot'" do
|
91
|
+
@client.find("kot").size.should_not == 0
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should contain 'kot' in query result for [base=kot]" do
|
95
|
+
@client.find("[base=kot]")[0].to_s.should match(/\bkot\b/)
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should allow to find 'Afrodyta [] od" do
|
99
|
+
@client.find("Afrodyta [] od").size.should_not == 0
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should contain 'Afrodyta .* od' for 'Afrodyta [] od' query " do
|
103
|
+
@client.find("Afrodyta [] od")[0].to_s.should match(/Afrodyta .* od/)
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should return collection for find without index specified" do
|
107
|
+
@client.find("kot").should respond_to(:[])
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should allow to query for term occurences" do
|
111
|
+
@client.count("kot").should_not == nil
|
112
|
+
end
|
113
|
+
|
114
|
+
it "should return 188 occurences of 'kot'" do
|
115
|
+
@client.count("kot").should == 188
|
116
|
+
end
|
117
|
+
|
118
|
+
it "should allow to find first occurence of 'kot'" do
|
119
|
+
@client.find("kot",:index => 0).should_not == nil
|
120
|
+
end
|
121
|
+
|
122
|
+
it "should return different results for different queries" do
|
123
|
+
@client.find("kot").should_not ==
|
124
|
+
@client.find("kita")
|
125
|
+
end
|
126
|
+
|
127
|
+
it "should return same results for same queries" do
|
128
|
+
@client.find("kita").should == @client.find("kita")
|
129
|
+
end
|
130
|
+
|
131
|
+
describe("(with index specified in find)") do
|
132
|
+
before(:each) do
|
133
|
+
@result = @client.find("nachalny",:index => 0)
|
134
|
+
end
|
135
|
+
|
136
|
+
it "should not return collection for find" do
|
137
|
+
@result.should_not respond_to(:[])
|
138
|
+
end
|
139
|
+
|
140
|
+
it "should not be nil" do
|
141
|
+
@result.should_not == nil
|
142
|
+
end
|
143
|
+
|
144
|
+
it "should fetch the same excerpt as in find without index " do
|
145
|
+
@result.to_s.should == @client.find("nachalny")[0].to_s
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
describe("(with lemmata flags set to true)") do
|
150
|
+
before(:all) do
|
151
|
+
@client.lemmata = {:left_context => true, :right_context => true,
|
152
|
+
:left_match => true, :right_match => true}
|
153
|
+
end
|
154
|
+
|
155
|
+
it "should allow to find 'kotu'" do
|
156
|
+
@client.find("kotu").size.should_not == 0
|
157
|
+
end
|
158
|
+
|
159
|
+
it "should contain 'kotu' in query result for 'kotu'" do
|
160
|
+
@client.find("kotu")[0].to_s.should match(/\bkotu\b/)
|
161
|
+
end
|
162
|
+
|
163
|
+
it "should contain 'kot' in lemmatized query result for 'kotu'" do
|
164
|
+
@client.find("kotu")[0].short_context.flatten.
|
165
|
+
map{|e| e.lemmata[0].base_form}.join(" ").should match(/\bkot\b/)
|
166
|
+
end
|
167
|
+
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
end
|
data/spec/excerpt.rb
ADDED
@@ -0,0 +1,142 @@
|
|
1
|
+
#vim:encoding=utf-8
|
2
|
+
$:.unshift("lib")
|
3
|
+
require 'poliqarpr'
|
4
|
+
|
5
|
+
describe Poliqarp::Excerpt do
|
6
|
+
before(:all) do
|
7
|
+
@client = Poliqarp::Client.new("TEST")
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
@client.close
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "(unspecified excerpt)" do
|
15
|
+
before(:all) do
|
16
|
+
@client.open_corpus(:default)
|
17
|
+
@excerpt = @client.find("kot").first
|
18
|
+
end
|
19
|
+
|
20
|
+
after(:all) do
|
21
|
+
@client.close_corpus
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should have index" do
|
25
|
+
@excerpt.index.should_not == nil
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should have base form" do
|
29
|
+
@excerpt.base_form.should_not == nil
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should contain 3 groups in short context" do
|
33
|
+
@excerpt.short_context.size.should == 3
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should allow to add segment group" do
|
37
|
+
@excerpt << [Poliqarp::Segment.new("abc")]
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
it "should contain non empty segments in short context" do
|
42
|
+
@excerpt.short_context.flatten.each do |segment|
|
43
|
+
segment.literal.should_not == nil
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should contain the exact form which it was created for" do
|
48
|
+
@excerpt.inflected_form.should_not == nil
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should contain the long context of the word" do
|
52
|
+
@excerpt.context.should_not == nil
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "(first exceprt for 'mu za to astronomiczną' in 'sample' corpus)" do
|
57
|
+
before(:all) do
|
58
|
+
@client.open_corpus("/home/fox/local/poliqarp/2.sample.30/sample")
|
59
|
+
@excerpt = @client.find("mu za to astronomiczną").first
|
60
|
+
end
|
61
|
+
|
62
|
+
after(:all) do
|
63
|
+
@client.close_corpus
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should have index set to 0" do
|
67
|
+
@excerpt.index.should == 0
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should have base form set to 'kot'" do
|
71
|
+
@excerpt.base_form.should == "mu za to astronomiczną"
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should have 'kot' as inflected form " do
|
75
|
+
@excerpt.inflected_form.should_not == nil
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should contain the long context of the word" do
|
79
|
+
@excerpt.context.to_s.size.should > 10
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should have one 'medium' set to 'książka'" do
|
83
|
+
@excerpt.medium.size.should == 1
|
84
|
+
@excerpt.medium[0].should == "książka"
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should have 2 'styles' set to 'naukowo-dydaktyczny' and 'naukowo-humanistyczny'" do
|
88
|
+
@excerpt.style.size.should == 1
|
89
|
+
@excerpt.style.include?("naukowo-dydaktyczny")
|
90
|
+
end
|
91
|
+
|
92
|
+
it "should have 'date' set to nil" do
|
93
|
+
@excerpt.date.should == nil
|
94
|
+
end
|
95
|
+
|
96
|
+
it "should have 'city' set to nil" do
|
97
|
+
@excerpt.city.should == nil
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should have one 'publisher' set to 'Wydawnictwo Naukowe Akademii Pedagogicznej'" do
|
101
|
+
@excerpt.publisher.size.should == 1
|
102
|
+
@excerpt.publisher[0].should == "Wydawnictwo W.A.B."
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should have one 'title' set to 'Wczesne nauczanie języków obcych. Integracja języka obcego z przedmiotami artystycznymi w młodszych klasach szkoły podstawowej'" do
|
106
|
+
@excerpt.title.size.should == 1
|
107
|
+
@excerpt.title[0].should == "Modlitwa o deszcz"
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should have one 'author' set to 'Małgorzata Pamuła'" do
|
111
|
+
@excerpt.author.size.should == 1
|
112
|
+
@excerpt.author[0].should == "Wojciech Jagielski"
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
describe('first result for "kotu" with lemmatization turned on') do
|
117
|
+
before(:all) do
|
118
|
+
@client.lemmata = :all
|
119
|
+
@client.open_corpus(:default)
|
120
|
+
@excerpt = @client.find("kotu")[0]
|
121
|
+
end
|
122
|
+
|
123
|
+
it "should have one lemmata for each segment" do
|
124
|
+
@excerpt.short_context.each do |group|
|
125
|
+
group.each do |segment|
|
126
|
+
segment.lemmata.size.should == 1
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
it "should have non-nil lemmata for each segment" do
|
132
|
+
@excerpt.short_context.flatten.each do |segment|
|
133
|
+
segment.lemmata[0].should_not == nil
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
it "should contain 'kot' as one of the lemmata" do
|
138
|
+
@excerpt.short_context.flatten.
|
139
|
+
any?{|s| s.lemmata[0].base_form == "kot"}.should == true
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
@@ -0,0 +1,136 @@
|
|
1
|
+
#vim:encoding=utf-8
|
2
|
+
$:.unshift("lib")
|
3
|
+
require 'poliqarpr'
|
4
|
+
|
5
|
+
describe Poliqarp::QueryResult do
|
6
|
+
before(:all) do
|
7
|
+
@client = Poliqarp::Client.new("TEST")
|
8
|
+
@client.open_corpus(:default)
|
9
|
+
end
|
10
|
+
|
11
|
+
after(:all) do
|
12
|
+
@client.close
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "(for unspecified query)" do
|
16
|
+
before(:all) do
|
17
|
+
@result = @client.find("kita")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should not be nil" do
|
21
|
+
@result.should_not == nil
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should containt its size" do
|
25
|
+
@result.size.should_not == nil
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should be iterable" do
|
29
|
+
@result.each do |excerpt|
|
30
|
+
excerpt.should_not == nil
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should allow to add excerpt" do
|
35
|
+
@result << Poliqarp::Excerpt.new(0,@client, "abc")
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should contain current page" do
|
39
|
+
@result.page.should_not == nil
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should contain the page count" do
|
43
|
+
@result.page_count.should_not == nil
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should allow to call previous page" do
|
47
|
+
@result.previous_page
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should allow to call next page" do
|
51
|
+
@result.next_page
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should be the same if the query is the same" do
|
55
|
+
@result.should == @client.find("kita")
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "(for 'kot' in :default corpus)" do
|
60
|
+
before(:all) do
|
61
|
+
@result = @client.find("kot")
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should have size == 6" do
|
65
|
+
@result.size.should == 6
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should have page set to 1" do
|
69
|
+
@result.page.should == 1
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should contain only one page" do
|
73
|
+
@result.page_count.should == 1
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should not have previous page" do
|
77
|
+
@result.previous_page.should == nil
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should not have next page" do
|
81
|
+
@result.next_page.should == nil
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe "(for 'kot' with page_size set to 5 in :default corpus)" do
|
86
|
+
before(:all) do
|
87
|
+
@result = @client.find("kot", :page_size => 5)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should have size == 5" do
|
91
|
+
@result.size.should == 5
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should have page set to 1" do
|
95
|
+
@result.page.should == 1
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should contain 2 pages" do
|
99
|
+
@result.page_count.should == 2
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should not have previous page" do
|
103
|
+
@result.previous_page.should == nil
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should have next page" do
|
107
|
+
@result.next_page.should_not == nil
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
describe "(next for 'kot' with page_size set to 5 in :default corpus)" do
|
112
|
+
before(:all) do
|
113
|
+
@result = @client.find("kot", :page_size => 5).next_page
|
114
|
+
end
|
115
|
+
|
116
|
+
it "should have size == 1" do
|
117
|
+
@result.size.should == 1
|
118
|
+
end
|
119
|
+
|
120
|
+
it "should have page set to 2" do
|
121
|
+
@result.page.should == 2
|
122
|
+
end
|
123
|
+
|
124
|
+
it "should contain 2 pages" do
|
125
|
+
@result.page_count.should == 2
|
126
|
+
end
|
127
|
+
|
128
|
+
it "should have previous page" do
|
129
|
+
@result.previous_page.should_not == nil
|
130
|
+
end
|
131
|
+
|
132
|
+
it "should not have next page" do
|
133
|
+
@result.next_page.should == nil
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: poliqarpr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 8
|
9
|
+
version: 0.0.8
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Aleksander Pohl
|
@@ -9,7 +14,7 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2011-01-12 00:00:00 +01:00
|
13
18
|
default_executable:
|
14
19
|
dependencies: []
|
15
20
|
|
@@ -35,6 +40,9 @@ files:
|
|
35
40
|
- lib/poliqarpr/client.rb
|
36
41
|
- lib/poliqarpr/util.rb
|
37
42
|
- lib/poliqarpr/connector.rb
|
43
|
+
- spec/query_result.rb
|
44
|
+
- spec/excerpt.rb
|
45
|
+
- spec/client.rb
|
38
46
|
has_rdoc: true
|
39
47
|
homepage: http://www.github.com/apohllo/poliqarpr
|
40
48
|
licenses: []
|
@@ -46,23 +54,29 @@ rdoc_options:
|
|
46
54
|
require_paths:
|
47
55
|
- lib
|
48
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
49
58
|
requirements:
|
50
59
|
- - ">="
|
51
60
|
- !ruby/object:Gem::Version
|
61
|
+
segments:
|
62
|
+
- 0
|
52
63
|
version: "0"
|
53
|
-
version:
|
54
64
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
55
66
|
requirements:
|
56
67
|
- - ">="
|
57
68
|
- !ruby/object:Gem::Version
|
69
|
+
segments:
|
70
|
+
- 0
|
58
71
|
version: "0"
|
59
|
-
version:
|
60
72
|
requirements: []
|
61
73
|
|
62
74
|
rubyforge_project:
|
63
|
-
rubygems_version: 1.3.
|
75
|
+
rubygems_version: 1.3.7
|
64
76
|
signing_key:
|
65
77
|
specification_version: 3
|
66
78
|
summary: Ruby client for Poliqarp
|
67
|
-
test_files:
|
68
|
-
|
79
|
+
test_files:
|
80
|
+
- spec/query_result.rb
|
81
|
+
- spec/excerpt.rb
|
82
|
+
- spec/client.rb
|