capistrano-syntax-checking 0.1.1 → 0.1.2
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.
- data/README.markdown +31 -5
- data/VERSION +1 -1
- data/lib/capistrano/ext/syntax_checking/erb.rb +30 -26
- data/lib/capistrano/recipes/syntax_checking.rb +1 -0
- metadata +4 -4
data/README.markdown
CHANGED
@@ -11,8 +11,8 @@ Install via gems:
|
|
11
11
|
|
12
12
|
gem install capistrano-syntax-checking
|
13
13
|
|
14
|
-
Usage with Rails
|
15
|
-
|
14
|
+
Usage with Rails and Capistrano's standard Rails recipe
|
15
|
+
-------------------------------------------------------
|
16
16
|
|
17
17
|
To use with a Rails application with sensible default, put the following at the
|
18
18
|
top of your `Capfile`:
|
@@ -29,11 +29,37 @@ To invoke only certain checks, such as only Ruby and ERB:
|
|
29
29
|
before 'deploy:update', "check_syntax:ruby"
|
30
30
|
before 'deploy:update', "check_syntax:erb"
|
31
31
|
|
32
|
-
|
33
|
-
|
32
|
+
Using without Capistrano's standard Rails recipe, or with non-Rails apps
|
33
|
+
------------------------------------------------------------------------
|
34
|
+
|
35
|
+
If you are not using the Capistrano's built-in Rails support, start the same way:
|
36
|
+
|
37
|
+
require 'capistrano/recipes/syntax_checking'
|
38
|
+
|
39
|
+
Then override all the paths to match your application exactly:
|
40
|
+
|
41
|
+
set :syntax_check_paths,
|
42
|
+
:ruby => ["lib/ruby"] # These are just examples
|
43
|
+
:erb => ["lib/erb"],
|
44
|
+
:javascript => ["public/js"]
|
45
|
+
|
46
|
+
Then make sure the syntax checks are invoked before your deploy task. If your
|
47
|
+
deploy task is named "push", then:
|
48
|
+
|
49
|
+
desc "Full deploy ahead!"
|
50
|
+
task :push do
|
51
|
+
# ... your stuff here ...
|
52
|
+
end
|
53
|
+
before :push, :check_syntax
|
54
|
+
|
55
|
+
Refer to Capistrano's documentation on how to otherwise structure your
|
56
|
+
deployment file.
|
57
|
+
|
58
|
+
Using the API directly
|
59
|
+
----------------------
|
34
60
|
|
35
61
|
To use with any other kind of application, you will want to use your own tasks
|
36
|
-
that
|
62
|
+
that provide custom options to the syntax-checker. Start by putting this at the
|
37
63
|
top of your `Capfile`:
|
38
64
|
|
39
65
|
require 'capistrano/ext/syntax_checking'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -19,37 +19,41 @@ module Capistrano
|
|
19
19
|
file_names = [paths].flatten.compact.map { |path|
|
20
20
|
Dir.glob(File.join(path, "**", "*.{erb,rhtml}"))
|
21
21
|
}.flatten
|
22
|
-
file_names.
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
$stderr = File.open("/dev/null", 'w')
|
30
|
-
template = ERB.new(File.read(file_name), nil, "-")
|
22
|
+
if file_names.any?
|
23
|
+
file_names.each_with_index do |file_name, index|
|
24
|
+
if verbose
|
25
|
+
$stdout.write("\r#{index} files checked (ctrl-C to skip)")
|
26
|
+
$stdout.flush
|
27
|
+
end
|
28
|
+
old_stderr = $stderr
|
31
29
|
begin
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
30
|
+
$stderr = File.open("/dev/null", 'w')
|
31
|
+
template = ERB.new(File.read(file_name), nil, "-")
|
32
|
+
begin
|
33
|
+
template.result
|
34
|
+
rescue SyntaxError => e
|
35
|
+
old_stderr << "\rSyntax error in ERB template #{file_name}: #{e}\n"
|
36
|
+
old_stderr.flush
|
37
|
+
errors = true
|
38
|
+
rescue Exception
|
39
|
+
# Ignore
|
40
|
+
end
|
41
|
+
ensure
|
42
|
+
$stderr = old_stderr
|
39
43
|
end
|
40
|
-
ensure
|
41
|
-
$stderr = old_stderr
|
42
44
|
end
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
45
|
+
if errors
|
46
|
+
if verbose
|
47
|
+
print "\r"
|
48
|
+
end
|
49
|
+
abort("One or more syntax errors found. Fix and try again.")
|
50
|
+
else
|
51
|
+
if verbose
|
52
|
+
puts ", no problems found."
|
53
|
+
end
|
47
54
|
end
|
48
|
-
abort("One or more syntax errors found. Fix and try again.")
|
49
55
|
else
|
50
|
-
|
51
|
-
puts ", no problems found."
|
52
|
-
end
|
56
|
+
puts("No ERB files to check.")
|
53
57
|
end
|
54
58
|
rescue Interrupt
|
55
59
|
if verbose
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-syntax-checking
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alexander Staubo
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-08-
|
18
|
+
date: 2010-08-30 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|