Sha256: fcd87824e10e7ae2d4d3b7ae5eabff8a1b8fb9ca0385a82a07aff033a0f1bc6a

Contents?: true

Size: 940 Bytes

Versions: 1

Compression:

Stored size: 940 Bytes

Contents

# frozen_string_literal: true

module Extension
  module Models
    class DevelopmentServer
      class DevelopmentServerError < StandardError; end

      include SmartProperties

      EXECUTABLE_PATH = "../../../../../ext/shopify-cli/shopify-extensions/shopify-extensions"

      property! :executable, converts: :to_s, default: File.expand_path(EXECUTABLE_PATH, __FILE__)

      def create(server_config)
        CLI::Kit::System.capture3(executable, "create", "-", stdin_data: server_config.to_yaml)
      rescue StandardError => error
        raise error
      end

      def build(server_config)
        _, error, pid = CLI::Kit::System.capture3(executable, "build", "-", stdin_data: server_config.to_yaml)
        return if pid.success?
        raise DevelopmentServerError, error
      end

      def serve
        raise NotImplementedError
      end

      def version
        raise NotImplementedError
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shopify-cli-2.4.0 lib/project_types/extension/models/development_server.rb