LessonPlanet/litle-sdk-for-ruby — pull request #1 by simeonwillbanks (2013-03-13 19:35:17+00:00)
Title: Implement 'Account Updater Batch Request' and 'Account Updater RFR' features

* If `LitleOnline::Communications.http_post` receives a config hash whose URL does not have a path, default path to / since `Net::HTTP#request_post` requires a `path` argument
* Refactor `LitleOnline::SchemaValidation.validate_required` to validate Arrays along with other Objects
* Define `LitleOnline::TestSharedData` at `test/shared/data.rb` to encapsulate data shared across tests
* Define `LitleOnline::TestSharedData.real_certification_hash` class method to return a hash containing the real certification server URL
* Refactor rake `test:certification` to use `test/certification/ts_all.rb` instead of requiring tests with a wildcard
* Add `LitleOnline::LitleRequest` and require in `lib/LitleOnline.rb`
* Add XML classes `LitleOnline::Token`, `LitleOnline::LitleRequest`, `LitleOnline::BatchRequest`, `LitleOnline::AccountUpdate`, `LitleOnline::RFRRequest` and `LitleOnline::AccountUpdateFileRequestData`
* Include unit tests
* Use classes for litleRequest batch requests
* Define `LitleOnline::LitleRequest#account_updater_batch_request` to perform Account Updater Batch requests
* Add Account Updater Certification Testing
* Require Account Updater certification tests in `test/certification/ts_all.rb`
* Require `test_accountUpdater` in `test/functional/ts_all.rb`
* Add functional tests for Account Updater
* Add `LitleOnline::LitleRequest#account_updater_batch_request` unit tests
* Define `LitleOnline::LitleRequest#account_updater_request_for_response` to perform Account Updater RFR requests
* Add Account Updater RFR Request functional tests
* Add `LitleOnline::LitleRequest#account_updater_batch_request` unit tests
* Add `LitleOnline::LitleRequest#num_batch_requests` so each method can define litleRequest node numBatchRequests attribute

*Notes:*
1. [Litle_Account_Updater_Ops_Guide_XML8.9_V2.3.pdf ](https://sites.google.com/a/lessonplanet.com/development/home/qa/litle) documents Account Updater requests and responses.
1. For all XML nodes, only required attributes and children have been implemented. For example, `litleRequest` only has `version`, `xmlns` and `numBatchRequests`. We should review `batchRequest`. Maybe we should use some optional attributes?
1. Account Updater tests require active credentials.