gitlab-system-hooks-receiver 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76e7944915619144c903a3f29e0d6a1bab449bf4
4
- data.tar.gz: 4e5280ca7fa70058f607b62edf8757a9dab5ae90
3
+ metadata.gz: 63b156fc442baae64bd840728ffd5679b5766bfc
4
+ data.tar.gz: d6278c9ce49d6196b084ee3cfd11238e58a39f6e
5
5
  SHA512:
6
- metadata.gz: 74436aef491ac6fe97258b4ab3bb653e310601aa9460a5944810eb73a4e04dfc187534ceec7ed9b5aca224e8337dbee73c05431718dc7e5795214680ff5a8823
7
- data.tar.gz: 0d8ec1119647cf9bf58f7f7d5cc9b951d3cf9170902edfa7df3aef3e6dbfb4c719e7fd1a426c3e195c49a7b3e456473d90bc499f8900f9a3646334ad3d2e06d5
6
+ metadata.gz: 6ef5034773b36db686e8133e7401905d728ec597d3198c3a5b89fe870edd80ec336d3ee86b51b144eb2bb235f10c4ce917753278df70066df70368e72b2f8a0f
7
+ data.tar.gz: 537d25bdee0833a87deb763aea21e46f6aefbcf07e0da2dbbbb3b7ce73fcdc0800feefcf869e8bb6b66d2e434330f796404f81d4cfc61fa0bc3c9e1161b510fb
data/.travis.yml CHANGED
@@ -1,8 +1,7 @@
1
1
  rvm:
2
- - 1.9.3
3
2
  - 2.0.0
4
- - 2.1.0
5
- gemfile: Gemfile.ci
3
+ - 2.1
4
+ - 2.2
6
5
  notifications:
7
6
  recipients:
8
7
  - commit@clear-code.com
data/Gemfile CHANGED
@@ -3,6 +3,3 @@ source "https://rubygems.org"
3
3
 
4
4
  # Specify your gem's dependencies in gemspec
5
5
  gemspec
6
-
7
- gem "racknga"
8
- gem "unicorn"
data/Rakefile CHANGED
@@ -14,15 +14,6 @@
14
14
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
15
 
16
16
  require "bundler/gem_helper"
17
-
18
- module Bundler
19
- class GemHelper
20
- def version_tag
21
- "#{version}"
22
- end
23
- end
24
- end
25
-
26
17
  require "bundler/gem_tasks"
27
18
 
28
19
  task :default => :test
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.summary = %q{Process GitLab System hooks.}
12
12
  spec.description = %q{Process GitLab System hooks.}
13
13
  spec.homepage = ""
14
- spec.license = "GPLv3 or later"
14
+ spec.license = "GPL-3.0+"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -19,8 +19,9 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_runtime_dependency "rack"
22
+ spec.add_runtime_dependency "github-web-hooks-receiver"
22
23
 
23
- spec.add_development_dependency "bundler", "~> 1.5"
24
+ spec.add_development_dependency "bundler"
24
25
  spec.add_development_dependency "rake"
25
26
  spec.add_development_dependency "test-unit"
26
27
  spec.add_development_dependency "test-unit-rr"
@@ -20,83 +20,12 @@ require "net/https"
20
20
  require "webrick/httpstatus"
21
21
  require "json"
22
22
 
23
- class GitLabSystemHooksReceiver
23
+ require "github-web-hooks-receiver/base"
24
24
 
25
- def initialize(options={})
26
- @options = symbolize_options(options)
27
- end
28
-
29
- def call(env)
30
- request = Rack::Request.new(env)
31
- response = Rack::Response.new
32
- process(request, response)
33
- response.to_a
34
- end
25
+ class GitLabSystemHooksReceiver < GithubWebHooksReceiver::Base
35
26
 
36
27
  private
37
28
 
38
- def production?
39
- ENV["RACK_ENV"] == "production"
40
- end
41
-
42
- def symbolize_options(options)
43
- symbolized_options = {}
44
- options.each do |key, value|
45
- symbolized_options[key.to_sym] = value
46
- end
47
- symbolized_options
48
- end
49
-
50
- KEYWORD_TO_HTTP_STATUS_CODE = {}
51
- WEBrick::HTTPStatus::StatusMessage.each do |code, message|
52
- KEYWORD_TO_HTTP_STATUS_CODE[message.downcase.gsub(/ +/, '_').intern] = code
53
- end
54
-
55
- def status(keyword)
56
- code = KEYWORD_TO_HTTP_STATUS_CODE[keyword]
57
- if code.nil?
58
- raise ArgumentError, "invalid status keyword: #{keyword.inspect}"
59
- end
60
- code
61
- end
62
-
63
- def set_error_response(response, status_keyword, message)
64
- response.status = status(status_keyword)
65
- response["Content-Type"] = "text/plain"
66
- response.write(message)
67
- end
68
-
69
- def process(request, response)
70
- unless request.post?
71
- set_error_response(response, :method_not_allowed, "must POST")
72
- return
73
- end
74
-
75
- payload = parse_payload(request, response)
76
- return if payload.nil?
77
- process_payload(request, response, payload)
78
- end
79
-
80
- def parse_payload(request, response)
81
- if request.content_type == "application/json"
82
- payload = request.body.read
83
- else
84
- payload = request["payload"]
85
- end
86
- if payload.nil?
87
- set_error_response(response, :bad_request, "payload is missing")
88
- return
89
- end
90
-
91
- begin
92
- JSON.parse(payload)
93
- rescue JSON::ParserError
94
- set_error_response(response, :bad_request,
95
- "invalid JSON format: <#{$!.message}>")
96
- nil
97
- end
98
- end
99
-
100
29
  def process_payload(request, response, payload)
101
30
  event_name = payload["event_name"]
102
31
  __send__("process_#{event_name}_event", request, response, payload)
@@ -1,4 +1,4 @@
1
1
  # -*- coding: us-ascii -*-
2
2
  class GitLabSystemHooksReceiver
3
- VERSION = "0.0.1"
3
+ VERSION = "0.1.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-system-hooks-receiver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenji Okimoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-14 00:00:00.000000000 Z
11
+ date: 2015-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -24,20 +24,34 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: github-web-hooks-receiver
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - "~>"
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
- version: '1.5'
47
+ version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - "~>"
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
- version: '1.5'
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -118,7 +132,7 @@ files:
118
132
  - test/test-utils.rb
119
133
  homepage: ''
120
134
  licenses:
121
- - GPLv3 or later
135
+ - GPL-3.0+
122
136
  metadata: {}
123
137
  post_install_message:
124
138
  rdoc_options: []
@@ -136,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
150
  version: '0'
137
151
  requirements: []
138
152
  rubyforge_project:
139
- rubygems_version: 2.2.0
153
+ rubygems_version: 2.4.5
140
154
  signing_key:
141
155
  specification_version: 4
142
156
  summary: Process GitLab System hooks.