commit 926ef3400b50ee441f2c48951ad1e5d1fd4f0549 Author: Sam Mulube Date: Wed Jun 24 23:47:25 2009 +0100 Bumped version number to 0.0.3. * Moved requires of our custom parsers and outputters into their respective registry classes. * Removed old autotest file as it broke the latest version of ZenTest that I just installed. * Include of exception module was working in tests, but not when actually trying to use the library. commit 25bd9eccee04e7b7f45f43fbf30997576a11d475 Author: Sam Mulube Date: Tue May 5 02:01:38 2009 +0100 Updated changelog with latest commits. commit db121ee6d59585932cc1222c556de689ca09490d Author: Sam Mulube Date: Tue May 5 01:58:52 2009 +0100 Moved exceptions into their own module, which I've included where necessary. commit b1ef59825336b19e25fe1f8f98763d17bc716f5e Author: Sam Mulube Date: Tue May 5 01:57:51 2009 +0100 Added initialization parameters to location, environment and datastream so that it is easier to create instances from JSON. commit 0c034391edd112f736a0497343048bbc69b2536b Author: Sam Mulube Date: Tue May 5 01:40:16 2009 +0100 Implemented simple json parser for the current json output by pachube.com. Parses the couple of valid docs I've included, haven't really gone into invalid docs, or docs with missing required attributes, etc. Left open the possibility for updates that parse a new json format (i.e. EEML 0.6 compatible JSON). Added some simple test cases for json parsing. commit 797fb10303acbfab2c2d84f2dabc4375e2864a00 Author: Sam Mulube Date: Mon May 4 14:40:43 2009 +0100 Very minor comment change. commit 3536d64dc45f26c76436b3b2acb68e52f8faabbe Author: Sam Mulube Date: Mon May 4 14:39:25 2009 +0100 Added 'version' attribute to the json format we are outputting. Need to build this a) into pachube, and b) into the json parser as we will need to update the json formt to correlate when EEML is revised. commit e2cb1385e91f8f5d48159c082c9dba4831ec16b4 Author: Sam Mulube Date: Mon May 4 14:38:29 2009 +0100 Added nodoc comments to some internal classes. commit 6024a6cf15e3db1583b767fc37ef08114ac70d13 Author: Sam Mulube Date: Mon May 4 14:37:02 2009 +0100 Rdoc change - make sure internal comment ommitted from generated output. commit 1d5d6cd6f0f04f792d7cf54cf4d95db5261c464e Author: Sam Mulube Date: Mon May 4 14:36:33 2009 +0100 Removed feed retrieval specific exceptions from our exception collection. commit 24a010cbace826fc12d2ce5de008f57bb9c2a5fe Author: Sam Mulube Date: Mon May 4 14:34:05 2009 +0100 Added few basic comments to the main Environment class. commit 7c24ee92fc9f3e35834c0d97dc186dca6f7af270 Author: Sam Mulube Date: Mon May 4 14:33:35 2009 +0100 Removed constants that were only used in relation to feed retrieval/submission. commit 36d624861f860bd6742025b8e7f10f15b159f298 Author: Sam Mulube Date: Mon May 4 14:31:58 2009 +0100 Updated README to make clear that this gem shouldn't be involved with fetching/sending to Pachube. That should be in a pachube specific gem. commit c97a973e7f521732313e563823614cf0c9ed0989 Author: Sam Mulube Date: Mon May 4 12:11:41 2009 +0100 Renamed NamespaceMissing exception class to MissingNamespace to correlate with pre-existing NamespaceMissing. commit a191d2a66517a9305e2a92f8f2d13aee2a4e3e04 Author: Sam Mulube Date: Sun May 3 23:31:37 2009 +0100 Updated version number to 0.0.2. commit 53c3a57fb954cd96d86ca9e8c35e9358f3995fda Author: Sam Mulube Date: Sun May 3 23:30:58 2009 +0100 Added extra files to the manifest. commit b49ea4813b51637f204270491761184e3e588d67 Author: Sam Mulube Date: Sun May 3 23:28:59 2009 +0100 Added simple test with corresponding exception if we don't find any namespace on the root element of an EEML document that we want to parse. commit 1807d90298f2eab1bcbc001b97fc4a088cf7fd36 Author: Sam Mulube Date: Sun May 3 23:12:24 2009 +0100 Removed some old code that had also been ported across from the rails app. Don't need to include this state related snippet. commit f44caa737f06454ea0109ec53c1b8072d4229aa5 Author: Sam Mulube Date: Sun May 3 23:05:45 2009 +0100 Removed old to_custom_json code that was ported across from the rails app. Renamed json output method to just `to_json` rather than `to_public_json` - in the gem we should only be dealing with the public json format. Renamed to_json method in example file. commit 1e892b2969d0f4a301d5fccec71e9aabe19e8420 Author: Sam Mulube Date: Sun May 3 22:17:41 2009 +0100 Removed logger info from gem. commit 99603bd5238f9c71f306b369e5902cfbe4aa7a6d Author: Sam Mulube Date: Sun May 3 22:14:06 2009 +0100 Removed client config loading code. This wasn't really used at the moment, and I think if the gem is just concerned with EEML parsing then it doesn't really need external config of this sort; this can be saved for the Pachube gem as and when we get round to writing it. commit ae94a8a2b74d60db0fb0df026cfc10ecfe26f716 Author: Sam Mulube Date: Sun May 3 22:12:29 2009 +0100 Updated the version of the json gem we are referencing. commit 5f97067b38defeea0e489045b951ffd1eee91396 Author: Sam Mulube Date: Sun May 3 23:14:20 2009 +0100 Removed exceptions that are to do with remote feed retrieval. Should be outwith the remit of this gem. commit 80c1100d50a6caae100bafec62ca1ce2ed31c6fa Author: Sam Mulube Date: Sun May 3 22:08:24 2009 +0100 Removed all feed fetching code from the gem. Think this would be better served in a specific Pachube gem for interacting with the api. This library will be more useful focusing just on parsing/creating EEML docs, and their corresponding JSON format partners. Last vestigal bit of feed fetching code that should have been removed previously. Removed now... commit bbff4837be3ef96b59827e338c43286162b18f56 Author: Neill Bogie Date: Sun Apr 26 20:38:30 2009 +0100 added ability to parse list of environments from a single xml doc. commit d0045536183425ec28be390b65123026244f376d Author: Neill Bogie Date: Sat Apr 18 16:24:02 2009 +0100 Improved public json output with tests, added to example.rb commit 456294351324a752f0c18cd82fc6c6d6fdbe0b7d Author: Neill Bogie Date: Sat Apr 18 16:23:06 2009 +0100 Added custom assertion "assert_json_hashes_equal" (used in json testing) commit dce4e81d2d79947342db4d213dd1ba5ea8cf66a6 Author: Neill Bogie Date: Sat Apr 18 02:20:36 2009 +0100 Ported basic json output from current system. (...) Added custom assert_json_strings_equal(s1, s2) to compare json strings after they have been parsed into structures. No test for custom json output yet. Notice that current system has some quirks (lat lon are numeric but ele is string) which were exactly copied. commit ea876d49f263116a28ce6033aeeefb39b710010b Author: Neill Bogie Date: Fri Apr 17 19:00:56 2009 +0100 complete removal of FeedOutput (a now-unused mixin module) commit 494632d6ee286d4968b7c6746b749d8d94e20006 Author: Neill Bogie Date: Fri Apr 17 18:45:51 2009 +0100 don't parse unobtained feed. commit 160daf34d4889b42408847c37e405b6f6f8ebdf4 Merge: 5a2a372 049ed53 Author: Neill Bogie Date: Fri Apr 17 18:31:51 2009 +0100 Merge branch 'master' of git@github.com:smulube/eeml.git commit 5a2a372c176eec509ae4d31214161554619da78c Author: Neill Bogie Date: Fri Apr 17 18:20:08 2009 +0100 basic env.fetch_data impl. details... now require fakeweb library for testing. commit e4d653f335f897ab52c3c3922cdab5a42dd41915 Author: Neill Bogie Date: Fri Apr 17 18:16:41 2009 +0100 The xml parser can now populate an existing environment object, if one is given. this is necessary for env.fetch_data commit ec1bded612260cbc73faad9326c181036047aabe Author: Neill Bogie Date: Fri Apr 17 18:10:50 2009 +0100 environment.fetch_data example now loads api key from (git-ignored) client-config.yml commit 049ed5344cb0cacf8bdc13f3ab57fb8206cb4658 Author: Sam Mulube Date: Fri Apr 17 13:47:19 2009 +0100 Simple changelog generated from git log messages. commit 8951ff79e521b9b0d869275dd8972446ec9b6bab Author: Sam Mulube Date: Fri Apr 17 13:09:17 2009 +0100 Ignoring the generated gemspec file. commit 3498076a60c41b6345badf6870f82caca1979bb9 Author: Sam Mulube Date: Fri Apr 17 13:07:37 2009 +0100 Loosened parser so that a feed with no datastreams will pass, and changed test case to reflect this. commit 72d4f74bd365872553225ca3a619383d25bd4c7e Author: Sam Mulube Date: Fri Apr 17 13:06:21 2009 +0100 Specific libxml parser for eeml marked as nodoc - users shouldn't really concern themselves with this implementation class, so have hidden it from the docs. commit fafcd5767a6997c1fca42c0464fbcb6562773dfd Author: Sam Mulube Date: Fri Apr 17 13:03:10 2009 +0100 The feed retriever module hasn't received any attention since being added in here. The module name was lower cased, so gave it a capital at the start - meh. commit 56f8fa74dba1ec7324ffe79cbe19fc25f1fb6329 Author: Sam Mulube Date: Fri Apr 17 13:02:14 2009 +0100 Added nodoc statements to feed_output, as we'll be moving away from this soon, I don't think it should be included in the docs for the gem. commit e895ad845929b71d1a05e8dbabda61c9498794b1 Author: Sam Mulube Date: Fri Apr 17 12:58:01 2009 +0100 Removed some unneccessary stuff from the feed_output module. Eventually this module will be removed, with the functionality instead coming from the eeml output class specific to the version of eeml we are interested in. commit 30a355a09004fa817539f29cf6629b9af9326a97 Author: Sam Mulube Date: Fri Apr 17 12:56:27 2009 +0100 Removed empty elements from the empty version of the eeml document, and added a title to the minimal doc. Ideally I'd like title to be required in the xsd schema... commit 9c29ddd37fcff6b7f1ae1755520d4b60e7fa7291 Author: Sam Mulube Date: Fri Apr 17 12:55:03 2009 +0100 Don't think this old csv_parser is used anywhere. No code changes, just tidyed text slightly. commit 57048b82b08a78c296becf689df872e2e8a275e1 Author: Sam Mulube Date: Fri Apr 17 12:38:57 2009 +0100 Added separate eeml output class, and registry type class for creating output objects modelled after the parser implementation. This is with an eye on the future version of eeml that is going to be introduced soon. Would like to be able to output either version as required. commit 43f406bcf654a782031d507d0ade723ffdf5c63a Author: Sam Mulube Date: Thu Apr 16 15:09:59 2009 +0100 Ignoring doc and pkg directory. commit 497c11ec0b208eff25c41ec2e3c08cb8affb6689 Author: Sam Mulube Date: Thu Apr 9 02:24:55 2009 +0100 Ignore real data. Added the real user data (in xml), to the ignore_pattern in echoe, so that they won't be included in the manifest, etc. commit f6c6b947b861ff47df6ec659b7b30ed18200a586 Author: Sam Mulube Date: Thu Apr 9 02:24:09 2009 +0100 Updating manifest for new files. Added extra new files written for the gem to the manifest. commit 10cb7959c160ff5fb0bcdad655df17d5157c832e Author: Neill Bogie Date: Wed Apr 8 21:51:16 2009 +0100 misc minor changes around logger, exceptions. Details: * Set up Environment.logger with standard ruby logger. Needs some config work, and needs silenced for testing. * eeml exception defs moved to own file. * added environment constructor options hash. * corrected doc_1.xml value to be within its min and max vals. commit be62ad8c8fcaedd16c33d375a05a53a06e01b067 Author: Neill Bogie Date: Wed Apr 8 21:46:53 2009 +0100 added an executable example client.rb this 1. serves as documentation, and also 2. pushes us to nail down exactly how the client will load the library (and consider how they might resolve other deps like libxml) TODO: figure out best way to keep this auto-tested, so that it doesn't go stale. Perhaps use FakeWeb to stub its http? commit 63efbdaaa85009232d1a147dc8b79bb53248af66 Author: Neill Bogie Date: Wed Apr 8 20:30:11 2009 +0100 corrected exception type used when data node has multiple units. commit ab35aaa1bd1ee101fbaede43a21f59d76c309134 Author: Neill Bogie Date: Wed Apr 8 04:34:34 2009 +0100 removed file-write from eeml-gen unit test (was just used during debugging) commit 3a450ad90eada0434a4b48656ec1c10a8c16c843 Author: Neill Bogie Date: Wed Apr 8 04:30:28 2009 +0100 First impl of eeml output (straight copy of sam's feed_output.rb) For now, going with the mixin module to do this, though I'd prefer eventually to use a separate eeml-generator class. env model's 'feed' becomes 'feed_url' env xml node's 'updated' attr now reads from model's 'updated'. was 'retrieved_at'. TODO: clarify. env no longer tries to assemble its own hosting url (env.feed). Rather, this will be set by publisher (controller?) commit 2fe2466750ff41cd1ebbd76ac5edf0d5aa849076 Author: Neill Bogie Date: Wed Apr 8 00:26:33 2009 +0100 started on eeml output, using previous feed_output.rb. commit f4f52ba72513e0bf29ec66af51677741fa38db59 Author: Sam Mulube Date: Mon Apr 6 01:49:45 2009 +0100 Added parsing unit element to the libxml parser. Copied methodology and tests from the datastream value parser section. commit 32b5c4354c11c841740557bbc1f39e2d88d0f261 Author: Sam Mulube Date: Sun Apr 5 01:21:47 2009 +0100 Experimental branch where I tried removing the DataValue class. Am not sure it adds to the api (particularly I don't like that ds.value.value = 'value' you need to write. Rather than literally representing the EEML structure, have folded these attributes back into datastream. Updated tests so this change passes. commit b8422f5176ba78a7d43c40f30fbad3d28582502a Author: Sam Mulube Date: Sun Apr 5 01:04:23 2009 +0100 Added another couple of dumb little tests (most minimal valid eeml file, and that parsing a feed with no location is valid). commit fe0dc57780b4b0d1060e59f4cc4162e2db78ad30 Author: Neill Bogie Date: Fri Apr 3 04:52:57 2009 +0100 ported old code to update ds values based on csv content. started feed retriever. very basic - passes previous tests, but needs more thought, especially regarding ds identifiers. also moved xml test help out into its own module and its own test. commit ad66d1db38ee6b11ae03237af4444c2bbe2d3a04 Author: Neill Bogie Date: Thu Apr 2 19:50:40 2009 +0100 started modification of feed retriever. retriever module changed to a class, and now works with its own attrs. it will be delegated to by an owning environment, but is stand alone for ease of testing. 'feed' attr renamed to 'feed_url', for clarity. commit bb29b362dc11646d70f9f9caf0d35e905fae0314 Author: Neill Bogie Date: Thu Apr 2 19:46:26 2009 +0100 bring across feed_retriever from server app. initial before mods. commit 1afd0e7826293e309414b9f8c30fcd37fbc55597 Author: n Date: Thu Apr 2 04:24:55 2009 +0100 support multiple tags. parse env id, updated and creator. bail if zero or multiple values in a datastream. More specific exceptions. Add line nums and node names to some exceptions. commit 093f8edd4443381f7529054589c47a7ae8848ffa Author: n Date: Thu Apr 2 01:16:31 2009 +0100 change to autotest config to try to have it retest everything on any change. no joy. commit 31c74517a3afddeee112db34b19dd4b00beb7500 Author: n Date: Thu Apr 2 01:16:12 2009 +0100 misc changes. almost parsing v005 xml commit 5076ec57ccc70ee28a4b9e67748bd126b6bceb10 Author: n Date: Thu Apr 2 01:14:25 2009 +0100 misc changes. almost complete parsing of 005. commit 574e94e8b09fa28176d39c7d6cbd447d536bd259 Author: Sam Mulube Date: Mon Mar 30 00:39:52 2009 +0100 Added .autotest file which generates nice notifications on linux provided you have libnotify-bin installed. commit c3f0df4ecbbde0ea0bbf78ab69cb2ff8aac09e07 Author: Sam Mulube Date: Mon Mar 30 00:37:50 2009 +0100 Removed all cruft that had accumulated today from my messing around idly here and there. commit 78182595514e6f28c647c36b7d5d8a096603654e Author: Sam Mulube Date: Fri Mar 27 17:08:41 2009 +0000 Am thinking that rather than keeping all the model classes in the parent base class, it might be better to keep them separated into their own files. commit e49448c1208f6fa717dd691db8efa93432301084 Author: Sam Mulube Date: Fri Mar 27 16:59:51 2009 +0000 Removed all the explicit attributes to use a scheme based on a nested hash object for storing all the object data. This means we can use the same base class for our essentially empty datastream and location objects. That is at the moment I think they will be behaviour free data objects essentially. commit aff10229863ef455ff9ada98567542a95523cb35 Author: Sam Mulube Date: Fri Mar 27 16:45:04 2009 +0000 Added simple hash based object for storing datastream values. commit dbe5fd388fca66a0336b53e069c74ebe806ae75c Author: Sam Mulube Date: Fri Mar 27 16:42:03 2009 +0000 Main entry point doesn't seem to need rubygems required. This must get required automatically. commit e9db7f76d6b4e93b1bd3d0e054b3cf68e81cfa58 Author: Sam Mulube Date: Fri Mar 27 16:35:40 2009 +0000 Added development dependency on mocha. commit 049f47e4912cb850cb17f7f2db894e5f6ead14a2 Author: Sam Mulube Date: Fri Mar 27 13:20:38 2009 +0000 Added licensing info, and some basic info in the README file. commit 56e1802bb272929fda3e41e91159708a56b91b09 Author: Sam Mulube Date: Fri Mar 27 12:34:25 2009 +0000 * Got basic test suite working with autotest in a way I'm happy with. * Added some very basic tests. * Added a little patch to Test::Unit::TestCase so we can write test names in a slightly nicer DSL type way, without requiring overhead of other libraries. commit 30133c2d5191fc640bdff774f8ec70d075c700d3 Author: Sam Mulube Date: Fri Mar 27 12:15:01 2009 +0000 Updated required version of libxml to latest stable. commit f1ff4e51cfba69131819a9e2ea51b892c6102dbf Author: Sam Mulube Date: Fri Mar 27 12:12:22 2009 +0000 Changed unshift to use File.join rather than hardcoding the dir separator into the path. commit 5fcf03df2e4f7c17713275715efc529d657229b0 Author: Sam Mulube Date: Mon Mar 16 00:14:15 2009 +0000 Initial commit of little library to factor out EEML parsing into a single library that might a) be useful to other users, and b) that can be used either by the rails app, or by axon for parsing received EEML content.