zaru 0.1.0 → 0.2.0

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.
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
-