hq-tools 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.6.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-04-19 00:00:00.000000000 Z
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: 1.8.23
134
+ rubygems_version: 2.0.3
131
135
  signing_key:
132
- specification_version: 3
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