filename_cleaner 0.3.8 → 0.3.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 807f37177fe0fae04a041ee3a85764c35535010d
4
- data.tar.gz: e8d8cc7a7e5ed61e90e8c2fdbc190a2632a12471
3
+ metadata.gz: 35445207a901cb122ba596e958a996cd819bdebb
4
+ data.tar.gz: 69467588b5aba6e7996e76db86231f45ffc57aaf
5
5
  SHA512:
6
- metadata.gz: 8ccfa992942ddc501f07270d555f90cdb6ab1af748f8be8275b6a06199fe86be8bdb636c73d302cef82eb344fa9f57e61e389feef75fdfc032ca54a7dd777a3d
7
- data.tar.gz: 0b3f9519af19f1945900c3a5ed483d496d3c95b86736a8403d9b02034631654d91ca70a600d257d9aa1f94654d89a7fadb469248f86656ce42dda29c0098e194
6
+ metadata.gz: e41225111100cc8df68b16b19e9b6df8140ba91156cd0f27b5ba305225b35f264dbaa438543f5e0a311ed515e32506176735ef3531dae605a845a5a11da4784e
7
+ data.tar.gz: b342996a7c09770e73063a78b927989c05e393c048951ac726e3f18dd3e754d26fd3dce82cb37a235b3d69293dfa134d6d4cdda3eb27c3fc1baf446c42071cca
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### 0.3.9
2
+
3
+ * Make `formatted_name` public so that it can be re-used in other projects
4
+ * Minor documentation cleanup
5
+
1
6
  ### 0.3.8
2
7
 
3
8
  * Simplify the CLI usage
data/README.md CHANGED
@@ -19,6 +19,12 @@ Currently any string that are not one of letters (a..z, A..Z),
19
19
  numbers (0..9), _ (underscore), - (dash), and ' ' spaces string
20
20
  are first squeezed into one string and then replaced by any given string/char [default to . (a single dot)].
21
21
 
22
+ Optionally, you could also
23
+
24
+ - capitalized each word in the output
25
+ - make each word in output lower case
26
+ - use more than one character as the separator string if you prefer
27
+
22
28
  ### Installation
23
29
 
24
30
  ```sh
@@ -78,7 +78,7 @@ Sanitize and rename file with special characters
78
78
  puts "FYI: process : #{index + 1} of #{files.size}"
79
79
  dirname = File.dirname(File.expand_path(file))
80
80
  filename = File.basename(file)
81
- new_name = formatted_name(filename, options)
81
+ new_name = FilenameCleaner.formatted_name(filename, options)
82
82
  old_name = File.expand_path(file)
83
83
  new_name = File.expand_path([dirname, new_name].join(File::SEPARATOR))
84
84
  compare_and_rename(old_name, new_name, options[:commit])
@@ -92,22 +92,6 @@ Sanitize and rename file with special characters
92
92
  end
93
93
  # rubocop:enable LineLength
94
94
 
95
- def formatted_name(filename, options)
96
- sep_char = options[:sep_char]
97
- sanitized_name = FilenameCleaner.sanitize(filename, sep_char, true)
98
-
99
- # First split the two part so that only name is used!
100
- basename = File.basename(sanitized_name, ".*")
101
- extname = File.extname(sanitized_name)
102
- if options[:downcase]
103
- basename = basename.split(sep_char).map(&:downcase).join(sep_char)
104
- end
105
- if options[:capitalize]
106
- basename= basename.split(sep_char).map(&:capitalize).join(sep_char)
107
- end
108
- "#{basename}#{extname}"
109
- end
110
-
111
95
  def compare_and_rename(old_name, new_name, commit)
112
96
  if new_name != old_name
113
97
  puts "FYI: old name: #{old_name}"
@@ -1,10 +1,12 @@
1
1
  module FilenameCleaner
2
2
  DOT = "."
3
3
  class << self
4
- # Sanitize the any name with or without any extension
4
+ # Sanitize the any name with or without extension
5
5
  #
6
6
  # @param [String] name the input string
7
7
  # @param [String] sep_char the separator char to be used
8
+ # @param [Boolean] have_extension indicate if the the input file should be
9
+ # treated as having extension or not having one
8
10
  # @return [String] output string with special chars replaced withe specified string
9
11
  def sanitize(name, sep_char = ".", have_extension = false)
10
12
  if have_extension
@@ -14,6 +16,30 @@ module FilenameCleaner
14
16
  end
15
17
  end
16
18
 
19
+ # Get formatted name for existing file
20
+ #
21
+ # @param [String] filename the input filename
22
+ # @param [Hash<Symbol, Object>] opts the hash value for options to be applied
23
+ #
24
+ # @option opts [String] :sep_char The separator string
25
+ # @option opts [Boolean] :downcase Convert each word to lower case
26
+ # @option opts [Boolean] :capitalize: Capitalize each word in the name
27
+ def formatted_name(filename, opts = {})
28
+ sep_char = opts[:sep_char] || "."
29
+ sanitized_name = FilenameCleaner.sanitize(filename, sep_char, true)
30
+
31
+ # First split the two part so that only name is used!
32
+ basename = File.basename(sanitized_name, ".*")
33
+ extname = File.extname(sanitized_name)
34
+ if opts[:downcase]
35
+ basename = basename.split(sep_char).map(&:downcase).join(sep_char)
36
+ end
37
+ if opts[:capitalize]
38
+ basename= basename.split(sep_char).map(&:capitalize).join(sep_char)
39
+ end
40
+ "#{basename}#{extname}"
41
+ end
42
+
17
43
  private
18
44
 
19
45
  # Sanitize the any name with or without any extension
@@ -1,3 +1,3 @@
1
1
  module FilenameCleaner
2
- VERSION = "0.3.8"
2
+ VERSION = "0.3.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filename_cleaner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8
4
+ version: 0.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Burin Choomnuan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-16 00:00:00.000000000 Z
11
+ date: 2014-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor