hocon 1.2.6 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f68757dcba1266c0fef20f731f61168ed1e3f13
4
- data.tar.gz: 53d9b801dc7e2af70a1c5f376f0f230a2b86a707
3
+ metadata.gz: b72330472361da172c31cf054a458eb71e6bc004
4
+ data.tar.gz: bd22529837380ddb9c7b63ec84992d072d8a037a
5
5
  SHA512:
6
- metadata.gz: 92e54df3a9c9ae30844fd7db5d9aa5edebea9eefe5ac84c55213d1b9e6d273054ab4238d323a22e16067525ed9114859d7e979772dc58acee00a0f1f1771c7ab
7
- data.tar.gz: 97c91cb571eaba2776edbcecec872b7fcad141a8617e305905a349e95a349e31f32e410002ad44dc0f2f9f64144ba7c0ebb7e851b86a294eae9b1c59be8f1a2a
6
+ metadata.gz: bc23b613936d932858284d1e42d3c5467434f83ddcf4795af10223ed79644dad1351ea08159058c3ad9742d95b2c9ec317388b9c9653e5f68b5e7757935c44a6
7
+ data.tar.gz: 473ba874f373c765dddea6e7529a458e52d043b3b35cc191dc43aa04ad6a99a792fd5ba664e4812be3d5b1f5a1e9463ca2b1a3c85e1e5599f3450be8438d0cc8
@@ -1,3 +1,8 @@
1
+ ## 1.3.0
2
+ This is a feature release
3
+
4
+ * Support environment variable lists ([HC-104](https://tickets.puppetlabs.com/browse/HC-104))
5
+
1
6
  ## 1.2.6
2
7
  This is a bugfix release
3
8
 
@@ -237,9 +237,27 @@ class Hocon::Impl::ConfigImpl
237
237
  def self.load_env_variables
238
238
  env = ENV
239
239
  m = {}
240
+ lists = {}
240
241
  env.each do |key, value|
241
242
  m[key] = Hocon::Impl::ConfigString::Quoted.new(
242
243
  Hocon::Impl::SimpleConfigOrigin.new_simple("env var #{key}"), value)
244
+ # find env var arrays specified like FOO.0, FOO.1
245
+ if key =~ /^(.*)\.(\d+)$/
246
+ name, index = $1, Integer($2)
247
+ # values are added unordered
248
+ (lists[name] ||= {})[index] = value
249
+ end
250
+ end
251
+
252
+ lists.each do |key, values|
253
+ origin = Hocon::Impl::SimpleConfigOrigin.new_simple("env var list #{key}")
254
+ m[key] = Hocon::Impl::SimpleConfigList.new(
255
+ origin,
256
+ # out of order env vars FOO.1, FOO.0 are sorted here
257
+ values.sort.map do |v|
258
+ Hocon::Impl::ConfigString::Quoted.new(origin, v[1])
259
+ end
260
+ )
243
261
  end
244
262
 
245
263
  Hocon::Impl::SimpleConfigObject.new(
@@ -1,5 +1,5 @@
1
1
  module Hocon
2
2
  module Version
3
- STRING = '1.2.6'
3
+ STRING = '1.3.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hocon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Price