hocon 1.2.6 → 1.3.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 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