class Tmuxinator::BOSH::Console::DirectorGateway

Gateway to the BOSH director

Public Class Methods

new(report=`bosh instances`) click to toggle source
# File lib/tmuxinator/bosh/console/director_gateway.rb, line 11
def initialize(report=`bosh instances`)
  @report = report
end

Public Instance Methods

instances(filter={}) click to toggle source
# File lib/tmuxinator/bosh/console/director_gateway.rb, line 15
def instances(filter={})
  @report.lines.map { |line|
    md = line.match(%r{\| (?<job>\w+)\/(?<index>\d+)})
    Job.new(md['job'], md['index']) if md
  }.compact.tap do |result|
    result.select! { |job| filter[:include].match(job.name) } if filter[:include]
    result.reject! { |job| filter[:exclude].match(job.name) } if filter[:exclude]
  end
end