pre-commit-php 1.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 98dbaed796dda9675d1cad64ce7d2e8b8e501b7c
4
+ data.tar.gz: e7913a6d82c0777dd5cc837217cccb4d754575d3
5
+ SHA512:
6
+ metadata.gz: a7f911f757940782a6e605c2bd12d8b1ec3ae5d042459034fbb266f7b6fab272bf8bb0a395ddc10e39f188bb7fb6c693d71fbee4ecd873f0aaa0a1d2b8a138fd
7
+ data.tar.gz: 376fc10fd55a0c09dafeae9f38d8f6051e49020bf3d19ed14ab682681c6e9c51f798e659b32a01198b0724eaa713b73678cb7f01dab5f5db6c1b47ed7e332a63
@@ -0,0 +1,36 @@
1
+ PHP plugin for https://github.com/jish/pre-commit
2
+
3
+ [![Current version](https://badge.fury.io/rb/pre-commit-php.svg)](https://rubygems.org/gems/pre-commit-php)
4
+ [![Code Climate](https://img.shields.io/codeclimate/github/pre-commit-plugins/pre-commit-php.svg)](https://codeclimate.com/github/pre-commit-plugins/pre-commit-php)
5
+ [![Coverage Status](https://img.shields.io/coveralls/pre-commit-plugins/pre-commit-php/master.svg)](https://coveralls.io/r/pre-commit-plugins/pre-commit-php?branch=master)
6
+ [![Build status](https://travis-ci.org/pre-commit-plugins/pre-commit-php.svg?branch=master)](https://travis-ci.org/pre-commit-plugins/pre-commit-php)
7
+ [![Dependency Status](https://gemnasium.com/pre-commit-plugins/pre-commit-php.png)](https://gemnasium.com/pre-commit-plugins/pre-commit-php)
8
+ [![Documentation](https://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/gems/pre-commit-php/frames)
9
+
10
+ ## Installation
11
+
12
+ Install the plugin
13
+
14
+ $ gem install pre-commit-php
15
+
16
+
17
+ ### Enable as errors
18
+
19
+ Use the pre-commit command to enable the plugin
20
+
21
+ # In your git repo
22
+ $ pre-commit enable yaml checks php
23
+
24
+ This creates a `config/pre_commit.yml` configuratiuon file which will
25
+ inform `pre-commit` to use `pre-commit-php` plugin for this project.
26
+
27
+
28
+ ### Enable as warnings
29
+
30
+ Use the pre-commit command to enable the plugin
31
+
32
+ # In your git repo
33
+ $ pre-commit enable yaml warnings php
34
+
35
+
36
+ ## [Contributing](CONTRIBUTING.md)
@@ -0,0 +1,33 @@
1
+ require 'pre-commit/checks/plugin'
2
+
3
+ module PreCommit
4
+ module Checks
5
+ class Php < Plugin
6
+
7
+ def call(staged_files)
8
+ staged_files = staged_files.grep /\.(php|engine|theme|install|inc|module|test)$/
9
+ return if staged_files.empty?
10
+
11
+ errors = staged_files.map { |file| run_check(file) }.compact
12
+ return if errors.empty?
13
+
14
+ errors.join("\n")
15
+ end
16
+
17
+ def run_check(file)
18
+ # We force PHP to display errors otherwise they will likely end up in the
19
+ # error_log and not in stdout.
20
+ result = `php -d display_errors=1 -l #{file} 2>&1`
21
+ # Filter out the obvious note from PHP.
22
+ result = result.split($/).find_all {|line| line !~ /Errors/}.join($/)
23
+ # If PHP exited non-zero then there was a parse error.
24
+ result.strip unless $? == 0
25
+ end
26
+
27
+ def self.description
28
+ "Detects PHP errors."
29
+ end
30
+
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,6 @@
1
+ module PreCommit
2
+ module Php
3
+ VERSION = '1.0.0'
4
+ end
5
+ end
6
+
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pre-commit-php
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Berry
8
+ - Josh Lubaway
9
+ - Michal Papis
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2014-10-01 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: pre-commit
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: guard
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '2.0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '2.0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: guard-minitest
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '2.0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '2.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: minitest
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '4.0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '4.0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: minitest-reporters
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: rake
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '10.0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: '10.0'
99
+ description:
100
+ email:
101
+ executables: []
102
+ extensions: []
103
+ extra_rdoc_files:
104
+ - README.md
105
+ files:
106
+ - README.md
107
+ - lib/plugins/pre_commit/checks/php.rb
108
+ - lib/pre-commit/php/version.rb
109
+ homepage: http://github.com/pre-commit-plugins/pre-commit-php
110
+ licenses:
111
+ - Apache 2.0
112
+ metadata:
113
+ plugins/pre_commit/checks/php.rb: '1'
114
+ post_install_message:
115
+ rdoc_options: []
116
+ require_paths:
117
+ - lib
118
+ required_ruby_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ requirements: []
129
+ rubyforge_project:
130
+ rubygems_version: 2.4.1
131
+ signing_key:
132
+ specification_version: 4
133
+ summary: PHP plugin for jish/pre-commit
134
+ test_files: []
135
+ has_rdoc: