philologic-client 0.0.6 → 0.0.7
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/HISTORY.rdoc +4 -0
- data/README.rdoc +11 -9
- data/Rakefile +1 -1
- data/doc/PhiloLogicResponseTemplates.txt +46 -0
- data/lib/philologic-client/version.rb +4 -1
- data/lib/philologic-client.rb +40 -13
- data/test/data/frequency_sartre.html +67 -0
- data/test/test_philologic_client.rb +61 -1
- metadata +19 -16
data/HISTORY.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -7,9 +7,7 @@
|
|
7
7
|
Philologic::Client.new(endpoint) do |client|
|
8
8
|
|
9
9
|
# Get children of root
|
10
|
-
client.children.each
|
11
|
-
puts [ child['href'], child['author'], child['title'], child['filename'] ].join("\t")
|
12
|
-
end
|
10
|
+
client.children.each { |child| puts child }
|
13
11
|
|
14
12
|
# Get document
|
15
13
|
first = client.children.first
|
@@ -17,14 +15,16 @@
|
|
17
15
|
txt = doc.text
|
18
16
|
|
19
17
|
# Simple search
|
20
|
-
client.search('sartre').each
|
21
|
-
puts [ child['href'], child['author'], child['title'] ].join("\t")
|
22
|
-
end
|
18
|
+
client.search('sartre').each { |result| puts result }
|
23
19
|
|
24
20
|
# Search by arbitrary key-value pairs
|
25
|
-
client.search( :query => 'sartre', :foo => 1 ).each
|
26
|
-
|
27
|
-
|
21
|
+
client.search( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
22
|
+
|
23
|
+
# Simple frequency table search.
|
24
|
+
client.frequency('sartre').each { |result| puts result }
|
25
|
+
|
26
|
+
# Frequency search by arbitrary key-value pairs
|
27
|
+
client.frequency( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
28
28
|
|
29
29
|
# Get/Set encoding
|
30
30
|
encoding = client.encoding
|
@@ -51,6 +51,8 @@ https://github.com/blairc/philologic-client/
|
|
51
51
|
|
52
52
|
== To Do
|
53
53
|
|
54
|
+
* Add frequency table searching
|
55
|
+
* Add collocation table searching
|
54
56
|
* Add +children+ to Philologic::Document
|
55
57
|
* Add +parent+ to Philologic::Document
|
56
58
|
* Unify Philologic::Link and Philologic::Document
|
data/Rakefile
CHANGED
@@ -19,6 +19,6 @@ RDoc::Readme::RakeTask.new 'lib/philologic-client.rb', 'README.rdoc'
|
|
19
19
|
|
20
20
|
RDoc::Task.new do |rdoc|
|
21
21
|
rdoc.main = 'README.rdoc'
|
22
|
-
rdoc.rdoc_files.include('README.rdoc', 'lib/**/*.rb')
|
22
|
+
rdoc.rdoc_files.include('README.rdoc', 'lib/**/*.rb', 'doc/*.txt')
|
23
23
|
end
|
24
24
|
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<div class='philologic_response'>
|
2
|
+
<table class='philologic_table'>
|
3
|
+
<tr class='freq_header_row'>
|
4
|
+
<th class='freq_checkbox_header'></th>
|
5
|
+
<th class='freq_label_header'> {facet_widget} </th>
|
6
|
+
<th class='freq_value_header'> {count} </th>
|
7
|
+
</tr>
|
8
|
+
<tr class='freq_row'>
|
9
|
+
<td class='freq_checkbox'><input type='checkbox'></input></td>
|
10
|
+
<td class='freq_label'> <a href='{link to concordance}'> {label} </a></td>
|
11
|
+
<td class='freq_value'> {count} </td>
|
12
|
+
</tr>
|
13
|
+
{probably many rows}
|
14
|
+
</table>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
|
18
|
+
<div class='philologic_response'>
|
19
|
+
<div class='philologic_concordance'>
|
20
|
+
<div class='philologic_occurrence'>
|
21
|
+
<span class='hit_n'> {hit_number} </span>
|
22
|
+
<div class='philologic_cite'>
|
23
|
+
<a href='{link_to_cited_object}'>
|
24
|
+
<span class='philologic_property' title="{key}">{value}</span>
|
25
|
+
{more properties}
|
26
|
+
</a>
|
27
|
+
{possibly multiple links with their own properties--page images, etc.}
|
28
|
+
</div>
|
29
|
+
<div class='philologic_context'>{left context}
|
30
|
+
<span class='hilite'>{search term}<span>
|
31
|
+
…{possibly multiple separate hilt terms}…{right context}
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
{probably many occurrences}
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
|
39
|
+
<div class='philologic_response'>
|
40
|
+
<div class='philologic_object'>
|
41
|
+
{various content}
|
42
|
+
<span class='hilite'>{hilit word}</span>
|
43
|
+
{possibly multiple hilit words}
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
|
data/lib/philologic-client.rb
CHANGED
@@ -15,9 +15,7 @@ require 'open-uri'
|
|
15
15
|
# Philologic::Client.new(endpoint) do |client|
|
16
16
|
#
|
17
17
|
# # Get children of root
|
18
|
-
# client.children.each
|
19
|
-
# puts [ child['href'], child['author'], child['title'], child['filename'] ].join("\t")
|
20
|
-
# end
|
18
|
+
# client.children.each { |child| puts child }
|
21
19
|
#
|
22
20
|
# # Get document
|
23
21
|
# first = client.children.first
|
@@ -25,14 +23,16 @@ require 'open-uri'
|
|
25
23
|
# txt = doc.text
|
26
24
|
#
|
27
25
|
# # Simple search
|
28
|
-
# client.search('sartre').each
|
29
|
-
# puts [ child['href'], child['author'], child['title'] ].join("\t")
|
30
|
-
# end
|
26
|
+
# client.search('sartre').each { |result| puts result }
|
31
27
|
#
|
32
28
|
# # Search by arbitrary key-value pairs
|
33
|
-
# client.search( :query => 'sartre', :foo => 1 ).each
|
34
|
-
#
|
35
|
-
#
|
29
|
+
# client.search( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
30
|
+
#
|
31
|
+
# # Simple frequency table search.
|
32
|
+
# client.frequency('sartre').each { |result| puts result }
|
33
|
+
#
|
34
|
+
# # Frequency search by arbitrary key-value pairs
|
35
|
+
# client.frequency( :query => 'sartre', :foo => 1 ).each { |result| puts result }
|
36
36
|
#
|
37
37
|
# # Get/Set encoding
|
38
38
|
# encoding = client.encoding
|
@@ -59,6 +59,8 @@ require 'open-uri'
|
|
59
59
|
#
|
60
60
|
# == To Do
|
61
61
|
#
|
62
|
+
# * Add frequency table searching
|
63
|
+
# * Add collocation table searching
|
62
64
|
# * Add +children+ to Philologic::Document
|
63
65
|
# * Add +parent+ to Philologic::Document
|
64
66
|
# * Unify Philologic::Link and Philologic::Document
|
@@ -120,6 +122,21 @@ module Philologic # :nodoc:
|
|
120
122
|
return doc.kind_of?(::Philologic::Document) ? doc : nil
|
121
123
|
end
|
122
124
|
|
125
|
+
#
|
126
|
+
# Return +Array+ of TODO objects.
|
127
|
+
#
|
128
|
+
# *NOTE:* Currently only returns the first page of results by default.
|
129
|
+
#
|
130
|
+
# Params:
|
131
|
+
# +query+:: Search for this query +String+ or +Hash+ key-value pairs.
|
132
|
+
#
|
133
|
+
def frequency(query)
|
134
|
+
raise('no query specified') if ( query.nil? || !( [ Hash, String ].include?( query.class ) )) || query.empty?
|
135
|
+
defaults = { :report => 'frequency' }
|
136
|
+
doc = search( query.kind_of?(String) ? defaults.merge(:query => query) : defaults.merge(query) )
|
137
|
+
return doc.kind_of?(Array) ? doc : nil
|
138
|
+
end
|
139
|
+
|
123
140
|
#
|
124
141
|
# Return +Array+ of Philologic::Link objects.
|
125
142
|
#
|
@@ -129,12 +146,11 @@ module Philologic # :nodoc:
|
|
129
146
|
# +query+:: Search for this query +String+ or +Hash+ key-value pairs.
|
130
147
|
#
|
131
148
|
def search(query)
|
132
|
-
raise('no query specified') if ( query.nil? || !( [ Hash,
|
149
|
+
raise('no query specified') if ( query.nil? || !( [ Hash, String ].include?( query.class ) )) || query.empty?
|
133
150
|
doc = _query( query.kind_of?(String) ? { :query => query } : query )
|
134
151
|
return doc.kind_of?(Array) ? doc : nil
|
135
152
|
end
|
136
153
|
|
137
|
-
|
138
154
|
private
|
139
155
|
|
140
156
|
#
|
@@ -142,15 +158,16 @@ module Philologic # :nodoc:
|
|
142
158
|
#
|
143
159
|
def _build_query(pairs)
|
144
160
|
raise('no query specified') if pairs.nil? || !pairs.kind_of?(Hash) || pairs.empty?
|
145
|
-
"?" + pairs.map { |k,v| "#{k}=#{v}" }.join('&')
|
161
|
+
"?" + pairs.sort.map { |k,v| "#{k}=#{v}" }.join('&')
|
146
162
|
end
|
147
163
|
|
148
164
|
#
|
149
165
|
# Return parsed version of +path+.
|
150
166
|
#
|
151
167
|
def _get(path)
|
168
|
+
# TODO Use +URI+
|
152
169
|
raise('no endpoint specified') if @endpoint.nil?
|
153
|
-
uri = "#{ @endpoint }#{ @endpoint
|
170
|
+
uri = "#{ @endpoint }#{ @endpoint.end_with?('/') ? '' : '/' }#{path}".gsub( %r{/+$}, '/' )
|
154
171
|
_parse( Nokogiri::HTML( open(uri).read, nil, @encoding ) )
|
155
172
|
end
|
156
173
|
|
@@ -173,6 +190,8 @@ module Philologic # :nodoc:
|
|
173
190
|
return results
|
174
191
|
elsif !doc.css('div.philologic_object').first.nil?
|
175
192
|
return Philologic::Document.new( doc.css('div.philologic_object').first )
|
193
|
+
# TODO else
|
194
|
+
# warn "WARNING: could not parse document"
|
176
195
|
end
|
177
196
|
nil
|
178
197
|
end
|
@@ -252,10 +271,18 @@ module Philologic # :nodoc:
|
|
252
271
|
|
253
272
|
#
|
254
273
|
# Returns Philologic::Document referenced by this Philologic::Link object.
|
274
|
+
#
|
255
275
|
def document
|
256
276
|
@client.document( self['href'] )
|
257
277
|
end
|
258
278
|
|
279
|
+
#
|
280
|
+
# Return String representation of object.
|
281
|
+
#
|
282
|
+
def to_s
|
283
|
+
[ self['href'], self['title'], self['author'] ].join(' | ')
|
284
|
+
end
|
285
|
+
|
259
286
|
end # class Philologic::Link
|
260
287
|
|
261
288
|
|
@@ -0,0 +1,67 @@
|
|
1
|
+
<html><head><title>TLFsorted: frequency table for "sartre"</title></head>
|
2
|
+
<body>
|
3
|
+
<p class='description'>running query for sartre @ TLFsorted: 151 total hits. aggregating.</p>
|
4
|
+
<table class='philologic_frequency tablesorter' title='author'>
|
5
|
+
<thead><tr class='philologic_frequency_header_row'><th>Author</th><th>Frequency</th></tr></thead>
|
6
|
+
<tbody> <tr class='philologic_frequency_row'>
|
7
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Beauvoir+S.+de&title='>Beauvoir S. de</a></td>
|
8
|
+
<td class='philologic_frequency_value'>48</td>
|
9
|
+
</tr>
|
10
|
+
<tr class='philologic_frequency_row'>
|
11
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Sartre+J.-P.&title='>Sartre J.-P.</a></td>
|
12
|
+
<td class='philologic_frequency_value'>42</td>
|
13
|
+
</tr>
|
14
|
+
<tr class='philologic_frequency_row'>
|
15
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Gide+A.&title='>Gide A.</a></td>
|
16
|
+
<td class='philologic_frequency_value'>12</td>
|
17
|
+
</tr>
|
18
|
+
<tr class='philologic_frequency_row'>
|
19
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Ricoeur+P.&title='>Ricoeur P.</a></td>
|
20
|
+
<td class='philologic_frequency_value'>10</td>
|
21
|
+
</tr>
|
22
|
+
<tr class='philologic_frequency_row'>
|
23
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Lacroix+J.&title='>Lacroix J.</a></td>
|
24
|
+
<td class='philologic_frequency_value'>10</td>
|
25
|
+
</tr>
|
26
|
+
<tr class='philologic_frequency_row'>
|
27
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Vuillemin+J.&title='>Vuillemin J.</a></td>
|
28
|
+
<td class='philologic_frequency_value'>7</td>
|
29
|
+
</tr>
|
30
|
+
<tr class='philologic_frequency_row'>
|
31
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Peiresc+N.+de&title='>Peiresc N. de</a></td>
|
32
|
+
<td class='philologic_frequency_value'>4</td>
|
33
|
+
</tr>
|
34
|
+
<tr class='philologic_frequency_row'>
|
35
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Nizan+P.&title='>Nizan P.</a></td>
|
36
|
+
<td class='philologic_frequency_value'>3</td>
|
37
|
+
</tr>
|
38
|
+
<tr class='philologic_frequency_row'>
|
39
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Mounier+E.&title='>Mounier E.</a></td>
|
40
|
+
<td class='philologic_frequency_value'>3</td>
|
41
|
+
</tr>
|
42
|
+
<tr class='philologic_frequency_row'>
|
43
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Bachelard+G.&title='>Bachelard G.</a></td>
|
44
|
+
<td class='philologic_frequency_value'>3</td>
|
45
|
+
</tr>
|
46
|
+
<tr class='philologic_frequency_row'>
|
47
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Green+J.&title='>Green J.</a></td>
|
48
|
+
<td class='philologic_frequency_value'>3</td>
|
49
|
+
</tr>
|
50
|
+
<tr class='philologic_frequency_row'>
|
51
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Merleau-Ponty+M.&title='>Merleau-Ponty M.</a></td>
|
52
|
+
<td class='philologic_frequency_value'>2</td>
|
53
|
+
</tr>
|
54
|
+
<tr class='philologic_frequency_row'>
|
55
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Benda+J.&title='>Benda J.</a></td>
|
56
|
+
<td class='philologic_frequency_value'>2</td>
|
57
|
+
</tr>
|
58
|
+
<tr class='philologic_frequency_row'>
|
59
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Mauriac+F.&title='>Mauriac F.</a></td>
|
60
|
+
<td class='philologic_frequency_value'>1</td>
|
61
|
+
</tr>
|
62
|
+
<tr class='philologic_frequency_row'>
|
63
|
+
<td class='philologic_frequency_key'><a href='./?query=sartre&author=Schaeffer+P.&title='>Schaeffer P.</a></td>
|
64
|
+
<td class='philologic_frequency_value'>1</td>
|
65
|
+
</tr>
|
66
|
+
</tbody></table>
|
67
|
+
</body></html>
|
@@ -15,9 +15,15 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
15
15
|
|
16
16
|
@doc_path = 'doc_file.html'
|
17
17
|
@doc_file = File.join( @data_dir, @doc_path )
|
18
|
+
|
18
19
|
@endpoint = @data_dir
|
20
|
+
|
21
|
+
@freq_path = 'frequency_sartre.html'
|
22
|
+
@freq_file = File.join( @data_dir, @freq_path )
|
23
|
+
|
19
24
|
@root_path = 'root_file.html'
|
20
25
|
@root_file = File.join( @data_dir, @root_path )
|
26
|
+
|
21
27
|
@query_path = 'query_sartre.html'
|
22
28
|
@query_file = File.join( @data_dir, @query_path )
|
23
29
|
end
|
@@ -117,12 +123,14 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
117
123
|
assert_equal 'Les Chansons', children.first['title']
|
118
124
|
assert_equal 'TLF.0.tei', children.first['filename']
|
119
125
|
assert_raise(NoMethodError) { children.first.text }
|
126
|
+
assert_equal './1/0/0/0/0/0/0 | Les Chansons | Conon, de Béthune, ca. 1160-1219 or 20.', children.first.to_s
|
120
127
|
|
121
128
|
assert_equal './1845/0/0/0/0/0/0', children.last['href']
|
122
129
|
assert_equal 'Sartre J.-P.', children.last['author']
|
123
130
|
assert_equal 'Les Mots', children.last['title']
|
124
131
|
assert_equal 'TLF.1879.tei', children.last['filename']
|
125
132
|
assert_raise(NoMethodError) { children.last.text }
|
133
|
+
assert_equal './1845/0/0/0/0/0/0 | Les Mots | Sartre J.-P.', children.last.to_s
|
126
134
|
|
127
135
|
end
|
128
136
|
end
|
@@ -132,6 +140,7 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
132
140
|
client.endpoint = @endpoint
|
133
141
|
doc = client.document(@doc_path)
|
134
142
|
assert_not_nil doc
|
143
|
+
|
135
144
|
assert_kind_of Philologic::Document, doc
|
136
145
|
assert_equal 'philologic_object', doc['class']
|
137
146
|
assert_nil doc['some random attribute']
|
@@ -186,7 +195,7 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
186
195
|
def test_underscore_build_query
|
187
196
|
Philologic::Client.new(@endpoint) do |client|
|
188
197
|
assert_equal '?query=sartre', client.send( :_build_query, :query => 'sartre' )
|
189
|
-
assert_equal '?query=sartre
|
198
|
+
assert_equal '?foo=bar&query=sartre', client.send( :_build_query, :query => 'sartre', :foo => 'bar' )
|
190
199
|
end
|
191
200
|
end
|
192
201
|
|
@@ -224,12 +233,14 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
224
233
|
assert_equal 'Lettres T. 6 1602-1637', results.first['title']
|
225
234
|
assert_nil results.first['filename']
|
226
235
|
assert_raise(NoMethodError) { results.first.text }
|
236
|
+
assert_equal './54/1/0/0 | Lettres T. 6 1602-1637 | Peiresc N. de', results.first.to_s
|
227
237
|
|
228
238
|
assert_equal './1792/11/0/0', results.last['href']
|
229
239
|
assert_equal 'Gide A.', results.last['author']
|
230
240
|
assert_equal 'Journal 1939-1949', results.last['title']
|
231
241
|
assert_nil results.last['filename']
|
232
242
|
assert_raise(NoMethodError) { results.last.text }
|
243
|
+
assert_equal './1792/11/0/0 | Journal 1939-1949 | Gide A.', results.last.to_s
|
233
244
|
|
234
245
|
end
|
235
246
|
end
|
@@ -260,12 +271,61 @@ class TestPhilologicClient < Test::Unit::TestCase
|
|
260
271
|
assert_equal 'Lettres T. 6 1602-1637', results.first['title']
|
261
272
|
assert_nil results.first['filename']
|
262
273
|
assert_raise(NoMethodError) { results.first.text }
|
274
|
+
assert_equal './54/1/0/0 | Lettres T. 6 1602-1637 | Peiresc N. de', results.first.to_s
|
263
275
|
|
264
276
|
assert_equal './1792/11/0/0', results.last['href']
|
265
277
|
assert_equal 'Gide A.', results.last['author']
|
266
278
|
assert_equal 'Journal 1939-1949', results.last['title']
|
267
279
|
assert_nil results.last['filename']
|
268
280
|
assert_raise(NoMethodError) { results.last.text }
|
281
|
+
assert_equal './1792/11/0/0 | Journal 1939-1949 | Gide A.', results.last.to_s
|
282
|
+
|
283
|
+
end
|
284
|
+
end
|
285
|
+
|
286
|
+
def test_frequency_search_with_invalid_queries
|
287
|
+
Philologic::Client.new(@endpoint) do |client|
|
288
|
+
[ nil, [], {}, '', [ '' ], [ nil ], Object.new ].each do |q|
|
289
|
+
assert_raise(RuntimeError, 'invalid query') { client.frequency(q) }
|
290
|
+
end
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
def test_frequency_search
|
295
|
+
Philologic::Client.new(@endpoint) do |client|
|
296
|
+
doc = client.send( :_parse, Nokogiri::HTML( open(@freq_file) ) )
|
297
|
+
client.stubs(:_get).with('?query=sartre&report=frequency').returns(doc)
|
298
|
+
|
299
|
+
results = client.frequency('sartre')
|
300
|
+
|
301
|
+
assert_nil results
|
302
|
+
# assert_not_nil results
|
303
|
+
# assert_kind_of Array, results
|
304
|
+
# assert_equal 50, results.size
|
305
|
+
# results.each do |result|
|
306
|
+
# assert_kind_of Philologic::Link, result
|
307
|
+
# assert_equal 'philologic_cite', result['class']
|
308
|
+
# assert_not_nil result['href']
|
309
|
+
# assert_nil result['some random attribute']
|
310
|
+
# assert_not_nil result['author']
|
311
|
+
# assert_nil result['filename']
|
312
|
+
# assert_not_nil result['title']
|
313
|
+
# assert_raise(NoMethodError) { result.text }
|
314
|
+
# end
|
315
|
+
|
316
|
+
# assert_equal './54/1/0/0', results.first['href']
|
317
|
+
# assert_equal 'Peiresc N. de', results.first['author']
|
318
|
+
# assert_equal 'Lettres T. 6 1602-1637', results.first['title']
|
319
|
+
# assert_nil results.first['filename']
|
320
|
+
# assert_raise(NoMethodError) { results.first.text }
|
321
|
+
# assert_equal './54/1/0/0 | Lettres T. 6 1602-1637 | Peiresc N. de', results.first.to_s
|
322
|
+
|
323
|
+
# assert_equal './1792/11/0/0', results.last['href']
|
324
|
+
# assert_equal 'Gide A.', results.last['author']
|
325
|
+
# assert_equal 'Journal 1939-1949', results.last['title']
|
326
|
+
# assert_nil results.last['filename']
|
327
|
+
# assert_raise(NoMethodError) { results.last.text }
|
328
|
+
# assert_equal './1792/11/0/0 | Journal 1939-1949 | Gide A.', results.last.to_s
|
269
329
|
|
270
330
|
end
|
271
331
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: philologic-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-09 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70176773639140 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70176773639140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &70176773638700 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70176773638700
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mocha
|
38
|
-
requirement: &
|
38
|
+
requirement: &70176773638280 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70176773638280
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdoc-readme
|
49
|
-
requirement: &
|
49
|
+
requirement: &70176773637780 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.1.2
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70176773637780
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &70176773637360 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70176773637360
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: nokogiri
|
71
|
-
requirement: &
|
71
|
+
requirement: &70176773636900 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70176773636900
|
80
80
|
description: Ruby client for interacting with the Philologic API.
|
81
81
|
email:
|
82
82
|
- blair.christensen@gmail.com
|
@@ -89,10 +89,12 @@ files:
|
|
89
89
|
- HISTORY.rdoc
|
90
90
|
- README.rdoc
|
91
91
|
- Rakefile
|
92
|
+
- doc/PhiloLogicResponseTemplates.txt
|
92
93
|
- lib/philologic-client.rb
|
93
94
|
- lib/philologic-client/version.rb
|
94
95
|
- philologic-client.gemspec
|
95
96
|
- test/data/doc_file.html
|
97
|
+
- test/data/frequency_sartre.html
|
96
98
|
- test/data/query_sartre.html
|
97
99
|
- test/data/root_file.html
|
98
100
|
- test/test_philologic_client.rb
|
@@ -110,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
110
112
|
version: '0'
|
111
113
|
segments:
|
112
114
|
- 0
|
113
|
-
hash: -
|
115
|
+
hash: -2183879243771319628
|
114
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
117
|
none: false
|
116
118
|
requirements:
|
@@ -119,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
121
|
version: '0'
|
120
122
|
segments:
|
121
123
|
- 0
|
122
|
-
hash: -
|
124
|
+
hash: -2183879243771319628
|
123
125
|
requirements: []
|
124
126
|
rubyforge_project: philologic-client
|
125
127
|
rubygems_version: 1.8.7
|
@@ -128,6 +130,7 @@ specification_version: 3
|
|
128
130
|
summary: Ruby client for interacting with the Philologic API.
|
129
131
|
test_files:
|
130
132
|
- test/data/doc_file.html
|
133
|
+
- test/data/frequency_sartre.html
|
131
134
|
- test/data/query_sartre.html
|
132
135
|
- test/data/root_file.html
|
133
136
|
- test/test_philologic_client.rb
|