gnn-rblibs 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/gnn-rblibs.gemspec +1 -1
  3. data/lib/getopt.rb +18 -6
  4. metadata +2 -2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
data/gnn-rblibs.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gnn-rblibs}
8
- s.version = "0.0.3"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["tarao"]
data/lib/getopt.rb CHANGED
@@ -1,11 +1,23 @@
1
1
  class GetOpt
2
- def self.escape(str, quote=true)
2
+ def self.escape(str, quote=false)
3
3
  str = str.to_s
4
- return "''" if str.empty?
5
- str = str.dup
6
-
7
- str.gsub!(/([^A-Za-z0-9_\-.,:\/@\n])/n, "\\\\\\1")
8
- str.gsub!(/\n/, "'\n'")
4
+ regex = /[^A-Za-z0-9_\-.,:\/@\n]/n
5
+
6
+ if quote # use quote
7
+ return str unless str.match(regex)
8
+ str = str.dup
9
+ quote
10
+
11
+ str.gsub!(/\\/, '\\\\')
12
+ str.gsub!(/\"/, '\\\"')
13
+ str = '"'+str+'"'
14
+ else # use backslash
15
+ return "''" if str.empty?
16
+ str = str.dup
17
+
18
+ str.gsub!(regex, '\\\\\\&')
19
+ str.gsub!(/\n/, "'\n'")
20
+ end
9
21
 
10
22
  return str
11
23
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 3
9
- version: 0.0.3
8
+ - 4
9
+ version: 0.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - tarao