hiera-mysql-json-backend-jruby 1.1.2 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/CHANGELOG.md +6 -1
- data/hiera-mysql-json-backend-puppetserver.gemspec +1 -1
- data/hiera-mysql-json-backend.gemspec +1 -1
- data/lib/hiera/backend/mysql_json_backend.rb +23 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 151c57260b48d8af84d39031c757f8b1293f3a8b
|
4
|
+
data.tar.gz: 12c880b1473bf097e8c6a475e1c0af1e585d4c02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fecc0d05fa3d06d01e927465202722d2e6d5fa32d2c4cf898206ca52715fe1b3287178b2cb58d33d477be7714bc6601c759194bc7c5828d853aac80d5fd942bf
|
7
|
+
data.tar.gz: 54d0875399ed79f101908c764ada9734bcc8b6baade41f372175c710dd5edc72cc08c7a9c183b4cbc558b4ede861d0e13c0540cced1a64ea06973fe4fc13a8e6
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -14,4 +14,9 @@
|
|
14
14
|
|
15
15
|
- Made improvements to the connection Hash
|
16
16
|
- Fixed an issue where if no port was defined nill would be passed
|
17
|
-
- Added defaults for hostname and port, hostname will default to `localhost` port to `3306`
|
17
|
+
- Added defaults for hostname and port, hostname will default to `localhost` port to `3306`
|
18
|
+
|
19
|
+
### 2.0.0
|
20
|
+
|
21
|
+
- If we cannot parse JSON as json, do something nasty to try if the value is a
|
22
|
+
boolean
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
4
|
gem.name = "hiera-mysql-json-backend-jruby"
|
5
|
-
gem.version = "
|
5
|
+
gem.version = "2.0.0"
|
6
6
|
gem.authors = ["Hostnet"]
|
7
7
|
gem.email = ["opensource@hostnet.nl"]
|
8
8
|
gem.description = %q{Alternative MySQL backend with json support for hiera}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
4
|
gem.name = "hiera-mysql-json-backend"
|
5
|
-
gem.version = "
|
5
|
+
gem.version = "2.0.0"
|
6
6
|
gem.authors = ["Hostnet"]
|
7
7
|
gem.email = ["opensource@hostnet.nl"]
|
8
8
|
gem.description = %q{Alternative MySQL backend with json support for hiera}
|
@@ -82,16 +82,34 @@ class Hiera
|
|
82
82
|
|
83
83
|
Hiera.debug("Found #{key} in #{source}")
|
84
84
|
|
85
|
-
|
85
|
+
query = Backend.parse_answer(data[key], scope)
|
86
86
|
|
87
|
-
sql_results = query(connection_hash,
|
87
|
+
sql_results = query(connection_hash, query)
|
88
88
|
# TODO: make sure we fail if we have more than 1 result, skip if less than 1.
|
89
89
|
next if sql_results.length != 1
|
90
|
+
|
91
|
+
new_answer = nil
|
92
|
+
sqlvalue = sql_results[0]['value']
|
93
|
+
|
90
94
|
begin
|
91
|
-
new_answer = JSON.parse(
|
95
|
+
new_answer = JSON.parse(sqlvalue)
|
92
96
|
rescue
|
93
|
-
|
94
|
-
|
97
|
+
Hiera.debug("Miserable failure while parsing #{key} as JSON.")
|
98
|
+
end
|
99
|
+
|
100
|
+
if new_answer.nil?
|
101
|
+
case sqlvalue
|
102
|
+
when /^(true|t|yes|y|1)$/i
|
103
|
+
new_answer = true
|
104
|
+
when /^(false|f|no|n|0)$/i
|
105
|
+
new_answer = false
|
106
|
+
else
|
107
|
+
Hiera.debug("Miserable failure while parsing #{key} as boolean.")
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
if new_answer.nil?
|
112
|
+
raise Exception, "Parse error for key '#{key}'. Offending data: #{sql_results[0]['value']}." unless Config[:mysql_json][:ignore_json_parse_errors]
|
95
113
|
next
|
96
114
|
end
|
97
115
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiera-mysql-json-backend-jruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hostnet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jdbc-mysql
|