Skip to content

Commit 567c22e

Browse files
committed
Allow constructing a configuration with existing environments.
1 parent 6343248 commit 567c22e

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

lib/async/service/configuration.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,13 @@ def self.load(paths = ARGV)
2323
return configuration
2424
end
2525

26+
def self.for(*environments)
27+
self.new(environments)
28+
end
29+
2630
# Initialize an empty configuration.
27-
def initialize
28-
@environments = []
31+
def initialize(environments = [])
32+
@environments = environments
2933
end
3034

3135
attr :environments

test/async/service/configuration.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@
66
require 'async/service/configuration'
77

88
describe Async::Service::Configuration do
9+
with '.for' do
10+
it "can create a new configuration" do
11+
environment = Async::Service::Environment.new
12+
configuration = subject.for(environment)
13+
14+
expect(configuration.environments).to be(:include?, environment)
15+
end
16+
end
17+
918
with 'sleep service configuration file' do
1019
let(:configuration_path) {File.join(__dir__, '.configurations', 'sleep.rb')}
1120
let(:configuration_root) {File.join(File.realpath(__dir__), '.configurations')}

0 commit comments

Comments
 (0)