drone-builds 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3dc8566a96dc4b85497b5796023fb0346e909a8e
4
- data.tar.gz: 2c088fd00f33c43c6dae547f2838d8c973e70874
3
+ metadata.gz: ebc202d5e431628b68d6b18139e09ab8017e3611
4
+ data.tar.gz: 14748c8228a690c14644404a517737845886f633
5
5
  SHA512:
6
- metadata.gz: b123a6b8cd76bd821c7a2158710f02ea008d42cd6724f4686df28ec4b4522f01eed743a6709dc1a45d6d05a7aac95964cf7e347f85151468344b42fdce54c84d
7
- data.tar.gz: 12cec74ae0d997d74c51d35440d5b836346fb0d10a369d16d0690cc712e44493fdecbcdc4c4a286cc49d0ce9e1e2c21da36eaa21a2904d6fab88b71dfadeecca
6
+ metadata.gz: f6ad38567302652d0e020b9de47da175ff04003d0413be8438004d5a696abab90674e54a7efb1ccff6c94660d3d494d96329e9e483ee2557835978b50adf3ced
7
+ data.tar.gz: 0eed21a1d304959e6a9f55fa27d432f715ee5b87fbcc3db67754b913afc0d7c9ee1f9bae85aef10682e6e257d16ff1ef092be8e80a15ef0a4910b24ae0e786b7
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "drone/builds"
3
+ require 'bundler/setup'
4
+ require 'drone/builds'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "drone/builds"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start(__FILE__)
data/drone-builds.gemspec CHANGED
@@ -5,29 +5,29 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'drone/builds/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = "drone-builds"
8
+ spec.name = 'drone-builds'
9
9
  spec.version = Drone::Builds::VERSION
10
- spec.authors = ["Dorian Marié"]
11
- spec.email = ["dorian@doma.io"]
10
+ spec.authors = ['Dorian Marié']
11
+ spec.email = ['dorian@doma.io']
12
12
 
13
- spec.summary = %q{Command line interface to Drone}
14
- spec.description = %q{List builds, print realtime output, view previous outputs, filter outputs}
15
- spec.homepage = "https://github.com/Dorian/drone-builds"
16
- spec.license = "MIT"
13
+ spec.summary = 'Command line interface to Drone'
14
+ spec.description = 'List builds, print realtime output, view previous outputs, filter outputs'
15
+ spec.homepage = 'https://github.com/Dorian/drone-builds'
16
+ spec.license = 'MIT'
17
17
 
18
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
19
  f.match(%r{^(test|spec|features)/})
20
20
  end
21
- spec.bindir = "exe"
21
+ spec.bindir = 'exe'
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
- spec.require_paths = ["lib"]
23
+ spec.require_paths = ['lib']
24
24
 
25
- spec.add_runtime_dependency "colorize", "~> 0"
26
- spec.add_runtime_dependency "home-dotenv", "~> 0"
27
- spec.add_runtime_dependency "json", "~> 2"
28
- spec.add_runtime_dependency "terminal-table", "~> 1"
29
- spec.add_runtime_dependency "thor", "~> 0"
30
- spec.add_development_dependency "bundler", "~> 1"
31
- spec.add_development_dependency "rake", "~> 12"
32
- spec.add_development_dependency "rspec", "~> 3"
25
+ spec.add_runtime_dependency 'colorize', '~> 0'
26
+ spec.add_runtime_dependency 'home-dotenv', '~> 0'
27
+ spec.add_runtime_dependency 'json', '~> 2'
28
+ spec.add_runtime_dependency 'terminal-table', '~> 1'
29
+ spec.add_runtime_dependency 'thor', '~> 0'
30
+ spec.add_development_dependency 'bundler', '~> 1'
31
+ spec.add_development_dependency 'rake', '~> 12'
32
+ spec.add_development_dependency 'rspec', '~> 3'
33
33
  end
data/exe/drone-builds CHANGED
@@ -4,4 +4,3 @@ require 'drone/builds'
4
4
  require 'drone/builds/cli'
5
5
 
6
6
  Drone::Builds::Cli.start
7
-
data/lib/drone/builds.rb CHANGED
@@ -1,4 +1,4 @@
1
- require "drone/builds/version"
1
+ require 'drone/builds/version'
2
2
  require 'open-uri'
3
3
  require 'net/http'
4
4
  require 'json'
@@ -11,7 +11,6 @@ module Drone
11
11
  DEFAULT_JOB_ID = 1
12
12
 
13
13
  def initialize(token:, domain:, owner:, name:, job_id: nil, protocol: nil)
14
- @protocol
15
14
  @token = token
16
15
  @domain = domain
17
16
  @owner = owner
@@ -60,13 +59,9 @@ module Drone
60
59
  uri = URI(full_url(url))
61
60
 
62
61
  Net::HTTP.start(uri.host, uri.port) do |http|
