concourse-github-status 0.1.1 → 0.2.0

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: fcf62ba2ec5d34d746b056e0e81a377fc00ea42a
4
- data.tar.gz: da3a983017e2d160cfe4d206e0c23ab5343f3a6f
3
+ metadata.gz: 671d1ebaa2e944863686904025ef7252c39b5d0c
4
+ data.tar.gz: e8c349a3be0ebf7e42a3406ed2d0409024871d74
5
5
  SHA512:
6
- metadata.gz: df02495f016d55243ab8b7cc614f6dedc3ec1cab62cb958cdaadbf90c27df1b4a1023c23570ced3d62e690b0368e16b8c0218bef2777d078f8fe4261ae11c1a1
7
- data.tar.gz: dfa93c73f9159ed4afa3afb3af972e5d023003dca134a880ebaa9f36c10b732c1590fee98c8458ce762a614a7b6da13c3d56e95b094a37b318e7bc3896460cb2
6
+ metadata.gz: e936d42a8ae1c7620909a0f52bdde2ba6e9830e273551b7391917e277f4ab407db1722307e088f7d912acdf0e3206f6c87b0e73aced85993c860a3ba6805ca3f
7
+ data.tar.gz: 553996668282beb56a416fddf488560facc85de32ece5ad1be43883094f7c2ff04a5d5ec0c9cf962c377b06c4dee5f55c6ba1d39b903c56e02c550115718d26b
data/bin/out CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require_relative '../lib/github-status/out'
3
+ require 'github-status/out'
4
4
 
5
5
  status = GitHubStatus::Out.new
6
6
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |gem|
2
2
  gem.name = 'concourse-github-status'
3
- gem.version = '0.1.1'
3
+ gem.version = '0.2.0'
4
4
  gem.authors = ['Chris Olstrom']
5
5
  gem.license = 'Apache-2.0'
6
6
  gem.summary = 'GitHub Status resource for Concourse'
@@ -0,0 +1,10 @@
1
+ require 'contracts'
2
+ require_relative 'support/source'
3
+
4
+ module GitHubStatus
5
+ module Core
6
+ include ::Contracts::Core
7
+ include ::Contracts::Builtin
8
+ include ::Support::Source
9
+ end
10
+ end
@@ -4,9 +4,14 @@ require 'concourse-fuselage'
4
4
  require 'contracts'
5
5
  require 'git'
6
6
  require 'octokit'
7
+ require_relative 'core'
8
+ require_relative 'support/params'
7
9
 
8
10
  module GitHubStatus
9
11
  class Out < Fuselage::Out
12
+ include Core
13
+ include Support::Params
14
+
10
15
  Contract None => Sawyer::Resource
11
16
  def update!
12
17
  github.create_status repo, sha, state, options
@@ -20,48 +25,6 @@ module GitHubStatus
20
25
  { 'context@sha' => "#{context}@#{sha}" }
21
26
  end
22
27
 
23
- Contract None => String
24
- def repo
25
- @repo ||= source.fetch 'repo'
26
- rescue KeyError
27
- STDERR.puts 'Source is missing repo'
28
- abort
29
- end
30
-
31
- Contract None => String
32
- def access_token
33
- @access_token ||= source.fetch 'access_token'
34
- rescue KeyError
35
- STDERR.puts 'Source is missing access_token'
36
- abort
37
- end
38
-
39
- Contract None => String
40
- def state
41
- @state ||= params.fetch 'state'
42
- rescue KeyError
43
- STDERR.puts 'Params is missing state'
44
- abort
45
- end
46
-
47
- Contract None => String
48
- def path
49
- @path ||= params.fetch 'path'
50
- rescue KeyError
51
- STDERR.puts 'Params is missing path'
52
- abort
53
- end
54
-
55
- Contract None => String
56
- def context
57
- @context ||= params.fetch 'context', 'concourse'
58
- end
59
-
60
- Contract None => String
61
- def description
62
- @description ||= params.fetch 'description', ''
63
- end
64
-
65
28
  Contract None => String
66
29
  def target_url
67
30
  @target_url ||= "#{atc_external_url}/builds/#{build_id}"
@@ -86,7 +49,7 @@ module GitHubStatus
86
49
 
87
50
  Contract None => String
88
51
  def sha
89
- @repo ||= git.revparse 'HEAD'
52
+ @sha ||= git.revparse 'HEAD'
90
53
  end
91
54
 
92
55
  Contract None => Octokit::Client
@@ -0,0 +1,36 @@
1
+ require 'contracts'
2
+
3
+ module GitHubStatus
4
+ module Support
5
+ module Params
6
+ include ::Contracts::Core
7
+ include ::Contracts::Builtin
8
+
9
+ Contract None => String
10
+ def path
11
+ @path ||= params.fetch 'path'
12
+ rescue KeyError
13
+ STDERR.puts 'Params is missing path'
14
+ abort
15
+ end
16
+
17
+ Contract None => String
18
+ def state
19
+ @state ||= params.fetch 'state'
20
+ rescue KeyError
21
+ STDERR.puts 'Params is missing state'
22
+ abort
23
+ end
24
+
25
+ Contract None => String
26
+ def context
27
+ @context ||= params.fetch 'context', 'concourse'
28
+ end
29
+
30
+ Contract None => String
31
+ def description
32
+ @description ||= params.fetch 'description', ''
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,26 @@
1
+ require 'contracts'
2
+
3
+ module GitHubStatus
4
+ module Support
5
+ module Source
6
+ include ::Contracts::Core
7
+ include ::Contracts::Builtin
8
+
9
+ Contract None => String
10
+ def access_token
11
+ @access_token ||= source.fetch 'access_token'
12
+ rescue KeyError
13
+ STDERR.puts 'Source is missing access_token'
14
+ abort
15
+ end
16
+
17
+ Contract None => String
18
+ def repo
19
+ @repo ||= source.fetch 'repo'
20
+ rescue KeyError
21
+ STDERR.puts 'Source is missing repo'
22
+ abort
23
+ end
24
+ end
25
+ end
26
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: concourse-github-status
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Olstrom
@@ -84,7 +84,10 @@ files:
84
84
  - README.org
85
85
  - bin/out
86
86
  - concourse-github-status.gemspec
87
+ - lib/github-status/core.rb
87
88
  - lib/github-status/out.rb
89
+ - lib/github-status/support/params.rb
90
+ - lib/github-status/support/source.rb
88
91
  homepage:
89
92
  licenses:
90
93
  - Apache-2.0