rets4r 0.8.5 → 1.1.18

Sign up to get free protection for your applications and to get access to all the features.
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