rets4r 0.8.5 → 1.1.18

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 (79) hide show
  1. data/.document +5 -0
  2. data/{test/client/data/1.5/metadata.xml → .gemtest} +0 -0
  3. data/CHANGELOG +611 -66
  4. data/CONTRIBUTORS +6 -2
  5. data/Gemfile +1 -0
  6. data/LICENSE +22 -0
  7. data/MANIFEST +63 -0
  8. data/NEWS +203 -0
  9. data/{README → README.rdoc} +11 -4
  10. data/RUBYS +7 -7
  11. data/Rakefile +48 -0
  12. data/TODO +5 -1
  13. data/examples/client_get_object.rb +31 -42
  14. data/examples/client_login.rb +20 -18
  15. data/examples/client_mapper.rb +17 -0
  16. data/examples/client_metadata.rb +28 -28
  17. data/examples/client_parser.rb +9 -0
  18. data/examples/client_search.rb +25 -27
  19. data/examples/settings.yml +114 -0
  20. data/lib/rets4r.rb +14 -1
  21. data/lib/rets4r/auth.rb +70 -66
  22. data/lib/rets4r/client.rb +470 -650
  23. data/lib/rets4r/client/data.rb +13 -13
  24. data/lib/rets4r/client/dataobject.rb +27 -19
  25. data/lib/rets4r/client/exceptions.rb +116 -0
  26. data/lib/rets4r/client/links.rb +32 -0
  27. data/lib/rets4r/client/metadata.rb +12 -12
  28. data/lib/rets4r/client/parsers/compact.rb +42 -0
  29. data/lib/rets4r/client/parsers/compact_nokogiri.rb +91 -0
  30. data/lib/rets4r/client/parsers/metadata.rb +92 -0
  31. data/lib/rets4r/client/parsers/response_parser.rb +100 -0
  32. data/lib/rets4r/client/requester.rb +143 -0
  33. data/lib/rets4r/client/transaction.rb +30 -33
  34. data/lib/rets4r/core_ext/array/extract_options.rb +15 -0
  35. data/lib/rets4r/core_ext/class/attribute_accessors.rb +58 -0
  36. data/lib/rets4r/core_ext/hash/keys.rb +46 -0
  37. data/lib/rets4r/core_ext/hash/slice.rb +39 -0
  38. data/lib/rets4r/listing_mapper.rb +17 -0
  39. data/lib/rets4r/listing_service.rb +35 -0
  40. data/lib/rets4r/loader.rb +8 -0
  41. data/lib/tasks/annotations.rake +121 -0
  42. data/lib/tasks/coverage.rake +13 -0
  43. data/rets4r.gemspec +24 -0
  44. data/spec/rets4r_compact_data_parser_spec.rb +7 -0
  45. data/test/data/1.5/bad_compact.xml +7 -0
  46. data/test/data/1.5/count_only_compact.xml +3 -0
  47. data/test/{client/data → data}/1.5/error.xml +0 -0
  48. data/test/{client/data → data}/1.5/invalid_compact.xml +0 -0
  49. data/test/{client/data → data}/1.5/login.xml +0 -0
  50. data/test/data/1.5/metadata.xml +0 -0
  51. data/test/{client/data → data}/1.5/search_compact.xml +0 -0
  52. data/test/data/1.5/search_compact_big.xml +136 -0
  53. data/test/{client/data → data}/1.5/search_unescaped_compact.xml +0 -0
  54. data/test/data/listing_service.yml +36 -0
  55. data/test/test_auth.rb +68 -0
  56. data/test/test_client.rb +342 -0
  57. data/test/test_client_links.rb +39 -0
  58. data/test/test_compact_nokogiri.rb +64 -0
  59. data/test/test_helper.rb +12 -0
  60. data/test/test_listing_mapper.rb +112 -0
  61. data/test/test_loader.rb +24 -0
  62. data/test/test_parser.rb +96 -0
  63. data/test/test_quality.rb +57 -0
  64. metadata +168 -53
  65. data/GPL +0 -340
  66. data/examples/metadata.xml +0 -42
  67. data/lib/rets4r/client/metadataindex.rb +0 -82
  68. data/lib/rets4r/client/parser.rb +0 -141
  69. data/lib/rets4r/client/parser/rexml.rb +0 -75
  70. data/lib/rets4r/client/parser/xmlparser.rb +0 -95
  71. data/test/client/parser/tc_rexml.rb +0 -17
  72. data/test/client/parser/tc_xmlparser.rb +0 -21
  73. data/test/client/tc_auth.rb +0 -68
  74. data/test/client/tc_client.rb +0 -320
  75. data/test/client/tc_metadataindex.rb +0 -36
  76. data/test/client/test_parser.rb +0 -128
  77. data/test/client/ts_all.rb +0 -8
  78. data/test/ts_all.rb +0 -1
  79. data/test/ts_client.rb +0 -1
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/CHANGELOG CHANGED
@@ -1,74 +1,619 @@
1
+ Tue Mar 22 19:36:54 2011 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
2
+
3
+ Bump and tag for release
4
+
5
+ * lib/rets4r.rb (RETS4R::VERSION): bump to 1.1.18
6
+
7
+ Tue Mar 22 19:34:26 2011 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
8
+
9
+ Support rubygems-test
10
+
11
+ * .gemtest: add
12
+ * MANIFEST (.gemtest): add
13
+ * rets4r.gemspec: remove test files
14
+
15
+ Tue Mar 22 19:30:42 2011 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
16
+
17
+ Use bundler for gem tasks
18
+
19
+ * Rakefile: install bundler gem helper
20
+
21
+ Tue Mar 22 19:10:43 2011 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
22
+
23
+ Use rake
24
+
25
+ * rets4r.gemspec: add development dep rake
26
+
27
+ Sun Feb 27 18:48:18 2011 Brian Dunn <brianpatrickdunn@gmail.com>
28
+
29
+ lock in the nokogiri version: fixes the sax parser
30
+
31
+ * Gemfile: use the gemfile
32
+ * Rakefile: load the bundle
33
+ * rets4r.gemspec: lock in the nokogiri version
34
+
35
+ Wed Aug 25 16:48:32 2010 Brian Dunn <brianpatrickdunn@gmail.com>
36
+
37
+ raise exceptions when the service responds with an error message
38
+
39
+ * lib/rets4r/client/parsers/compact_nokogiri.rb (RETS4R::Client::CompactNokogiriParser::CompactDocument#start_element): handle RETS element
40
+ * lib/rets4r/client/parsers/compact_nokogiri.rb (RETS4R::Client::CompactNokogiriParser::CompactDocument#characters): raise exception on error
41
+
42
+ Tue Aug 24 21:59:50 2010 Brian Dunn <brianpatrickdunn@gmail.com>
43
+
44
+ remove misunderstood session id header stuff
45
+
46
+ * lib/rets4r/client/requester.rb (Requester#initialize): remove headers['RETS-Session-ID']
47
+
48
+ Fri Aug 20 16:25:55 2010 Brian Dunn <brianpatrickdunn@gmail.com>
49
+
50
+ cleanups, remove bogus top level header RETS-Sesson-ID
51
+
52
+ * lib/rets4r/client/requester.rb (Requester#request): set RETS-Sesson-ID header to nil
53
+
54
+ Tue Aug 17 14:49:49 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
55
+
56
+ change useragent to something not a total hack
57
+
58
+ * lib/rets4r.rb: set version before requires
59
+ * lib/rets4r/client/requester
60
+ (RETS4R::Client::Requester::DEFAULT_USER_AGENT): set to rets4r/n.n.n
61
+
62
+ Tue Aug 17 14:43:42 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
63
+
64
+ remove links to dead ci and metric services
65
+
66
+ Mon Aug 16 11:17:38 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
67
+
68
+ fix whitespace
69
+
70
+ Mon Aug 16 11:13:30 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
71
+
72
+ update manifest
73
+
74
+ Mon Aug 16 11:13:02 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
75
+
76
+ clean built gems
77
+
78
+ * Rakefile (clean): add rets4r-#{version}.gem to list of files to delete
79
+
80
+ Mon Aug 16 10:58:26 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
81
+
82
+ ignore test data from quality checks
83
+
84
+ Mon Aug 16 10:57:58 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
85
+
86
+ fix whitespace
87
+
88
+ Mon Aug 16 10:43:44 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
89
+
90
+ add test for code quality
91
+
92
+ Mon Aug 2 04:56:12 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
93
+
94
+ pull out request support
95
+
96
+ * lib/rets4r/client.rb: remove request operations into RETS4R::Client::Requester
97
+ * lib/rets4r/client/requester.rb: add
98
+
99
+ Mon Aug 2 04:50:18 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
100
+
101
+ remove old setters and getters
102
+
103
+ * lib/rets4r/client.rb (Client#set_user_agent, #get_user_agent)
104
+ (#set_request_method, #get_request_method, #set_rets_version)
105
+ (#get_rets_version): remove, as replacements exist
106
+
107
+ Mon Aug 2 04:36:03 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
108
+
109
+ pull out capability links
110
+
111
+ * lib/rets4r/client.rb: factor urls hash into links object
112
+ * lib/rets4r/client/links.rb: add
113
+
114
+ Mon Aug 2 04:17:47 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
115
+
116
+ remove exceptions
117
+ * lib/rets4r/client.rb: remove exceptions into lib/rets4r/client/exceptions.rb
118
+
119
+ Mon Aug 2 01:07:59 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
120
+
121
+ merge gemspec changes
122
+
123
+ Mon Aug 2 01:03:28 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
124
+
125
+ make gem without jeweler
126
+
127
+ * GPL: removed with permission from other authors
128
+
129
+ * VERSION.yml: remove
130
+ * lib/rets4r.rb: add VERSION
131
+
132
+ * MANIFEST: added
133
+
134
+ * rets4r.gemspec: remove jeweler, add manifest
135
+ * Rakefile: remove jeweler, add manifest
136
+ * Gemfile: remove jeweler
137
+
138
+ Mon Aug 2 00:48:47 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
139
+
140
+ rename tests to standard test_ form
141
+
142
+ * test/compact_nokogiri_test.rb -> test/test_compact_nokogiri.rb
143
+ * test/listing_mapper_test.rb -> test/test_listing_mapper.rb
144
+ * test/loader_test.rb -> test/test_loader.rb
145
+
146
+ Tue Jul 20 10:30:51 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
147
+
148
+ merge with briandunnn
149
+
150
+ Tue Jul 20 10:18:18 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
151
+
152
+ Merge branch 'briandunn' into integration
153
+
154
+ Tue Jul 13 15:27:12 2010 Brian Dunn <brianpatrickdunn@gmail.com>
155
+
156
+ fixed misleading parameter name in loader
157
+
158
+ * lib/rets4r/loader.rb (Loader::load): rename file to io
159
+
160
+ Tue Jul 13 10:36:34 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
161
+
162
+ remove threads, use noko parser
163
+
164
+ * lib/rets4r/client.rb (Client#search): streaming yield through SAX parser
165
+ (Client#request): remove semaphores
166
+
167
+ Tue Jul 13 10:17:36 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
168
+
169
+ note issue with queryless search
170
+
171
+ * test/test_client.rb (test_search_without_query_should_not_raise_no_metho_error): comment out
172
+
173
+ Fri Jul 2 11:43:38 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
174
+
175
+ add a mapper example
176
+
177
+ * examples/client_mapper.rb: add
178
+
179
+ Fri Jul 2 11:30:44 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
180
+
181
+ update todo
182
+
183
+ Fri Jul 2 11:25:35 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
184
+
185
+ Add clean task
186
+
187
+ * Rakefile: add clean task
188
+
189
+ Fri Jun 25 09:22:07 2010 Brian Dunn <brianpatrickdunn@gmail.com>
190
+
191
+ narrow a test, clean up get object signature
192
+
193
+ * lib/rets4r/client.rb (Client#get_object): use true and false for location
194
+
195
+ * test/test_client.rb (test_search_without_query_should_not_raise_no_metho_error):
196
+ just check for that particular exception.
197
+
198
+ Wed Jun 23 09:33:21 2010 Brian Dunn <brianpatrickdunn@gmail.com>
199
+
200
+ correctly handle location header in get_object
201
+
202
+ * lib/rets4r/client.rb (Client#process_header): use webrick header parsing
203
+ * lib/rets4r/client/dataobject.rb: case insensitive headers
204
+
205
+ Tue Jun 22 17:38:58 2010 Brian Dunn <brianpatrickdunn@gmail.com>
206
+
207
+ new happy fails
208
+
209
+ * lib/rets4r.rb: require rubygems
210
+ * lib/rets4r/client/parsers/compact_nokogiri.rb (CompactNokogiriParser): include Enumerable
211
+ * test/compact_nokogiri_test.rb (test_should_not_include_column_elements_in_keys): add
212
+ * test/test_client.rb (test_correcly_handles_location_header_url): add
213
+
214
+ Tue Jun 22 17:04:44 2010 Brian Dunn <brianpatrickdunn@gmail.com>
215
+
216
+ Merge SAX changes into master
217
+
218
+ Fri Jun 18 17:48:40 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
219
+
220
+ fix nil escaping bug
221
+
222
+ * examples/settings.yml: add wildcard query
223
+ * lib/rets4r/client.rb (Client#create_query_string): ignore nil keys and values
224
+
225
+ Fri Jun 18 17:19:17 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
226
+
227
+ initialize pre_request_block to shut up warning
228
+
229
+ * lib/rets4r/client.rb (Client#initialize): set @pre_request_block to nil
230
+
231
+ Fri Jun 18 17:11:12 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
232
+
233
+ fix example scripts
234
+
235
+ * Gemfile: add activesupport
236
+
237
+ * examples/settings.yml: add environments
238
+
239
+ * examples/client_get_object.rb, examples/client_login.rb
240
+ examples/client_metadata.rb, examples/client_search.rb: use env
241
+ ruby. load settings based on LISTING_ENV
242
+
243
+ Fri Jun 18 15:53:15 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
244
+
245
+ remove rubygems from here too
246
+
247
+ * examples/client_parser.rb: remove require
248
+
249
+ Fri Jun 18 15:50:04 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
250
+
251
+ remove rubygems requires
252
+
253
+ * Rakefile, lib/rets4r/client/parsers/compact_nokogiri.rb
254
+ test/test_client.rb, test/test_helper.rb: remove require
255
+
256
+ Fri Jun 18 15:44:47 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
257
+
258
+ use bundler for less gem headaches in dev
259
+
260
+ * Gemfile: add
261
+
262
+ Fri Jun 18 15:42:51 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
263
+
264
+ fix annotations task
265
+
266
+ * lib/tasks/annotations.rake: replace require with inline code
267
+
268
+ Wed Mar 3 16:02:11 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
269
+
270
+ Update gemspec to v1.1.17
271
+
272
+ * rets4r.gemspec: update
273
+
274
+ Wed Mar 3 16:01:12 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
275
+
276
+ Version bump to 1.1.17
277
+
278
+ * VERSION.yml: bump patch
279
+
280
+ Wed Mar 3 15:59:44 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
281
+
282
+ Update change documentation
283
+
284
+ Wed Mar 3 12:43:25 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
285
+
286
+ Require mocha before shoulda to fix 'uninitialized constant Test::Unit::TestResult::TestResultFailureSupport'
287
+
288
+ * test/test_helper.rb: require mocha earlier
289
+
290
+ Tue Feb 23 07:12:46 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
291
+
292
+ Add ListingMapper to convert listing keys
293
+
294
+ * lib/rets4r.rb: require listing service, mapper
295
+ * lib/rets4r/listing_mapper.rb: new file
296
+ * lib/rets4r/listing_service.rb: new file
297
+ * test/data/listing_service.yml: new file
298
+ * test/listing_mapper_test.rb: new file
299
+ * test/test_helper.rb: new file
300
+
301
+ * lib/rets4r/core_ext/array/extract_options.rb: helper from rails
302
+ * lib/rets4r/core_ext/class/attribute_accessors.rb: likewise
303
+ * lib/rets4r/core_ext/hash/keys.rb: likewise
304
+ * lib/rets4r/core_ext/hash/slice.rb: likewise
305
+
306
+ Sat Feb 20 05:39:51 2010 Brian Dunn <brianpatrickdunn@gmail.com>
307
+
308
+ Test that SAX parser yeilds durring read.
309
+ * test/compact_nokogiri_test.rb: modified
310
+ * test/data/1.5/search_compact_big.xml: new file
311
+
312
+ Thu Feb 11 06:21:54 2010 Brian Dunn <brianpatrickdunn@gmail.com>
313
+
314
+ * lib/rets4r/client/parsers/compact_nokogiri.rb
315
+ (CompactNokogiriParser#each): new. should yield each row as the stream is
316
+ read
317
+ (CompactNokogiriParser#to_a): reads the whole stream and returns
318
+ rows in an array
319
+ * lib/rets4r/loader.rb: uses the each method to yield as the stream
320
+ is read
321
+ * test/compact_nokogiri_test.rb: uses to_a instead.
322
+
323
+ Sun Feb 7 19:05:46 2010 Scott Patterson <scott.patterson@digitalaun.com>
324
+
325
+ Removed unnecessary writing of response to xml file in /tmp dir.
326
+
327
+ Sun Feb 7 19:11:38 2010 Scott Patterson <scott.patterson@digitalaun.com>
328
+
329
+ Reversed aliases and accessors to use Ruby-style accessors with the get/set methods aliased.
330
+
331
+ Sun Feb 7 19:04:17 2010 Scott Patterson <scott.patterson@digitalaun.com>
332
+
333
+ Added in #data alias to #response for compatibility.
334
+
335
+ Sun Feb 7 18:57:50 2010 Scott Patterson <scott.patterson@digitalaun.com>
336
+
337
+ Removed old experiment.
338
+
339
+ Sun Feb 7 18:56:24 2010 Scott Patterson <scott.patterson@digitalaun.com>
340
+
341
+ Added compact response with only a count.
342
+
343
+ Thu Sep 10 23:47:49 2009 Andrew Vit <andrew@avit.ca>
344
+
345
+ Support response without a delimiter or column names
346
+
347
+ Mon Sep 14 22:21:35 2009 Andrew Vit <andrew@avit.ca>
348
+
349
+ requiring needed compact parser
350
+
351
+ Wed Sep 16 04:06:16 2009 Andrew Vit <andrew@avit.ca>
352
+
353
+ Handle compact-decoded format using same parser
354
+
355
+ Wed Sep 16 04:06:35 2009 Andrew Vit <andrew@avit.ca>
356
+
357
+ Fixed crash with missing response headers
358
+
359
+ Fri Feb 5 20:37:14 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
360
+
361
+ Version bump to 1.1.16
362
+
363
+ Fri Feb 5 20:36:39 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
364
+
365
+ Merge branch 'master' of github.com:josephholsten/rets4r
366
+
367
+ Fri Feb 5 20:34:13 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
368
+
369
+ Make loader accept any IO
370
+
371
+ * lib/rets4r/client/parsers/compact_nokogiri.rb
372
+ (RETS4R::Loader::load): parse from io, not file name. Callers
373
+ changed
374
+
375
+ Fri Jan 22 01:39:23 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
376
+
377
+ Version bump to 1.1.15
378
+
379
+ Fri Jan 22 01:37:22 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
380
+
381
+ Merge branch 'master' of github.com:josephholsten/rets4r
382
+
383
+ Fri Jan 22 01:32:47 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
384
+
385
+ Fix bug for parsing long lines
386
+
387
+ * lib/rets4r/client/parsers/compact_nokogiri.rb
388
+ (RETS4R::Client::CompactNokogiriParser::CompactDocument#start_element)
389
+ (RETS4R::Client::CompactNokogiriParser::CompactDocument#end_element)
390
+ (RETS4R::Client::CompactNokogiriParser::CompactDocument#characters):
391
+ defer string handling until the element has ended
392
+ * test/compact_nokogiri_test.rb
393
+ (CompactNokogiriTest#test_should_handle_big_data): added
394
+ * test/data/1.5/bad_compact.xml: new file
395
+
396
+ Fri Jan 22 00:51:00 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
397
+
398
+ Regenerated gemspec for version 1.1.14
399
+
400
+ Fri Jan 22 00:50:32 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
401
+
402
+ Version bump to 1.1.14
403
+
404
+ Fri Jan 22 00:44:04 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
405
+
406
+ Add sax parser
407
+
408
+ * lib/rets4r.rb: require compact_nokogiri.rb
409
+ * lib/rets4r/loader.rb (RETS4R::Loader::load): use sax parser
410
+ * lib/rets4r/client/parsers/compact_nokogiri.rb: new file
411
+ * test/compact_nokogiri_test.rb: new file
412
+
413
+ Fri Jan 22 00:38:43 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
414
+
415
+ Run tests that end in _test.rb
416
+
417
+ * Rakefile: add *_test.rb to test pattern
418
+
419
+ Thu Jan 21 23:35:34 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
420
+
421
+ Add a batch file loader
422
+
423
+ * lib/rets4r.rb: require loader
424
+ * lib/rets4r/loader.rb: new file
425
+ * test/loader_test.rb: new file
426
+
427
+ Thu Jan 21 23:10:36 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
428
+
429
+ Add parser example
430
+
431
+ * examples/client_parser.rb: added
432
+
433
+ Thu Jan 21 23:02:50 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
434
+
435
+ Fix reference to rcov instead of relevance-rcov
436
+
437
+ * lib/tasks/coverage.rake: say rcov, not relevance-rcov
438
+
439
+ Thu Jan 21 23:02:04 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
440
+
441
+ Add limit to settings
442
+
443
+ * examples/client_search.rb: pull limit from settings
444
+ * examples/settings.yml: set a sane default
445
+
446
+ Wed Jan 20 11:58:32 2010 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
447
+
448
+ use demo rets server
449
+
450
+ Thu Nov 26 01:06:06 2009 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
451
+
452
+ fix links list
453
+
454
+ Thu Nov 26 01:05:26 2009 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
455
+
456
+ fix indentation
457
+
458
+ Thu Nov 26 01:04:25 2009 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
459
+
460
+ Link to related sites
461
+
462
+ * README.rdoc: updated docs
463
+
464
+ Wed Nov 25 06:37:07 2009 Joseph Anthony Pasquale Holsten <joseph@josephholsten.com>
465
+
466
+ Use gemcutter
467
+
468
+ * Rakefile: include GemcutterTasks
469
+
470
+ 1.1.13
471
+ Use gemcutter (Joseph Holsten)
472
+
473
+ * Rakefile: include GemcutterTasks
474
+
475
+ Fix rdoc reference (Joseph Holsten)
476
+
477
+ * README: renamed to README.rdoc
478
+ * Rakefile: likewise
479
+ * rets4r.gemspec: likewise
480
+ * CONTRIBUTORS: added Joseph Holsten
481
+
482
+ 1.1.12
483
+ Merge example settings into a config file (Joseph Holsten)
484
+ Clean up testing (Joseph Holsten)
485
+
486
+ 1.1.11
487
+ Merge many rets4r forks (Joseph Holsten)
488
+
489
+ 1.1.10
490
+ ResponseParser#parse_common: should be _not_ equals (Jacob Basham)
491
+
492
+ 1.1.9
493
+ (no change)
494
+
495
+ 1.1.8
496
+ Client, ResponseParser#parse_common: Parser cleanup (Jacob Basham)
497
+
498
+ 1.1.7
499
+ Client, Client#initialize, Client#create_query_string, Client#request:
500
+ Cleaned up files to be 80 skinny, added CGI escaping of data (Jacob Basham)
501
+
502
+ 1.1.5
503
+ gemspec: fix date error (Jacob Basham)
504
+
505
+ 1.1.3
506
+ gemspec: update (Jacob Basham)
507
+
508
+ 1.1.2
509
+ ResponseParser#parse_key_value: Accept CARETS response (John Wulff)
510
+
511
+ 1.1.1
512
+ ResponseParser#parse_key_value: Handle nils (John Wulff)
513
+
514
+ 1.1.0
515
+ Strip key value pairs for CAPABILITY_LIST endpoints (John Wulff)
516
+ Add lib/rets4r to default load path (John Wulff)
517
+
518
+ 1.0.0
519
+ See changes in 9f7ff731250abc1f73b21cb01d3a6fc3a6617e73 (John Wulff)
520
+
521
+ Parser#parse_compact_line: simplify split.
522
+ Parser#parse_data: remove legacy support.
523
+ Auth::authenticate: handle missing www-authenticate header.
524
+ Auth::parse_header: strip keys, values.
525
+ Client#initialize: method signature changed, removed options, added format.
526
+ Client#set_parser_class, Client#get_parser_class,
527
+ Client#parser_class, Client#parser_class=, Client#set_output,
528
+ Client#get_output, Client#output, Client#output=: removed, callers changed.
529
+ Lay groundwork for non-compact format requests
530
+ Client::DEFAULT_METHOD: changed to GET
531
+ Client::DEFAULT_USER_AGENT: changed to Firefox
532
+ Client#login: handle absolute uris
533
+ Client#parse: Removed. Changed callers to access parser directly.
534
+ Client#get_metadata: method signature changed, format removed. Use format instance variable.
535
+ Client#download_metadata: added
536
+ Client#get_object: handle text/xml responses
537
+ !!! Client#get_object: remove quote support from multipart boundary handling
538
+ Client#count: added
539
+ Client#basic_encode: added
540
+ !!! Client#create_query_string: Remove escaping on request query keys, values
541
+ Client#debug: removed, all calls inlined.
542
+ Client#RETSTransactionException: added
543
+
544
+ client/parsers/
545
+
1
546
  0.8.5
2
- Parser#parse_compact_line now once again ignores beginning and ending delimiters. (Scott Patterson)
3
- Parser#parse_data now ignores header fields that are nil or blank when stripped. (Scott Patterson)
4
- Updated test to use the rets client version of the client, not hardcoded for post and get tests. (Scott Patterson)
5
-
547
+ Parser#parse_compact_line now once again ignores beginning and ending delimiters. (Scott Patterson)
548
+ Parser#parse_data now ignores header fields that are nil or blank when stripped. (Scott Patterson)
549
+ Updated test to use the rets client version of the client, not hardcoded for post and get tests. (Scott Patterson)
550
+
6
551
  0.8.4
7
- Fixed auth issue with authenticate headers with spaces after commas. (Ken Wiesner, Scott Patterson)
8
- When an exception is raised in the authentication parsing code, complain by raising
9
- a new exception, but also report anything of interest at the same time: request,
10
- response, response's body. (Fran�ois Beausoleil)
11
- Fixed Client#request to actually respect the specified request method instead of always using GET requests. (Scott Patterson)
12
- Set default request method to POST since some RETS servers seem to have trouble with GET requests. (Scott Patterson)
13
-
552
+ Fixed auth issue with authenticate headers with spaces after commas. (Ken Wiesner, Scott Patterson)
553
+ When an exception is raised in the authentication parsing code, complain by raising
554
+ a new exception, but also report anything of interest at the same time: request,
555
+ response, response's body. (Fran�ois Beausoleil)
556
+ Fixed Client#request to actually respect the specified request method instead of always using GET requests. (Scott Patterson)
557
+ Set default request method to POST since some RETS servers seem to have trouble with GET requests. (Scott Patterson)
558
+
14
559
  0.8.3
15
- Added example #set_pre_request_block. (Fran�ois Beausoleil)
16
- Allow a pre request block to be set for RETS4R::Client.
17
- This allows the caller to change the request in any meaningful way, such as adding a
18
- RETS-UA-Authorization header when appropriate. (Fran�ois Beausoleil)
19
- Better response handling of HTTP errors. Response codes > 300 other than 401 now raise an
20
- HTTPError exception that encapsulates the HTTPResponse object.
21
- 401 errors raise a LoginError exception. (Scott Patterson)
22
- Added in RETS specification error messages to reference. (Scott Patterson)
23
- New Rakefile. Install the rake gem and do 'rake test' to run the tests. (Fran�ois Beausoleil)
24
-
560
+ Added example #set_pre_request_block. (Fran�ois Beausoleil)
561
+ Allow a pre request block to be set for RETS4R::Client.
562
+ This allows the caller to change the request in any meaningful way, such as adding a
563
+ RETS-UA-Authorization header when appropriate. (Fran�ois Beausoleil)
564
+ Better response handling of HTTP errors. Response codes > 300 other than 401 now raise an
565
+ HTTPError exception that encapsulates the HTTPResponse object.
566
+ 401 errors raise a LoginError exception. (Scott Patterson)
567
+ Added in RETS specification error messages to reference. (Scott Patterson)
568
+ New Rakefile. Install the rake gem and do 'rake test' to run the tests. (Fran�ois Beausoleil)
569
+
25
570
  0.8.2
26
- Added missing result parameter to Client#search's yield (Scott Patterson)
27
- Added 1.7 to supported list and default version (Fran�ois Beausoleil)
28
- No longer sends empty (nil) headers (Fran�ois Beausoleil)
29
- Added debugging to HTTP output. (Fran�ois Beausoleil, Scott Patterson)
30
- Added support for multiple set-cookie headers in the server response (Fran�ois Beausoleil)
31
- Added basic search example (Scott Patterson)
32
- Implied default value of \t in RETS4R::Client::Transaction#delimiter (Fran�ois Beausoleil)
33
- #get_metadata now returns the block's value or the results. (Fran�ois Beausoleil)
34
- Made sure #login always calls #logout if called with a block. #login returns the block's value
35
- instead of results. (Fran�ois Beausoleil)
36
- New assertions that require Client to have Ruby-like accessors for attributes, instead of
37
- getters and setters. Applied 'Rename Attribute' on @parser, because #get_parser_class
38
- was returning the class of the parser's class, instead of the parser's class itself. (Fran�ois Beausoleil)
39
- Client#set_rets_version should take care to generate the correct RETS-Version header,
40
- and #get_rets_version should undo the changes that #set_rets_version did before
41
- returning the value. (Fran�ois Beausoleil)
42
- Don't rescue an exception that's not being processed in Parser. (Fran�ois Beausoleil)
43
- RETS4R::Client#get_object extensions: yield or return the array of DataObject instances;
44
- changed the multipart/parallel response boundary processing rules
45
- (include \r\n in the boundary detection); added documentation. (Fran�ois Beausoleil)
46
- Added GetObject example (Scott Patterson)
47
- Changed #get_object now yields each DataObject if a block is given rather
48
- than an array of DataObjects (Scott Patterson)
49
-
571
+ Added missing result parameter to Client#search's yield (Scott Patterson)
572
+ Added 1.7 to supported list and default version (Fran�ois Beausoleil)
573
+ No longer sends empty (nil) headers (Fran�ois Beausoleil)
574
+ Added debugging to HTTP output. (Fran�ois Beausoleil, Scott Patterson)
575
+ Added support for multiple set-cookie headers in the server response (Fran�ois Beausoleil)
576
+ Added basic search example (Scott Patterson)
577
+ Implied default value of \t in RETS4R::Client::Transaction#delimiter (Fran�ois Beausoleil)
578
+ #get_metadata now returns the block's value or the results. (Fran�ois Beausoleil)
579
+ Made sure #login always calls #logout if called with a block. #login returns the block's value
580
+ instead of results. (Fran�ois Beausoleil)
581
+ New assertions that require Client to have Ruby-like accessors for attributes, instead of
582
+ getters and setters. Applied 'Rename Attribute' on @parser, because #get_parser_class
583
+ was returning the class of the parser's class, instead of the parser's class itself. (Fran�ois Beausoleil)
584
+ Client#set_rets_version should take care to generate the correct RETS-Version header,
585
+ and #get_rets_version should undo the changes that #set_rets_version did before
586
+ returning the value. (Fran�ois Beausoleil)
587
+ Don't rescue an exception that's not being processed in Parser. (Fran�ois Beausoleil)
588
+ RETS4R::Client#get_object extensions: yield or return the array of DataObject instances;
589
+ changed the multipart/parallel response boundary processing rules
590
+ (include \r\n in the boundary detection); added documentation. (Fran�ois Beausoleil)
591
+ Added GetObject example (Scott Patterson)
592
+ Changed #get_object now yields each DataObject if a block is given rather
593
+ than an array of DataObjects (Scott Patterson)
594
+
50
595
  0.8.1
51
- Added Action-URL support per the specification.
52
- Added a secondary_response accessor to the Transaction object, which is what the Action-URL result is stored in.
53
- Fixed a bug with loggers and parsers
54
-
596
+ Added Action-URL support per the specification.
597
+ Added a secondary_response accessor to the Transaction object, which is what the Action-URL result is stored in.
598
+ Fixed a bug with loggers and parsers
599
+
55
600
  0.8.0
56
- Fixed RParser support, which now means you can use REXML.
57
- RParser now retries XML that produced a parser error after trying to clean it.
58
- Parser support is now more open so that more parsers can be easily added in the future.
59
- Reorganized parser file layout.
60
- CParser will only be loaded if libxml (its dependency) is present. If it is, it is the default
61
- parser.
62
- Added more parser unit tests.
63
- Renamed CParser to XMLParser and RPARSER to REXML, both with the hierarchy RETS4R::Client::Module.
64
- Fixed a bug with the parser output not being set properly.
65
- Fixed a bug with the parser not respecting the DELIMITER value and insisting on tab delimiters.
66
- Added support for using a logger
67
- Added more defaults to the search options (Count => '0', Format => 'COMPACT')
68
- Added some Rubyisms (blocks can now be given to #new, #login, #get_metadata, #get_object, and #search)
69
-
601
+ Fixed RParser support, which now means you can use REXML.
602
+ RParser now retries XML that produced a parser error after trying to clean it.
603
+ Parser support is now more open so that more parsers can be easily added in the future.
604
+ Reorganized parser file layout.
605
+ CParser will only be loaded if libxml (its dependency) is present. If it is, it is the default
606
+ parser.
607
+ Added more parser unit tests.
608
+ Renamed CParser to XMLParser and RPARSER to REXML, both with the hierarchy RETS4R::Client::Module.
609
+ Fixed a bug with the parser output not being set properly.
610
+ Fixed a bug with the parser not respecting the DELIMITER value and insisting on tab delimiters.
611
+ Added support for using a logger
612
+ Added more defaults to the search options (Count => '0', Format => 'COMPACT')
613
+ Added some Rubyisms (blocks can now be given to #new, #login, #get_metadata, #get_object, and #search)
614
+
70
615
  0.7.1
71
- Added support for reading the results count for searches.
72
-
616
+ Added support for reading the results count for searches.
617
+
73
618
  0.7.0
74
- Initial GEM Version
619
+ Initial GEM Version