Sha256: 78539bf6b30dba2dff651e6f74ebf76a8113b9631c1ca90c0e538cfe119fa4dc

Contents?: true

Size: 743 Bytes

Versions: 1

Compression:

Stored size: 743 Bytes

Contents

module Rundock
  module Builder
    class TargetBuilder < Base
      TargetNoSupportError = Class.new(NotImplementedError)

      attr_accessor :parsed_options

      def build(target_name, target_info)
        if target_info.nil? ||
           !target_info.key?(target_name.to_sym) ||
           !target_info[target_name.to_sym].key?(:target_type) ||
           target_info[target_name.to_sym][:target_type] == 'host'

          backend_builder = BackendBuilder.new(@options, target_name, target_info)
          backend = backend_builder.build
          @parsed_options = backend_builder.parsed_options

          return Node.new(target_name, backend)
        else
          raise TargetNoSupportError
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rundock-0.5.0 lib/rundock/builder/target_builder.rb