hiera-mysql-json-backend-jruby 1.1.2 → 2.0.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 +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
|