zaru 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/zaru.rb +5 -3
  3. metadata +21 -41
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e73e4b8775b998e8205d2114255c86be4ee7cc38
4
+ data.tar.gz: 1ddcd010454eb721dff5c04b6934efc690602b58
5
+ SHA512:
6
+ metadata.gz: 55cee6d4f466d479af6b244977cbfb02bf8355091c0e8c2be50bc75dd415ef2d3a2d9be1bcf22afdf8a60e5f3ac56932fb9c249d47192c573513f5ba3b79970f
7
+ data.tar.gz: 50ed12f998e2d8b1bfe22fe6826ca917a1d7ed109d6936498c7c61b07e4413106f124154bc753121bcb480b034f3d97e09925efecad1adb50d068ac79ad1f6c8
@@ -25,9 +25,11 @@ class Zaru
25
25
  # - don't allow certain special filenames (issue on Windows)
26
26
  # - don't allow filenames to start with a dot
27
27
  # - don't allow empty filenames
28
+ #
29
+ # this renormalizes after filtering in order to collapse whitespace
28
30
  def sanitize
29
31
  @sanitized ||=
30
- filter(normalize.gsub(CHARACTER_FILTER,''))
32
+ filter(normalize.gsub(CHARACTER_FILTER,'')).gsub(UNICODE_WHITESPACE,' ')
31
33
  end
32
34
 
33
35
  # cut off at 255 characters
@@ -55,7 +57,7 @@ class Zaru
55
57
  end
56
58
 
57
59
  def filter_windows_reserved_names(filename)
58
- WINDOWS_RESERVED_NAMES.include?(filename.upcase) ? 'file' : filename
60
+ WINDOWS_RESERVED_NAMES.include?(filename.upcase) ? FALLBACK_FILENAME : filename
59
61
  end
60
62
 
61
63
  def filter_blank(filename)
@@ -66,4 +68,4 @@ class Zaru
66
68
  filename.start_with?('.')? "#{FALLBACK_FILENAME}#{filename}" : filename
67
69
  end
68
70
 
69
- end
71
+ end
metadata CHANGED
@@ -1,65 +1,45 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: zaru
3
- version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 0
10
- version: 0.1.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Thomas Fuchs
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2014-04-26 00:00:00 Z
11
+ date: 2017-09-18 00:00:00.000000000 Z
19
12
  dependencies: []
20
-
21
- description: Zaru takes a given filename (a string) and normalizes, filters and truncates it, so it can be safely used as a filename in modern operating systems. Zaru doesn't remove Unicode characters when not necessary.
13
+ description: Zaru takes a given filename (a string) and normalizes, filters and truncates
14
+ it, so it can be safely used as a filename in modern operating systems. Zaru doesn't
15
+ remove Unicode characters when not necessary.
22
16
  email: thomas@slash7.com
23
17
  executables: []
24
-
25
18
  extensions: []
26
-
27
19
  extra_rdoc_files: []
28
-
29
- files:
20
+ files:
30
21
  - lib/zaru.rb
31
22
  homepage: http://github.com/madrobby/zaru
32
23
  licenses: []
33
-
24
+ metadata: {}
34
25
  post_install_message:
35
26
  rdoc_options: []
36
-
37
- require_paths:
27
+ require_paths:
38
28
  - lib
39
- required_ruby_version: !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
42
31
  - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
48
- required_rubygems_version: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
51
36
  - - ">="
52
- - !ruby/object:Gem::Version
53
- hash: 3
54
- segments:
55
- - 0
56
- version: "0"
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
57
39
  requirements: []
58
-
59
40
  rubyforge_project:
60
- rubygems_version: 1.8.24
41
+ rubygems_version: 2.6.11
61
42
  signing_key:
62
- specification_version: 3
43
+ specification_version: 4
63
44
  summary: Filename sanitization for Ruby
64
45
  test_files: []
65
-