Class: Drone::Builds::Cli

Inherits:
Thor
  • Object
show all
Defined in:
lib/drone/builds/cli.rb

Overview

Command-line interface configuration

Constant Summary collapse

LIMIT =
Drone::Builds::DEFAULT_LIMIT

Instance Method Summary collapse

Instance Method Details

#kill(build_number = nil) ⇒ Object



68
69
70
# File 'lib/drone/builds/cli.rb', line 68

def kill(build_number = nil)
  puts self.class.client.kill(build_number)
end

#listObject



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/drone/builds/cli.rb', line 22

def list
  ref = self.class.options_to_ref(options)

  builds = self.class.parser.parse_builds(self.class.client.list(
    limit: options[:limit],
    ref: ref,
    status: options[:status]
  ))

  puts self.class.parser.table(builds, %i(number status author ref message))
end

#restart(build_number = nil) ⇒ Object



63
64
65
# File 'lib/drone/builds/cli.rb', line 63

def restart(build_number = nil)
  puts self.class.client.restart(build_number)
end

#show(build_number = nil) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/drone/builds/cli.rb', line 41

def show(build_number = nil)
  ref = self.class.options_to_ref(options)

  if build_number.to_i.to_s != build_number
    build_number = self.class.client.list(
      limit: options[:last]&.abs,
      ref: ref,
      status: options[:status]
    )[0]&.[]('build_number')
  end

  abort "No build found for options: #{options}" unless build_number

  self.class.client.show(
    build_number,
    filter: options[:filter],
    context: options[:context]) do |line|
    puts line
  end
end

#versionObject



73
74
75
# File 'lib/drone/builds/cli.rb', line 73

def version
  puts Drone::Builds::VERSION
end