asbestos 0.0.4 → 0.0.5

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDMyZDAwMWVkMzY2NzU4ZmRlZWM2ZmY2MDUxNzFkMzM0ODgwOTc1Zg==
4
+ ZTRkYjZhMjBhZjc5MTMyOWU0NDA5MTkxZTBmNmYwZGQ4OTUxOTNjNA==
5
5
  data.tar.gz: !binary |-
6
- OWI4MGYyNmNlYjI1Y2ZmZDIyM2JlOWMyYjlkMmY1NDkwN2Y2NTI0ZQ==
6
+ ZDdhZjBmMjA4N2E2MTk1YmYwZTQwMDQ4NDQ2NzJkMTFhZDc4MDc5Zg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OTc1MTQxYTg2ZDRhZGE1Y2IyZjllNmEzNjE5NjZjYWI4MmIzMDJjZWM0M2Ex
10
- ZTJhMDlhMDFiYWI5NmIyMTMwYTZjNTRlYTViZDI1NTg1NTNkMzRhOTNiNjVi
11
- ZjhiNDk3NDY0NTA0Mjk5NjYzZDI2MDYyNmJlMTYzODdhN2M5NTI=
9
+ YzRlNDgwMDA2NjQ1YTZiODk4NzE3MWExMTIwMjg3OWM5Y2EwYzkxOGNiYTE5
10
+ NzIwMDljYzY4MGZkNDBhZTkwNzZiNjgyYjkzZmQ5ZmUyMDY2NjRlNGI4OTNj
11
+ NTg1ZDIyNjUwMWI1MGI3MzE3ZWIwM2UwMWZhNWRiZWRlMGVjN2M=
12
12
  data.tar.gz: !binary |-
13
- NzEwODNlYmQwMjE0NDIwMzliMDlmNzNhNmI3OWIwNGFiYjc1MmEzMjcxODE0
14
- N2VjNTRhZmEzMmQ4YzE2OWJmZWQwZGZkNjk5NTRkNmMzYjEwZGMxNmZjNmYy
15
- OWQ2OWVlOWViODUzZmU0ZTBmYWNjZDJjM2IxOGFjODRiYTU0NTc=
13
+ OTUyMWRjMzk5MDU5MDQ2Zjg5YTg5NzFjNmY2NTE0NjMzZTM4MDNlMTYyMTlm
14
+ MGNiYTllYzAyOGI5YzUzZDVhOWY5OWMxNjQwNWQ2NTg0MDJiZWVhMTVjMTRk
15
+ NzJkMzA5NGZjMGQ4ZTYyZmM2OTQzNjNjZjA0ZDIzZjE0MmIwNjA=
data/lib/asbestos/host.rb CHANGED
@@ -119,19 +119,19 @@ class Asbestos::Host
119
119
  # end
120
120
  #
121
121
  def interface(tag, if_names, address = nil, &block)
122
- if_names = [*if_names]
123
- raise "single address, #{address}, given for multiple interfaces, #{if_names}, on host #{name}" if if_names.length > 1 && address
122
+ interfaces = [*@interfaces[tag], *if_names].compact
123
+ raise "single address, #{address}, given for multiple interfaces, #{interfaces}, on host #{name}" if interfaces.length > 1 && address
124
124
 
125
- @interfaces[tag] = if_names
125
+ @interfaces[tag] = interfaces
126
126
 
127
127
  # determine the address for each interface
128
- if_names.each do |if_name|
128
+ interfaces.each do |if_name|
129
129
  new_address = \
130
130
  if !address
131
131
  if block_given?
132
132
  yield(self, if_name)
133
133
  else
134
- if if_names.length > 1
134
+ if interfaces.length > 1
135
135
  "#{name}_#{tag}_#{if_name}"
136
136
  else
137
137
  "#{name}_#{tag}"
@@ -140,7 +140,7 @@ class Asbestos::Host
140
140
  else
141
141
  address
142
142
  end
143
- @addresses[if_name] ||= new_address
143
+ @addresses[if_name] = new_address
144
144
  end
145
145
 
146
146
  end
@@ -1,4 +1,4 @@
1
1
  module Asbestos
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  HOMEPAGE = "http://www.github.com/koudelka/asbestos"
4
4
  end
@@ -79,6 +79,15 @@ describe Asbestos::Host do
79
79
  Host['hostname'].call.interfaces[:some_tag].should == [:eth0, :eth1]
80
80
  end
81
81
 
82
+ it "should add interfaces to the tag when called more than once" do
83
+ host 'hostname' do
84
+ interface :some_tag, :eth0
85
+ interface :some_tag, :eth1
86
+ end
87
+
88
+ Host['hostname'].call.interfaces[:some_tag].should == [:eth0, :eth1]
89
+ end
90
+
82
91
  context "generating addresses" do
83
92
  context "defaults" do
84
93
  it "should generate defaults for singular interfaces" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asbestos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Shapiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-07 00:00:00.000000000 Z
11
+ date: 2014-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -158,3 +158,4 @@ test_files:
158
158
  - spec/asbestos/rule_set_spec.rb
159
159
  - spec/asbestos/service_spec.rb
160
160
  - spec/spec_helper.rb
161
+ has_rdoc: