module Kamishibai::CBZFilename

Public Class Methods

author(s) click to toggle source
# File lib/kamishibai/book.rb, line 8
def self.author(s)
        parse(s)[0]
end
title(s) click to toggle source
# File lib/kamishibai/book.rb, line 12
def self.title(s)
        parse(s)[1]
end

Private Class Methods

parse(s) click to toggle source
# File lib/kamishibai/book.rb, line 16
def self.parse(s)
        s = File.basename(s)
        s.gsub!(/_/,' ')
        s.gsub!(/ /u,' ')
        s.gsub!(/\(.+?\)/,'')
        author = s.scan(/\[(.+?)\]/)[0][0] if s.scan(/\[(.+?)\]/)[0] and s.scan(/\[(.+?)\]/)[0][0]
        s.gsub!(/\[.+?\]/,'')
        #s.gsub!(/ \S\d+.*/,'')
        s.gsub!(/ \d{4}\S[\d\.]+.+/,'')
        s.gsub!(/ (v|c|第)[\d\.]+.*/iu,'')
        s.gsub!(/ vol.{0,2}[\d\.]+.*/i,'')
        s.gsub!(/ (上|中|下)\.cbz/iu,'.cbz')
        s.gsub!(/ \#[\d\.]+.*/i,'')
        s.gsub!(/ ch.{0,2}[\d\.]+.*/i,'')
        s.gsub!(/ +/,' ')
        s.gsub!(/^ /,'')
        s.gsub!(/\.cbz$/,'')
        s.gsub!(/ $/,'')
        s.gsub!(/ [\d\.]+$/,'')
        title = s

        [author, title]
end