hiera-postgres-backend 0.0.2 → 0.0.3

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: 7eacb72b445dfb8adefd228f0cc498b468dce0d0
4
- data.tar.gz: 8af58504dbf9e51b877c802031f636a565ea89f9
3
+ metadata.gz: 579e8f9d6c45cca95af59718d95f56e5fe6837d7
4
+ data.tar.gz: 9207ad3377c7710fa02dc28cb356afa4e073f115
5
5
  SHA512:
6
- metadata.gz: 7fc5c0a6200499f6455851b54b857b02c3e6cd5cb295d4b181d5e1ee0c5fed343ed3029e2b2de4ed79a9d0b7c72d50c9d3cf2d2c025d1d33bbf6019ca81d9c44
7
- data.tar.gz: 9ea9a6b178b309410a319397373b17a22e4eda7b31b95f42a125cc90b01f70c2ab6d96b737b999d29a8b14bdacd0ff6046f207a2b78530a645f4fa404794389a
6
+ metadata.gz: c9c9e91a44f9827794064ecc797c99d85b09cb20943122d1d5f28415deb4f4b19657d486cc405f3ea6d671026a1008134d4760819f52a5809b8e14fdae2ea350
7
+ data.tar.gz: 608cb8a8ce53224f2ce9690fcc4217d6bce406e3d390e2440a0f33e9bab98642366eb6bf96c55ba763d3d5c2e0f0b70fa51679f814ad39a8cea03b5fe5e8498f
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ pkg/
2
+ vendor/
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hiera-postgres-backend (0.0.2)
4
+ hiera-postgres-backend (0.0.3)
5
5
  pg
6
6
 
7
7
  GEM
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "hiera-postgres-backend"
5
- gem.version = "0.0.2"
5
+ gem.version = "0.0.3"
6
6
  gem.authors = ["Adrian"]
7
7
  gem.email = ["adrianlzt@gmail.com"]
8
8
  gem.description = %q{Alternative PostgreSQL backend for hiera}
@@ -20,7 +20,7 @@ class Hiera
20
20
  # an Array of nils and causing a Puppet::Parser::AST::Resource failed with error ArgumentError
21
21
  # for any other lookup because their default value is overwriten by [nil,nil,nil,nil]
22
22
  # so hiera('myvalue', 'test1') returns [nil,nil,nil,nil]
23
- results = nil
23
+ answer = nil
24
24
 
25
25
  Hiera.debug("looking up #{key} in PostgreSQL Backend")
26
26
  Hiera.debug("resolution type is #{resolution_type}")
@@ -41,10 +41,22 @@ class Hiera
41
41
  Hiera.debug("Found #{key} in #{source}")
42
42
 
43
43
  new_answer = Backend.parse_answer(data[key], scope)
44
- results = query(new_answer)
44
+ case resolution_type
45
+ when :array
46
+ raise Exception, "Hiera type mismatch: expected Array and got #{new_answer.class}" unless new_answer.kind_of? Array or new_answer.kind_of? String
47
+ answer ||= []
48
+ answer << query(new_answer)
49
+ when :hash
50
+ raise Exception, "Hiera type mismatch: expected Hash and got #{new_answer.class}" unless new_answer.kind_of? Hash
51
+ answer ||= {}
52
+ answer = Backend.merge_answer(query(new_answer),answer)
53
+ else
54
+ answer = query(new_answer)
55
+ break
56
+ end
45
57
 
46
58
  end
47
- return results
59
+ return answer
48
60
  end
49
61
 
50
62
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiera-postgres-backend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-02 00:00:00.000000000 Z
11
+ date: 2014-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
@@ -45,6 +45,7 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
+ - .gitignore
48
49
  - Gemfile
49
50
  - Gemfile.lock
50
51
  - LICENSE