jschairb-rets4r 1.1.18

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