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.99.0 lib/eac_launcher/publish/base.rb
avm-tools-0.98.0 lib/eac_launcher/publish/base.rb
avm-tools-0.97.0 lib/eac_launcher/publish/base.rb
avm-tools-0.96.0 lib/eac_launcher/publish/base.rb
avm-tools-0.95.0 lib/eac_launcher/publish/base.rb
avm-tools-0.94.3 lib/eac_launcher/publish/base.rb
avm-tools-0.94.2 lib/eac_launcher/publish/base.rb
avm-tools-0.94.1 lib/eac_launcher/publish/base.rb
avm-tools-0.94.0 lib/eac_launcher/publish/base.rb
avm-tools-0.93.0 lib/eac_launcher/publish/base.rb
avm-tools-0.92.0 lib/eac_launcher/publish/base.rb
avm-tools-0.91.0 lib/eac_launcher/publish/base.rb
avm-tools-0.90.0 lib/eac_launcher/publish/base.rb
avm-tools-0.89.0 lib/eac_launcher/publish/base.rb
avm-tools-0.88.0 lib/eac_launcher/publish/base.rb
avm-tools-0.87.1 lib/eac_launcher/publish/base.rb
avm-tools-0.87.0 lib/eac_launcher/publish/base.rb
avm-tools-0.86.0 lib/eac_launcher/publish/base.rb
avm-tools-0.85.1 lib/eac_launcher/publish/base.rb
avm-tools-0.85.0 lib/eac_launcher/publish/base.rb