magic-commenter 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- magic-commenter (0.0.1)
4
+ magic-commenter (0.0.3)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -8,25 +8,33 @@ module Magic
8
8
  include Open3
9
9
 
10
10
  def initialize(files)
11
- for file in files
12
- errors = []
13
- popen3("ruby -c #{file}") do |stdin, stdout, stderr|
14
- errors = stderr.read.split("\n")
15
- end
11
+ files.sort!
12
+
13
+ threads = []
14
+
15
+ 2.times do |i|
16
+ threads << Thread.new do
17
+ while(file = files.shift)
18
+ puts "Thread-#{i}: checking #{file}"
19
+ firstline = File.readlines(file).first
20
+ if firstline && !firstline.include?("encoding: utf-8")
21
+ stdin, stdout, stderr = popen3("ruby -c #{file}")
22
+ errors = stderr.read
16
23
 
17
- if errors.any?{|error| error.include?("invalid multibyte char")}
18
- puts ">> Fixing #{file}"
19
- add_magic_comment(file)
24
+ if errors && errors.include?("invalid multibyte char")
25
+ puts ">> Fixing #{file}"
26
+ contents = "# -*- encoding: utf-8 -*-\n" + File.read(file)
27
+ File.open(file,"w") do |f|
28
+ f.write contents
29
+ f.close
30
+ end
31
+ end
32
+ end
33
+ end
20
34
  end
21
35
  end
22
- end
23
36
 
24
- def add_magic_comment(file)
25
- contents = "# -*- encoding: utf-8 -*-\n" + File.read(file)
26
- File.open(file,"w") do |f|
27
- f.write contents
28
- f.close
29
- end
37
+ threads.each(&:join)
30
38
  end
31
39
 
32
40
  end
@@ -1,5 +1,5 @@
1
1
  module Magic
2
2
  class Commenter
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,12 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magic-commenter
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 1
9
- version: 0.0.1
4
+ version: 0.0.3
10
5
  platform: ruby
11
6
  authors:
12
7
  - Albert llop
@@ -19,19 +14,14 @@ default_executable:
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
21
16
  name: bundler
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
25
20
  requirements:
26
21
  - - ">="
27
22
  - !ruby/object:Gem::Version
28
- segments:
29
- - 1
30
- - 0
31
- - 0
32
23
  version: 1.0.0
33
- type: :development
34
- version_requirements: *id001
24
+ version:
35
25
  description:
36
26
  email:
37
27
  - mrsimo@gmail.com
@@ -61,27 +51,21 @@ rdoc_options: []
61
51
  require_paths:
62
52
  - lib
63
53
  required_ruby_version: !ruby/object:Gem::Requirement
64
- none: false
65
54
  requirements:
66
55
  - - ">="
67
56
  - !ruby/object:Gem::Version
68
- segments:
69
- - 0
70
57
  version: "0"
58
+ version:
71
59
  required_rubygems_version: !ruby/object:Gem::Requirement
72
- none: false
73
60
  requirements:
74
61
  - - ">="
75
62
  - !ruby/object:Gem::Version
76
- segments:
77
- - 1
78
- - 3
79
- - 6
80
63
  version: 1.3.6
64
+ version:
81
65
  requirements: []
82
66
 
83
67
  rubyforge_project: magic-commenter
84
- rubygems_version: 1.3.7
68
+ rubygems_version: 1.3.5
85
69
  signing_key:
86
70
  specification_version: 3
87
71
  summary: Add magic comments to your ruby files