magic_frozen_string_literal 0.0.5 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +5 -1
- data/lib/add_magic_comment.rb +11 -10
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80af2fba8814ca3b424f9ce5e49db53f539a15a3
|
4
|
+
data.tar.gz: d38df55bdcb2879fbaf57d566d9cdb4c2f44d4ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 224f8a43b2a67b80a79601f1ed7fa3ad8dafe72e0eac831e0098b8e4edd1a02a1ea08839d5e5d02a6175c1b15110a74ec62a12cd519ddc667ec0e7f8acacab38
|
7
|
+
data.tar.gz: 5c61397c08ad8b02280b64e5e35728e06e02da0c4f092b4ce337b468ed83b4ac4070e911fe9dec2890ed7330646ee988ca320129861f6557e228b5cc16ca528d
|
data/README.rdoc
CHANGED
@@ -17,10 +17,14 @@ you can call the tool from the console with default parameters like so
|
|
17
17
|
|
18
18
|
magic_frozen_string_literal
|
19
19
|
|
20
|
-
this will prepend every ".rb" file in the working directory (recursively)
|
20
|
+
this will prepend every ".rb", ".rake", ".rabl", ".jbuilder", ".haml", ".erb" file in the working directory (recursively)
|
21
|
+
with the following magic comment followed by a blank line:
|
21
22
|
|
22
23
|
# frozen_string_literal: true
|
23
24
|
|
25
|
+
(".haml" files will have a "-" prefix before comment and no blank line after.
|
26
|
+
".erb" files will have the comment inside <% ... %> and no blank line after.)
|
27
|
+
|
24
28
|
Notes:
|
25
29
|
- existing frozen_string_literal magic comments are replaced
|
26
30
|
- the rest of the file remains unchanged
|
data/lib/add_magic_comment.rb
CHANGED
@@ -3,17 +3,18 @@
|
|
3
3
|
# A simple library to prepend magic comments to all Ruby files in a given folder
|
4
4
|
|
5
5
|
module AddMagicComment
|
6
|
-
MAGIC_COMMENT_PREFIX = "frozen_string_literal"
|
6
|
+
MAGIC_COMMENT_PREFIX = "frozen_string_literal".freeze
|
7
7
|
MAGIC_COMMENT_PATTERN = /^(-|(<%))?#\s*#{MAGIC_COMMENT_PREFIX}\s*(%>)?/
|
8
|
-
MAGIC_COMMENT = "#{MAGIC_COMMENT_PREFIX}: true"
|
8
|
+
MAGIC_COMMENT = "#{MAGIC_COMMENT_PREFIX}: true".freeze
|
9
|
+
EMPTY_LINE_PATTERN = /^\s$/
|
9
10
|
|
10
11
|
EXTENSION_COMMENTS = {
|
11
|
-
"rb"
|
12
|
-
"rake"
|
13
|
-
"rabl"
|
14
|
-
"jbuilder"
|
15
|
-
"haml"
|
16
|
-
"erb"
|
12
|
+
"rb" => "# #{MAGIC_COMMENT}\n\n",
|
13
|
+
"rake" => "# #{MAGIC_COMMENT}\n\n",
|
14
|
+
"rabl" => "# #{MAGIC_COMMENT}\n\n",
|
15
|
+
"jbuilder" => "# #{MAGIC_COMMENT}\n\n",
|
16
|
+
"haml" => "-# #{MAGIC_COMMENT}\n",
|
17
|
+
"erb" => "<%# #{MAGIC_COMMENT} %>\n"
|
17
18
|
}
|
18
19
|
|
19
20
|
def self.process(argv)
|
@@ -28,12 +29,12 @@ module AddMagicComment
|
|
28
29
|
lines = file.readlines
|
29
30
|
|
30
31
|
# remove current encoding comment(s)
|
31
|
-
while lines.first && lines.first.match(MAGIC_COMMENT_PATTERN)
|
32
|
+
while lines.first && lines.first.match(MAGIC_COMMENT_PATTERN) || lines.first.match(EMPTY_LINE_PATTERN)
|
32
33
|
lines.shift
|
33
34
|
end
|
34
35
|
|
35
36
|
# set current encoding
|
36
|
-
lines.insert(0, comment
|
37
|
+
lines.insert(0, comment)
|
37
38
|
count += 1
|
38
39
|
|
39
40
|
file.pos = 0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magic_frozen_string_literal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Colin Kelley after Jared Roesch after Manuel Ryan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -74,6 +74,6 @@ rubyforge_project:
|
|
74
74
|
rubygems_version: 2.2.2
|
75
75
|
signing_key:
|
76
76
|
specification_version: 4
|
77
|
-
summary: 'Easily add magic comments ''# frozen_string_literal: true''
|
78
|
-
Ruby source files'
|
77
|
+
summary: 'Easily add magic comments ''# frozen_string_literal: true'' followed by
|
78
|
+
a blank line to multiple Ruby source files'
|
79
79
|
test_files: []
|