Class: Desi::Runner
- Inherits:
-
Boson::Runner
- Object
- Boson::Runner
- Desi::Runner
- Defined in:
- lib/desi/runner.rb
Class Method Summary collapse
Instance Method Summary collapse
- #current(version = nil, options = {}) ⇒ Object
- #indices(pattern = nil, options = {}) ⇒ Object
- #install(version_or_full_name = nil, options = {}) ⇒ Object
- #list(options = {}) ⇒ Object
- #releases(options = {}) ⇒ Object
- #restart(options = {}) ⇒ Object
- #start(options = {}) ⇒ Object
- #status(options = {}) ⇒ Object
- #stop(options = {}) ⇒ Object
- #tail ⇒ Object
- #version ⇒ Object
Class Method Details
.start_options ⇒ Object
14 15 16 17 |
# File 'lib/desi/runner.rb', line 14 def self. 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 ⇒ Object
9 10 11 12 |
# 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 |
Instance Method Details
#current(version = nil, options = {}) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/desi/runner.rb', line 76 def current(version = nil, = {}) set_verbosity!() 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 [:verbose] else puts local_install.current_release end end |
#indices(pattern = nil, options = {}) ⇒ Object
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/desi/runner.rb', line 131 def indices(pattern = nil, = {}) set_verbosity!() index_manager = Desi::IndexManager.new() if [:delete] index_manager.delete!(pattern) elsif [:close] index_manager.close!(pattern) elsif [:empty] index_manager.empty!(pattern) else index_manager.list(pattern) end rescue Errno::ECONNREFUSED warn "Server #{[:host]} appears to be unavailable!" exit 1 end |
#install(version_or_full_name = nil, options = {}) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/desi/runner.rb', line 48 def install(version_or_full_name = nil, = {}) set_verbosity!() release = if version_or_full_name Desi::Upstream.new.find_release(version_or_full_name) else puts " * No release specified, will fetch latest." if [: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 [:verbose] return end puts " * fetching release #{release}" if [:verbose] package = Desi::Downloader.new().download!(release) puts " * #{release} installed" if Desi::Installer.new(package).install! && [:verbose] end |
#list(options = {}) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/desi/runner.rb', line 21 def list( = {}) set_verbosity!() puts "Local ES installs in #{Desi.configuration.directory} (current one is tagged with '*'):" if [:verbose] Desi::LocalInstall.new.releases.sort.reverse.each do |v| puts v end end |
#releases(options = {}) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/desi/runner.rb', line 32 def releases( = {}) set_verbosity!() limit = [:limit] releases = Desi::Upstream.new.releases.each_with_index. take_while {|rel, i| i < limit || limit == 0 }.map(&:first) if [:verbose] puts "Here are #{limit == 0 ? 'all the' : "the #{limit} latest"} releases" releases.each {|rel| puts " - #{rel.name}" } else releases end end |
#restart(options = {}) ⇒ Object
105 106 107 108 |
# File 'lib/desi/runner.rb', line 105 def restart( = {}) set_verbosity!() Desi::ProcessManager.new().restart end |
#start(options = {}) ⇒ Object
97 98 99 100 |
# File 'lib/desi/runner.rb', line 97 def start( = {}) set_verbosity!() Desi::ProcessManager.new().start end |
#status(options = {}) ⇒ Object
120 121 122 123 |
# File 'lib/desi/runner.rb', line 120 def status( = {}) set_verbosity!() Desi::ProcessManager.new().status end |
#stop(options = {}) ⇒ Object
112 113 114 115 |
# File 'lib/desi/runner.rb', line 112 def stop( = {}) set_verbosity!() Desi::ProcessManager.new().stop end |
#tail ⇒ Object
151 152 153 |
# File 'lib/desi/runner.rb', line 151 def tail Desi::ProcessManager.new.show_tail end |