pre-commit-gpg 0.9.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0d78cac13ba96d71517033242ed343b70c8484a4
4
+ data.tar.gz: 403c5920515f1b9aeefc05c3f2e6e52fe50cb73d
5
+ SHA512:
6
+ metadata.gz: 21f8a0f9ad6310477d40db648a8b25125c42085b4129fc41309e1b5f3d308b9a7a77430dcb07df605c39cb0aa33a0daa7b8dc8fac331fa70a953bdc7499a631a
7
+ data.tar.gz: c8faf8791722bd584bdb03191714108d3384dc4157ff9204532808aeac4ede05ab1e9cce28ead3f5c51e61b6c3686c05b5a80d56e4f6bc24980c609156a6efcf
data/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # GPG verification for pre-commit gem
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/pre-commit-gpg.png)](https://rubygems.org/gems/pre-commit-gpg)
4
+ [![Build Status](https://secure.travis-ci.org/pre-commit-plugins/pre-commit-gpg.png?branch=master)](https://travis-ci.org/pre-commit-plugins/pre-commit-gpg)
5
+ [![Dependency Status](https://gemnasium.com/pre-commit-plugins/pre-commit-gpg.png)](https://gemnasium.com/pre-commit-plugins/pre-commit-gpg)
6
+ [![Code Climate](https://codeclimate.com/github/pre-commit-plugins/pre-commit-gpg.png)](https://codeclimate.com/github/pre-commit-plugins/pre-commit-gpg)
7
+ [![Coverage Status](https://img.shields.io/coveralls/pre-commit-plugins/pre-commit-gpg.svg)](https://coveralls.io/r/pre-commit-plugins/pre-commit-gpg?branch=master)
8
+ [![Inline docs](http://inch-ci.org/github/pre-commit-plugins/pre-commit-gpg.png)](http://inch-ci.org/github/pre-commit-plugins/pre-commit-gpg)
9
+ [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/pre-commit-plugins/pre-commit-gpg/master/frames)
10
+ [![Github Code](http://img.shields.io/badge/github-code-blue.svg)](https://github.com/pre-commit-plugins/pre-commit-gpg)
@@ -0,0 +1,59 @@
1
+ require 'pre-commit/checks/shell'
2
+
3
+ module PreCommit
4
+ module Checks
5
+ class Gpg < Shell
6
+
7
+ def self.description
8
+ "Finds GPG verification problems"
9
+ end
10
+
11
+ def call(staged_files)
12
+ signature_files = staged_files.map { |file| get_signature(file) }.compact.uniq
13
+ return if signature_files.empty?
14
+
15
+ errors = signature_files.map { |file| run_check(file) }.compact
16
+ return if errors.empty?
17
+
18
+ errors.join("\n")
19
+ end
20
+
21
+ private
22
+
23
+ def get_signature(file)
24
+ if
25
+ File.exist?(file + ".asc")
26
+ then
27
+ file + ".asc"
28
+ elsif
29
+ File.extname(file) == ".asc" &&
30
+ File.exist?(file.sub(/.asc$/, ""))
31
+ then
32
+ file
33
+ end
34
+ end
35
+
36
+ def run_check(file)
37
+ if
38
+ gpg_program
39
+ then
40
+ execute(gpg_program, "--verify", file)
41
+ else
42
+ warn "No GPG program found, skipping verification of #{file}"
43
+ end
44
+ end
45
+
46
+ def gpg_program
47
+ @gpg_program ||= find_binary(:gpg2) || find_binary(:gpg)
48
+ end
49
+
50
+ def find_binary(binary)
51
+ result = execute_raw(
52
+ "which #{binary}",
53
+ :success_status => false
54
+ ) and result.strip
55
+ end
56
+
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,5 @@
1
+ module PreCommit
2
+ module Gpg
3
+ VERSION = "0.9.0"
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pre-commit-gpg
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ platform: ruby
6
+ authors:
7
+ - Michal Papis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-11-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: pre-commit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: guard
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: guard-minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '4.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '4.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest-reporters
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: mocha
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '1.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '1.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rake
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '10.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '10.0'
111
+ description:
112
+ email:
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files:
116
+ - README.md
117
+ files:
118
+ - README.md
119
+ - lib/plugins/pre_commit/checks/gpg.rb
120
+ - lib/pre-commit/gpg/version.rb
121
+ homepage: http://github.com/pre-commit-plugins/pre-commit-gpg
122
+ licenses:
123
+ - Apache 2.0
124
+ metadata: {}
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubyforge_project:
141
+ rubygems_version: 2.4.2
142
+ signing_key:
143
+ specification_version: 4
144
+ summary: GPG verification plugin for jish/pre-commit
145
+ test_files: []