class Showfix::Cleaner
Constants
- AUDIO_FLAGS
- AUTHOR_FLAGS
- FLAGS
- SOURCE_FLAGS
- VIDEO_FLAGS
Public Class Methods
new(options={})
click to toggle source
# File lib/showfix/cleaner.rb, line 25 def initialize(options={}) @options = { flags: true, year: true }.merge(options) end
Public Instance Methods
clean(string)
click to toggle source
Perform some cleanup on the filename
# File lib/showfix/cleaner.rb, line 33 def clean(string) string = self.unix_friendly(string) # Clean trailing/leading periods string = self.trim(string) if @options[:flags] string = self.remove_flags(string) end if @options[:year] string = self.strip_year(string) end # Clean trailing/leading periods string = self.trim(string) string end
remove_flags(string)
click to toggle source
# File lib/showfix/cleaner.rb, line 68 def remove_flags(string) flags = FLAGS.join('|') string.gsub(/(\W(#{flags})){2,}/i, '') .gsub(/((#{flags})\W){2,}/i, '') .gsub(/^((#{flags})\W?){2,}$/i, '') .gsub(/\W(#{flags}){1,}$/i, '') end
strip_year(string)
click to toggle source
# File lib/showfix/cleaner.rb, line 77 def strip_year(string) string.gsub(/^(?:19|20)\d{2}\D/, '\1') string.gsub(/(?:19|20)\d{2}$/, '\1') end
trim(string)
click to toggle source
# File lib/showfix/cleaner.rb, line 54 def trim(string) string.strip.gsub(/\A\.+|\.+\Z/, '') end
unix_friendly(string)
click to toggle source
Make unix friendly
# File lib/showfix/cleaner.rb, line 59 def unix_friendly(string) string.gsub(/\s+-\s+/, '.') .gsub(/[- \(\)]+/, '.') .gsub(/'/,'') .gsub(/[\[\]]+/,'') .gsub(/&/,'.and.') .gsub(/\.{2,}/,'.') end