terrafying 1.5.0 → 1.6.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
  SHA256:
3
- metadata.gz: b8e6ea924291e6e3c08fe913e7e3bb7edb5f09b2e6866c335f4c5c8a0719ab7a
4
- data.tar.gz: dc6638e07d28a2e6d1b421cdfba0714d77c1f2575782529eb4af6ef6320cd029
3
+ metadata.gz: 01f9e6e626d9bae8f15aa3acd24ae41d3e0a77b057fcd54cfb3f8422ff70a5a6
4
+ data.tar.gz: e4f7996c75a7bae65cc0f58e2d8ecd0cc022d4533cea504d4b232137b8f4ae4d
5
5
  SHA512:
6
- metadata.gz: bfa5024091b5edd32be865f0e2155dc2780d34c4b20d5a666b72fdcd53f88012cb2cb865e3d05d28edd6bd85b3234ebe8e464615d7fcbbcafeb7665a552113f2
7
- data.tar.gz: da0ed79b1c259e86e5ded70f032268aa8bf4e292e4489a10725aa03734c5e047ed811dbed4b21dee8ba2af21b6b6074d47f2b672d4b08f6c84df32016e362441
6
+ metadata.gz: 28db6d1e2f967502c76d779416853b9961573dfe261e85ac3f1c767f0306c64e91003a295fba0d8eeacbdd6d0bcd9041d4afccb51c5b2de08c2a625cf9d8593e
7
+ data.tar.gz: 82ac99ff86316ce0508e3b64e78d6e9d0622be42c24e54b9d3d2019cdb545d21380ce054106884deb24a51169120c8ed0e2c014eb7942a1fad5d4f4dff0440e1
@@ -61,14 +61,16 @@ module Terrafying
61
61
  end
62
62
 
63
63
  def provider(name, spec)
64
- @output["provider"] ||= {}
65
- @output["provider"][name] = spec
64
+ key = [name, spec[:alias]].compact.join('.')
65
+ @providers ||= {}
66
+ raise "Duplicate provider configuration detected for #{key}" if key_exists_spec_differs(key, name, spec)
67
+ @providers[key] = { name.to_s => spec }
68
+ @output['provider'] = @providers.map { |_, v| v }
69
+ key
70
+ end
66
71
 
67
- if spec[:alias]
68
- "#{name}.#{spec[:alias]}"
69
- else
70
- name.to_s
71
- end
72
+ def key_exists_spec_differs(key, name, spec)
73
+ @providers.key?(key) && spec != @providers[key][name.to_s]
72
74
  end
73
75
 
74
76
  def data(type, name, spec)
@@ -1,4 +1,4 @@
1
1
  module Terrafying
2
- VERSION = "1.5.0" # will be inserted by Drone
2
+ VERSION = "1.6.0" # will be inserted by Drone
3
3
  CLI_VERSION = "0.11.7"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terrafying
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - uSwitch Limited
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-29 00:00:00.000000000 Z
11
+ date: 2018-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler