Sha256: 6c4c762f7aaf8d26e51123f626fa3c17d03033f4d55ce8a982516eab1a9d8ad1

Contents?: true

Size: 1007 Bytes

Versions: 46

Compression:

Stored size: 1007 Bytes

Contents

# frozen_string_literal: true

require 'avm/launcher/errors/base'

module EacLauncher
  module Publish
    class Base
      attr_reader :instance

      def initialize(instance)
        @instance = instance
      end

      def run
        s = check
        info("Check: #{s}")
        return unless s.status == ::EacLauncher::Publish::CheckResult::STATUS_PENDING

        publish
      end

      def check
        s = check_with_rescue
        ::EacLauncher::Context.current.instance_manager.publish_state_set(
          instance, stereotype.stereotype_name, s.status
        )
        s
      end

      private

      def stereotype
        self.class.name.deconstantize.constantize
      end

      def check_with_rescue
        internal_check
      rescue ::Avm::Launcher::Errors::Base => e
        ::EacLauncher::Publish::CheckResult.blocked("Error: #{e}")
      rescue ::EacLauncher::Git::Error => e
        ::EacLauncher::Publish::CheckResult.blocked("Git error: #{e}")
      end
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
avm-tools-0.84.0 lib/eac_launcher/publish/base.rb
avm-tools-0.83.0 lib/eac_launcher/publish/base.rb
avm-tools-0.82.1 lib/eac_launcher/publish/base.rb
avm-tools-0.82.0 lib/eac_launcher/publish/base.rb
avm-tools-0.81.0 lib/eac_launcher/publish/base.rb
avm-tools-0.80.0 lib/eac_launcher/publish/base.rb
avm-tools-0.79.0 lib/eac_launcher/publish/base.rb
avm-tools-0.78.0 lib/eac_launcher/publish/base.rb
avm-tools-0.77.0 lib/eac_launcher/publish/base.rb
avm-tools-0.76.1 lib/eac_launcher/publish/base.rb
avm-tools-0.76.0 lib/eac_launcher/publish/base.rb
avm-tools-0.75.1 lib/eac_launcher/publish/base.rb
avm-tools-0.75.0 lib/eac_launcher/publish/base.rb
avm-tools-0.74.1 lib/eac_launcher/publish/base.rb
avm-tools-0.74.0 lib/eac_launcher/publish/base.rb
avm-tools-0.73.0 lib/eac_launcher/publish/base.rb
avm-tools-0.72.0 lib/eac_launcher/publish/base.rb
avm-tools-0.71.0 lib/eac_launcher/publish/base.rb
avm-tools-0.70.2 lib/eac_launcher/publish/base.rb
avm-tools-0.70.1 lib/eac_launcher/publish/base.rb