hq-tools 0.6.0 → 0.7.0
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.
- checksums.yaml +7 -0
- data/lib/hq/tools/libxml-ruby.rb +59 -0
- data/spec/hq/tools/libxml-ruby-spec.rb +35 -0
- metadata +34 -29
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 535a0e8a9328942e9dd4610baa66baf2842627d5
|
4
|
+
data.tar.gz: 0634470c166d2ac7ce77b9177999e8d862eda827
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: eeb856df02859e81279f1e64e14672e5db793b0921ec977dda05c31785b2492d152f33c46486db40951fa8ea6e0933f8519722986ee0daa03bbc26fd425469ac
|
7
|
+
data.tar.gz: 8e6ff89cff18247a61fab54af608890641f9784afca4fe7a61ae29966f73b2d3bbbc9e88305758263b74d69f903f2f785b0d8c6e2c2f603bff72199d723ad051
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module HQ
|
2
|
+
module Tools
|
3
|
+
|
4
|
+
module LibXmlRuby
|
5
|
+
|
6
|
+
def xml_to_data elem0
|
7
|
+
|
8
|
+
case elem0.name
|
9
|
+
|
10
|
+
when "boolean"
|
11
|
+
return elem0.attributes["value"] == "yes"
|
12
|
+
|
13
|
+
when "string"
|
14
|
+
return elem0.attributes["value"]
|
15
|
+
|
16
|
+
when "integer"
|
17
|
+
return elem0.attributes["value"].to_i
|
18
|
+
|
19
|
+
when "map"
|
20
|
+
|
21
|
+
ret = {}
|
22
|
+
|
23
|
+
elem0.find("*").each do
|
24
|
+
|elem1|
|
25
|
+
|
26
|
+
ret[elem1.attributes["name"]] =
|
27
|
+
xml_to_data elem1
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
return ret
|
32
|
+
|
33
|
+
when "array"
|
34
|
+
|
35
|
+
ret = []
|
36
|
+
|
37
|
+
elem0.find("*").each do
|
38
|
+
|elem1|
|
39
|
+
|
40
|
+
ret << xml_to_data(elem1)
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
return ret
|
45
|
+
|
46
|
+
when "json"
|
47
|
+
return MultiJson.load elem0.find("string (json)")
|
48
|
+
|
49
|
+
else
|
50
|
+
raise "Don't know how to convert #{elem0.name}"
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require "xml"
|
2
|
+
|
3
|
+
require "hq/tools/libxml-ruby"
|
4
|
+
|
5
|
+
module HQ
|
6
|
+
module Tools
|
7
|
+
|
8
|
+
describe LibXmlRuby do
|
9
|
+
|
10
|
+
subject { Class.new { include LibXmlRuby }.new }
|
11
|
+
|
12
|
+
context "xml_to_data" do
|
13
|
+
|
14
|
+
def test xml
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.it_converts xml, expect
|
18
|
+
it "converts #{xml} to #{expect}" do
|
19
|
+
doc = XML::Document.string xml
|
20
|
+
actual = subject.xml_to_data doc.root
|
21
|
+
actual.should === expect
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it_converts "<boolean value=\"yes\"/>", true
|
26
|
+
it_converts "<boolean value=\"no\"/>", false
|
27
|
+
it_converts "<boolean value=\"\"/>", false
|
28
|
+
it_converts "<boolean/>", false
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,94 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hq-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.7.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- James Pharaoh
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-05-01 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: cucumber
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.2.1
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.2.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: libxml-ruby
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.6.0
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.6.0
|
30
41
|
- !ruby/object:Gem::Dependency
|
31
42
|
name: rake
|
32
43
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
44
|
requirements:
|
35
|
-
- -
|
45
|
+
- - '>='
|
36
46
|
- !ruby/object:Gem::Version
|
37
47
|
version: 10.0.3
|
38
48
|
type: :development
|
39
49
|
prerelease: false
|
40
50
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
51
|
requirements:
|
43
|
-
- -
|
52
|
+
- - '>='
|
44
53
|
- !ruby/object:Gem::Version
|
45
54
|
version: 10.0.3
|
46
55
|
- !ruby/object:Gem::Dependency
|
47
56
|
name: rspec
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
58
|
requirements:
|
51
|
-
- -
|
59
|
+
- - '>='
|
52
60
|
- !ruby/object:Gem::Version
|
53
61
|
version: 2.12.0
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
65
|
requirements:
|
59
|
-
- -
|
66
|
+
- - '>='
|
60
67
|
- !ruby/object:Gem::Version
|
61
68
|
version: 2.12.0
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: rspec_junit_formatter
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
72
|
requirements:
|
67
|
-
- -
|
73
|
+
- - '>='
|
68
74
|
- !ruby/object:Gem::Version
|
69
75
|
version: '0'
|
70
76
|
type: :development
|
71
77
|
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
79
|
requirements:
|
75
|
-
- -
|
80
|
+
- - '>='
|
76
81
|
- !ruby/object:Gem::Version
|
77
82
|
version: '0'
|
78
83
|
- !ruby/object:Gem::Dependency
|
79
84
|
name: simplecov
|
80
85
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
86
|
requirements:
|
83
|
-
- -
|
87
|
+
- - '>='
|
84
88
|
- !ruby/object:Gem::Version
|
85
89
|
version: '0'
|
86
90
|
type: :development
|
87
91
|
prerelease: false
|
88
92
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
93
|
requirements:
|
91
|
-
- -
|
94
|
+
- - '>='
|
92
95
|
- !ruby/object:Gem::Version
|
93
96
|
version: '0'
|
94
97
|
description: HQ common library
|
@@ -103,35 +106,37 @@ files:
|
|
103
106
|
- lib/hq/tools/lock.rb
|
104
107
|
- lib/hq/tools/escape.rb
|
105
108
|
- lib/hq/tools/check-script.rb
|
109
|
+
- lib/hq/tools/libxml-ruby.rb
|
110
|
+
- spec/hq/tools/libxml-ruby-spec.rb
|
106
111
|
- spec/hq/tools/lock-spec.rb
|
107
112
|
- spec/hq/tools/getopt-spec.rb
|
108
113
|
- spec/hq/tools/cron-spec.rb
|
109
114
|
- spec/hq/tools/check-script-spec.rb
|
110
115
|
homepage: https://github.com/jamespharaoh/hq-tools
|
111
116
|
licenses: []
|
117
|
+
metadata: {}
|
112
118
|
post_install_message:
|
113
119
|
rdoc_options: []
|
114
120
|
require_paths:
|
115
121
|
- lib
|
116
122
|
required_ruby_version: !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
123
|
requirements:
|
119
|
-
- -
|
124
|
+
- - '>='
|
120
125
|
- !ruby/object:Gem::Version
|
121
126
|
version: '0'
|
122
127
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
128
|
requirements:
|
125
|
-
- -
|
129
|
+
- - '>='
|
126
130
|
- !ruby/object:Gem::Version
|
127
131
|
version: 1.3.6
|
128
132
|
requirements: []
|
129
133
|
rubyforge_project: hq-tools
|
130
|
-
rubygems_version:
|
134
|
+
rubygems_version: 2.0.3
|
131
135
|
signing_key:
|
132
|
-
specification_version:
|
136
|
+
specification_version: 4
|
133
137
|
summary: HQ tools
|
134
138
|
test_files:
|
139
|
+
- spec/hq/tools/libxml-ruby-spec.rb
|
135
140
|
- spec/hq/tools/lock-spec.rb
|
136
141
|
- spec/hq/tools/getopt-spec.rb
|
137
142
|
- spec/hq/tools/cron-spec.rb
|