philologic-client 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY.rdoc CHANGED
@@ -1,5 +1,9 @@
1
1
  = Philologic::Client History
2
2
 
3
+ == 2012-01-09 v0.0.7
4
+
5
+ * Fixed bug in URI fetching
6
+
3
7
  == 2012-01-04 v0.0.6
4
8
 
5
9
  * +Philologic::Client#search()+ now supports arbitrary key-value query parameters.
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 do |child|
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 do |result|
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 do |result|
26
- puts [ child['href'], child['author'], child['title'] ].join("\t")
27
- end
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
+
@@ -2,6 +2,9 @@
2
2
 
3
3
  module Philologic
4
4
  class Client
5
- VERSION = '0.0.6'
5
+ #
6
+ # Philologic::Client version
7
+ #
8
+ VERSION = '0.0.7'
6
9
  end
7
10
  end
@@ -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 do |child|
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 do |result|
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 do |result|
34
- # puts [ child['href'], child['author'], child['title'] ].join("\t")
35
- # end
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, String ].include?( query.class ) )) || query.empty?
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 =~ /\/$/ || '/' }#{ path }"
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&foo=bar', client.send( :_build_query, :query => 'sartre', :foo => 'bar' )
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.6
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-04 00:00:00.000000000Z
12
+ date: 2012-01-09 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70118250803080 !ruby/object:Gem::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: *70118250803080
24
+ version_requirements: *70176773639140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &70118250802640 !ruby/object:Gem::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: *70118250802640
35
+ version_requirements: *70176773638700
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mocha
38
- requirement: &70118250802220 !ruby/object:Gem::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: *70118250802220
46
+ version_requirements: *70176773638280
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rdoc-readme
49
- requirement: &70118250801720 !ruby/object:Gem::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: *70118250801720
57
+ version_requirements: *70176773637780
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &70118250801300 !ruby/object:Gem::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: *70118250801300
68
+ version_requirements: *70176773637360
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
- requirement: &70118250800840 !ruby/object:Gem::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: *70118250800840
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: -808024732695732071
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: -808024732695732071
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