class Desi::Runner
Public Class Methods
start_options()
click to toggle source
# File lib/desi/runner.rb, line 14 def self.start_options option :foreground, type: :boolean, desc: "Run ES in the foreground", default: false option :tail, type: :boolean, desc: "Run tail after (re)starting", default: false end
verbosity_option()
click to toggle source
# File lib/desi/runner.rb, line 9 def self.verbosity_option option :verbose, type: :boolean, desc: "Display information messages", default: STDOUT.tty? option :quiet, type: :boolean, desc: "Do not output anything", default: !STDOUT.tty? end
Public Instance Methods
current(version = nil, options = {})
click to toggle source
# File lib/desi/runner.rb, line 76 def current(version = nil, options = {}) set_verbosity!(options) local_install = Desi::LocalInstall.new if version dir = local_install.releases.find {|d| d.with_version?(version) } unless dir warn "Cannot find locale install of version #{version}" exit 1 end local_install.update_current_to(dir) puts "Set current version to #{dir.version} (#{dir.to_path})" if options[:verbose] else puts local_install.current_release end end
indices(pattern = nil, options = {})
click to toggle source
# File lib/desi/runner.rb, line 131 def indices(pattern = nil, options = {}) set_verbosity!(options) index_manager = Desi::IndexManager.new(options) if options[:delete] index_manager.delete!(pattern) elsif options[:close] index_manager.close!(pattern) elsif options[:empty] index_manager.empty!(pattern) else index_manager.list(pattern) end rescue Errno::ECONNREFUSED warn "Server #{options[:host]} appears to be unavailable!" exit 1 end
install(version_or_full_name = nil, options = {})
click to toggle source
# File lib/desi/runner.rb, line 48 def install(version_or_full_name = nil, options = {}) set_verbosity!(options) release = if version_or_full_name Desi::Upstream.new.find_release(version_or_full_name) else puts " * No release specified, will fetch latest." if options[:verbose] Desi::Upstream.new.latest_release end unless release warn "Could not find release '#{version_or_full_name}'" exit 1 end if Desi::LocalInstall.new.releases.any? {|r| r == release } puts " * release #{release.version} seems to be already installed" if options[:verbose] return end puts " * fetching release #{release}" if options[:verbose] package = Desi::Downloader.new(options).download!(release) puts " * #{release} installed" if Desi::Installer.new(package).install! && options[:verbose] end
list(options = {})
click to toggle source
# File lib/desi/runner.rb, line 21 def list(options = {}) set_verbosity!(options) puts "Local ES installs in #{Desi.configuration.directory} (current one is tagged with '*'):" if options[:verbose] Desi::LocalInstall.new.releases.sort.reverse.each do |v| puts v end end
releases(options = {})
click to toggle source
# File lib/desi/runner.rb, line 32 def releases(options = {}) set_verbosity!(options) limit = options[:limit] releases = Desi::Upstream.new.releases.each_with_index. take_while {|rel, i| i < limit || limit == 0 }.map(&:first) if options[:verbose] puts "Here are #{limit == 0 ? 'all the' : "the #{limit} latest"} releases" releases.each {|rel| puts " - #{rel.name}" } else releases end end
restart(options = {})
click to toggle source
# File lib/desi/runner.rb, line 105 def restart(options = {}) set_verbosity!(options) Desi::ProcessManager.new(options).restart end
start(options = {})
click to toggle source
# File lib/desi/runner.rb, line 97 def start(options = {}) set_verbosity!(options) Desi::ProcessManager.new(options).start end
status(options = {})
click to toggle source
# File lib/desi/runner.rb, line 120 def status(options = {}) set_verbosity!(options) Desi::ProcessManager.new(options).status end
stop(options = {})
click to toggle source
# File lib/desi/runner.rb, line 112 def stop(options = {}) set_verbosity!(options) Desi::ProcessManager.new(options).stop end
tail()
click to toggle source
# File lib/desi/runner.rb, line 151 def tail Desi::ProcessManager.new.show_tail end
version()
click to toggle source
# File lib/desi/runner.rb, line 156 def version puts Desi::VERSION end
Private Instance Methods
set_verbosity!(opts)
click to toggle source
# File lib/desi/runner.rb, line 162 def set_verbosity!(opts) opts[:verbose] ||= opts.delete(:quiet) end