From 0fa6ec01c97603af819150b5beab9eb2cd75aa76 Mon Sep 17 00:00:00 2001 From: Luka Vandervelden Date: Fri, 25 Oct 2019 12:34:21 +0200 Subject: [PATCH] Environment#name is obtained from filename and not specs. --- src/service/environment.cr | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/service/environment.cr b/src/service/environment.cr index 95122e1..9aa3165 100644 --- a/src/service/environment.cr +++ b/src/service/environment.cr @@ -26,10 +26,9 @@ class Environment directory: "/srv/${ENVIRONMENT}" end - def initialize(specs : SpecParser) + def initialize(@name, specs : SpecParser) assignments = specs.assignments - @name = assignments["name"].as_s assignments["type"].try &.as_s.tap do |type| @type = Type.parse type end @@ -53,7 +52,10 @@ class Environment file_path = "#{path}/#{child}" begin - environment = Environment.new SpecParser.parse(File.read file_path).not_nil! + name = File.basename(child, ".spec") + specs = SpecParser.parse File.read(file_path) + + environment = Environment.new name, specs rescue e STDERR << "error loading #{file_path}: " << e << "\n" # FIXME: Print stacktrace? Debug mode?