class Drone::Builds::Cli
Command-line interface configuration
Constants
- LIMIT
Private Class Methods
client()
click to toggle source
# File lib/drone/builds/cli.rb, line 83 def self.client server = HOME_ENV[:DRONE_SERVER] domain = HOME_ENV[:DRONE_DOMAIN] abort("You can't specify both DRONE_SERVER and DRONE_DOMAIN") if server && domain if server protocol, domain = server.split("://") else protocol, domain = 'https', domain end @client ||= Drone::Builds.new( protocol: protocol, domain: domain, token: HOME_ENV[:DRONE_TOKEN], owner: HOME_ENV[:DRONE_OWNER], name: HOME_ENV[:DRONE_NAME], job_id: HOME_ENV[:DRONE_JOB_ID], ) end
options_to_ref(options)
click to toggle source
# File lib/drone/builds/cli.rb, line 106 def self.options_to_ref(options) ref = nil ref = "refs/heads/#{options[:branch]}" if options[:branch] ref = "refs/pull/#{options[:pull]}/head" if options[:pull] ref end
parser()
click to toggle source
# File lib/drone/builds/cli.rb, line 79 def self.parser @parser ||= Drone::Builds::Parser.new(client) end
Public Instance Methods
kill(build_number = nil)
click to toggle source
# File lib/drone/builds/cli.rb, line 68 def kill(build_number = nil) puts self.class.client.kill(build_number) end
list()
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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]&.[]('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
version()
click to toggle source
# File lib/drone/builds/cli.rb, line 73 def version puts Drone::Builds::VERSION end