module Diffend::Plugin

Public Class Methods

execute() click to toggle source

Execute diffend plugin

# File lib/diffend/plugin.rb, line 49
def execute
  return unless Diffend::Enabled.call

  config = Diffend::Config.new(severity: Diffend::Logger::INFO)

  return unless config.execute?

  unless config.valid?
    config.print_errors

    exit 255
  end

  Diffend::LatestVersion.call(config)

  Diffend::Execute.call(config)
rescue Diffend::Errors::HandledException
  # config will not be initialized when configuration file is missing
  return if config&.ignore_errors?

  exit 255
rescue StandardError => e
  Diffend::HandleErrors::Report.call(
    exception: e,
    config: config,
    message: :unhandled_exception,
    report: true,
    raise_exception: false
  )

  return if config.ignore_errors?

  exit 255
end
register() click to toggle source

Registers the plugin and add before install all hook

# File lib/diffend/plugin.rb, line 42
def register
  ::Bundler::Plugin.add_hook('before-install-all') do |_|
    execute
  end
end