pre-commit-php 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: