eeml 0.0.5 → 0.0.6
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.
- data/Manifest +1 -0
- data/eeml.gemspec +3 -3
- data/lib/eeml/libxml_eeml_parser_v005.rb +3 -3
- data/lib/eeml.rb +1 -1
- data/test/data/difficult_tag.xml +26 -0
- data/test/test_environment.rb +16 -0
- data.tar.gz.sig +0 -0
- metadata +3 -2
- metadata.gz.sig +0 -0
data/Manifest
CHANGED
data/eeml.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{eeml}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.6"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Neill Bogie, Sam Mulube"]
|
9
9
|
s.cert_chain = ["/home/sam/.gem/gem-public_cert.pem"]
|
10
|
-
s.date = %q{2009-
|
10
|
+
s.date = %q{2009-08-18}
|
11
11
|
s.description = %q{Simple little library for programmatically manipulating EEML documents, in particular this library is designed to work with the Pachube web service.}
|
12
12
|
s.email = %q{sam.mulube@gmail.com}
|
13
13
|
s.extra_rdoc_files = ["LICENSE", "CHANGELOG", "README", "lib/eeml.rb", "lib/eeml/constants.rb", "lib/eeml/json_environment_parser_v005.rb", "lib/eeml/output_registry.rb", "lib/eeml/parser_registry.rb", "lib/eeml/libxml_eeml_output_v005.rb", "lib/eeml/libxml_eeml_parser_v005.rb", "lib/eeml/exceptions.rb", "lib/eeml/csv_parser.rb", "lib/eeml/json_output.rb", "lib/eeml/environment.rb", "lib/blank.rb"]
|
14
|
-
s.files = ["example.rb", "LICENSE", "CHANGELOG", "README", "test/test_environment.rb", "test/test_libxml_test_helper.rb", "test/libxml_test_helper.rb", "test/test_libxml_eeml_parser_v005.rb", "test/test_helper.rb", "test/data/minimal.xml", "test/data/doc_2_expected.json", "test/data/list.xml", "test/data/out_empty.xml", "test/data/complete_namespaced.xml", "test/data/no_namespace.xml", "test/data/doc_1.xml", "test/data/doc_1.json", "test/data/doc_2.xml", "lib/eeml.rb", "lib/eeml/constants.rb", "lib/eeml/json_environment_parser_v005.rb", "lib/eeml/output_registry.rb", "lib/eeml/parser_registry.rb", "lib/eeml/libxml_eeml_output_v005.rb", "lib/eeml/libxml_eeml_parser_v005.rb", "lib/eeml/exceptions.rb", "lib/eeml/csv_parser.rb", "lib/eeml/json_output.rb", "lib/eeml/environment.rb", "lib/blank.rb", "schemas/eeml/005.xsd", "Rakefile", "Manifest", "eeml.gemspec"]
|
14
|
+
s.files = ["example.rb", "LICENSE", "CHANGELOG", "README", "test/test_environment.rb", "test/test_libxml_test_helper.rb", "test/libxml_test_helper.rb", "test/test_libxml_eeml_parser_v005.rb", "test/test_helper.rb", "test/data/minimal.xml", "test/data/doc_2_expected.json", "test/data/list.xml", "test/data/out_empty.xml", "test/data/complete_namespaced.xml", "test/data/no_namespace.xml", "test/data/difficult_tag.xml", "test/data/doc_1.xml", "test/data/doc_1.json", "test/data/doc_2.xml", "lib/eeml.rb", "lib/eeml/constants.rb", "lib/eeml/json_environment_parser_v005.rb", "lib/eeml/output_registry.rb", "lib/eeml/parser_registry.rb", "lib/eeml/libxml_eeml_output_v005.rb", "lib/eeml/libxml_eeml_parser_v005.rb", "lib/eeml/exceptions.rb", "lib/eeml/csv_parser.rb", "lib/eeml/json_output.rb", "lib/eeml/environment.rb", "lib/blank.rb", "schemas/eeml/005.xsd", "Rakefile", "Manifest", "eeml.gemspec"]
|
15
15
|
s.homepage = %q{}
|
16
16
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Eeml", "--main", "README"]
|
17
17
|
s.require_paths = ["lib"]
|
@@ -140,7 +140,7 @@ module Eeml
|
|
140
140
|
raise MissingAttribute.new(node.name, 'id') if node['id'].nil?
|
141
141
|
data.identifier = node['id']
|
142
142
|
node.find('x:tag', "x:#{EEML_HREF}").each do |tag_node|
|
143
|
-
data.tags << tag_node.content
|
143
|
+
data.tags << tag_node.content.strip
|
144
144
|
end
|
145
145
|
|
146
146
|
value_nodes = node.find('x:value', "x:#{EEML_HREF}")
|
@@ -150,7 +150,7 @@ module Eeml
|
|
150
150
|
value_node = value_nodes.first
|
151
151
|
data.min_value = value_node['minValue']
|
152
152
|
data.max_value = value_node['maxValue']
|
153
|
-
data.value = value_node.content
|
153
|
+
data.value = value_node.content.strip
|
154
154
|
|
155
155
|
unit_nodes = node.find('x:unit', "x:#{EEML_HREF}")
|
156
156
|
raise exception_for_node(node, DataHasMultipleUnits, "Data node has multiple 'unit' nodes.") if unit_nodes.size > 1
|
@@ -159,7 +159,7 @@ module Eeml
|
|
159
159
|
unless unit_node.nil?
|
160
160
|
data.unit_symbol = unit_node['symbol']
|
161
161
|
data.unit_type = unit_node['type']
|
162
|
-
data.unit_value = unit_node.content
|
162
|
+
data.unit_value = unit_node.content.strip
|
163
163
|
end
|
164
164
|
|
165
165
|
return data
|
data/lib/eeml.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<eeml version="5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.eeml.org/xsd/005" xsi:schemaLocation="http://www.eeml.org/xsd/005 http://www.eeml.org/xsd/005/005.xsd">
|
3
|
+
<environment>
|
4
|
+
<data id="4773635294300160">
|
5
|
+
<tag>
|
6
|
+
10.F59894010800</tag>
|
7
|
+
<tag>
|
8
|
+
Living Room, S wall</tag>
|
9
|
+
<value>
|
10
|
+
24.1875</value>
|
11
|
+
<unit type="derivedSI">
|
12
|
+
celsius</unit>
|
13
|
+
</data>
|
14
|
+
<data id="11318471228981248">
|
15
|
+
<tag>
|
16
|
+
28.3616F1010000</tag>
|
17
|
+
<tag>
|
18
|
+
Living Room, .7m above wood stove</tag>
|
19
|
+
<value>
|
20
|
+
24.4375</value>
|
21
|
+
<unit type="derivedSI">
|
22
|
+
celsius</unit>
|
23
|
+
</data>
|
24
|
+
</environment>
|
25
|
+
</eeml>
|
26
|
+
|
data/test/test_environment.rb
CHANGED
@@ -175,6 +175,22 @@ class TestEnvironment < Test::Unit::TestCase
|
|
175
175
|
assert_raise(MissingNamespace) {env = create_env_from_xml_file('no_namespace.xml')}
|
176
176
|
end
|
177
177
|
|
178
|
+
test "ok parsing oddly tagged eeml file" do
|
179
|
+
env = create_env_from_xml_file('difficult_tag.xml')
|
180
|
+
assert_equal 2, env.datastreams.size
|
181
|
+
d = env.datastreams[0]
|
182
|
+
assert_equal 2, d.tags.size
|
183
|
+
assert_equal '10.F59894010800', d.tags[0]
|
184
|
+
assert_equal 'Living Room, S wall', d.tags[1]
|
185
|
+
d2 = env.datastreams[1]
|
186
|
+
assert_equal 2, d2.tags.size
|
187
|
+
assert_equal '28.3616F1010000', d2.tags[0]
|
188
|
+
assert_equal 'Living Room, .7m above wood stove', d2.tags[1]
|
189
|
+
assert_equal '24.1875', d.value
|
190
|
+
assert_equal '24.4375', d2.value
|
191
|
+
assert_equal 'celsius', d.unit_value
|
192
|
+
end
|
193
|
+
|
178
194
|
test "creates multiple environments from list xml" do
|
179
195
|
xml = File.read('test/data/list.xml')
|
180
196
|
list = Environment.new_list_from_eeml(xml)
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eeml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Neill Bogie, Sam Mulube
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
yyRwZdVyDdsafg==
|
31
31
|
-----END CERTIFICATE-----
|
32
32
|
|
33
|
-
date: 2009-
|
33
|
+
date: 2009-08-18 00:00:00 +01:00
|
34
34
|
default_executable:
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- test/data/out_empty.xml
|
124
124
|
- test/data/complete_namespaced.xml
|
125
125
|
- test/data/no_namespace.xml
|
126
|
+
- test/data/difficult_tag.xml
|
126
127
|
- test/data/doc_1.xml
|
127
128
|
- test/data/doc_1.json
|
128
129
|
- test/data/doc_2.xml
|
metadata.gz.sig
CHANGED
Binary file
|