63
- request = Net::HTTP::Get.new uri
64
-
65
- http.request request do |response|
62
+ http.request(Net::HTTP::Get.new(uri)) do |response|
66
63
  response.read_body do |chunk|
67
- lines = chunk.lines.grep(/^data:/).map { |l| l.gsub(/^data:/, '') }
68
- output = lines.map(&:strip).compact.join("\n")
69
- yield output
64
+ yield clean_stream_data(chunk)
70
65
  end
71
66
  end
72
67
  end
@@ -80,4 +75,9 @@ module Drone
80
75
  open(full_url(url)).read
81
76
  end
82
77
  end
78
+
79
+ def clean_stream_data(data)
80
+ lines = data.lines.grep(/^data:/).map { |l| l.gsub(/^data:/, '') }
81
+ lines.map(&:strip).compact.join("\n")
82
+ end
83
83
  end
@@ -2,35 +2,36 @@ require 'home-dotenv/load'
2
2
  require 'thor'
3
3
  require 'drone/builds/parser'
4
4
 
5
+ # Command-line interface configuration
5
6
  class Drone::Builds::Cli < Thor
6
- package_name "drone-builds"
7
+ package_name 'drone-builds'
7
8
 
8
- map "l" => :list
9
- map "s" => :show
9
+ map 'l' => :list
10
+ map 's' => :show
10
11
 
11
- desc "list", "list last builds"
12
+ desc 'list', 'list last builds'
12
13
  method_option :limit,
13
- type: :numeric,
14
- default: Drone::Builds::DEFAULT_LIMIT,
15
- aliases: "-l",
16
- desc: "number of builds shown"
14
+ type: :numeric,
15
+ default: Drone::Builds::DEFAULT_LIMIT,
16
+ aliases: '-l',
17
+ desc: 'number of builds shown'
17
18
  def list
18
19
  puts self.class.parser.table(
19
20
  self.class.parser.parse_builds(self.class.client.list(limit: options[:limit])),
20
- %i(id status ref message)
21
+ %i[id status ref message]
21
22
  )
22
23
  end
23
24
 
24
- desc "show", "show a build"
25
- method_option :filter, type: :string, aliases: "-f", desc: "filter builds output lines"
26
- method_option :last, type: :numeric, default: 1, aliases: "-l", desc: "show nth last build"
25
+ desc 'show', 'show a build'
26
+ method_option :filter, type: :string, aliases: '-f', desc: 'filter builds output lines'
27
+ method_option :last, type: :numeric, default: 1, aliases: '-l', desc: 'show nth last build'
27
28
  def show(id = nil)
28
- if id.nil? && options[:last]
29
+ if id.nil? || id == 'l' || id == 'last'
29
30
  last = self.class.client.list(limit: options[:last])[0]
30
- id = last["id"] if last
31
+ id = last['id'] if last
31
32
  end
32
33
 
33
- abort "id is required" if id.to_s.empty?
34
+ abort 'id is required' if id.to_s.empty?
34
35
 
35
36
  self.class.client.show(id, filter: options[:filter]) { |line| puts line }
36
37
  end
@@ -10,7 +10,7 @@ class Drone::Builds::Parser
10
10
  failure: :red,
11
11
  killed: :white,
12
12
  pending: :yellow
13
- }
13
+ }.freeze
14
14
 
15
15
  def initialize(client)
16
16
  @client = client
@@ -22,10 +22,10 @@ class Drone::Builds::Parser
22
22
 
23
23
  def parse_build(build)
24
24
  {
25
- id: parse_id(build["id"]),
26
- status: parse_status(build["status"]),
27
- ref: parse_ref(build["ref"]),
28
- message: parse_message(build["message"])
25
+ id: parse_id(build['id']),
26
+ status: parse_status(build['status']),
27
+ ref: parse_ref(build['ref']),
28
+ message: parse_message(build['message'])
29
29
  }
30
30
  end
31
31
 
@@ -38,11 +38,11 @@ class Drone::Builds::Parser
38
38
  end
39
39
 
40
40
  def parse_ref(ref)
41
- ref.gsub("refs/heads/", "").gsub("/head", "").gsub("refs/pull/", '#')
41
+ ref.gsub('refs/heads/', '').gsub('/head', '').gsub('refs/pull/', '#')
42
42
  end
43
43
 
44
44
  def parse_message(message)
45
- message.to_s.lines.first.to_s.gsub("of github.com:#{client.owner}/#{client.name}", "")[0..50]
45
+ message.to_s.lines.first.to_s.gsub("of github.com:#{client.owner}/#{client.name}", '')[0..50]
46
46
  end
47
47
 
48
48
  def table(data, fields)
@@ -1,5 +1,5 @@
1
1
  module Drone
2
2
  class Builds
3
- VERSION = "0.2.2"
3
+ VERSION = '0.2.3'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drone-builds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié