bin/eventboss in eventboss-1.2.0 vs bin/eventboss in eventboss-1.2.1

- old
+ new

@@ -1,55 +1,13 @@ #!/usr/bin/env ruby -require 'rubygems' -require 'dotenv' -require 'eventboss' -require 'optparse' +require 'eventboss/cli' -Dotenv.load - -STDOUT.sync = true -options = {} - -OptionParser.new do |parser| - parser.on('-r', '--require LIBRARY', 'Require custom app entrypoint') do |lib| - options[:require] = lib - end -end.parse! - begin - require 'rails' - if ::Rails::VERSION::MAJOR < 4 - require File.expand_path('config/environment.rb') - else - require File.expand_path('config/application.rb') - require File.expand_path('config/environment.rb') - end - - logger = Eventboss.logger - logger.debug('Loaded rails...') - # Due to a changes introduced in Rails 6 regarding autoloading - # we need to determine how to perform eager_load - # @see https://weblog.rubyonrails.org/2019/2/22/zeitwerk-integration-in-rails-6-beta-2/ - if ::Rails.try(:autoloaders).try(:zeitwerk_enabled?) - ::Zeitwerk::Loader.eager_load_all - else - ::Rails.application.eager_load! - end -rescue LoadError - logger = Eventboss.logger - logger.debug('Seems like not a Rails app') - - if options[:require].nil? - logger.warn('Please use -r to load a custom app entrypoint') - exit(0) - else - logger.debug("Loading #{options[:require]}") - require File.expand_path(options[:require]) - end + cli = Eventboss::CLI.instance + cli.parse + cli.run +rescue => e + STDERR.puts e.message + STDERR.puts e.backtrace.join("\n") + exit 1 end - -logger.info('Starting eventboss...') -logger.info('Active Listeners:') -logger.info(Eventboss::QueueListener.list.to_s) - -Eventboss.launch