module Miyuki::Parser
Public Class Methods
filter_episodes!(torrents, from_episode, keep = true)
click to toggle source
# File lib/miyuki/parser.rb, line 28 def filter_episodes!(torrents, from_episode, keep = true) range = from_episode..1.0/0 if range torrents.select! do |torrent| return keep unless torrent.title episode = torrent.title.scan(/- [0-9]*\.?[0-9]+/).last episode = episode.scan(/[0-9]*\.?[0-9]+/).last if episode episode = episode[1..-1] if episode && episode[0] == '0' if episode is_integer?(episode) ? range.include?(episode.to_i) : keep else keep end end end end
parse(series)
click to toggle source
# File lib/miyuki/parser.rb, line 18 def parse(series) pattern = series.fetch('pattern', '[$fansub] $name') pattern.scan(/\$[a-zA-Z_]*/).each do |var| pattern.gsub!(var, series[var[1..-1]]) if series.has_key?(var[1..-1]) end pattern end
Private Class Methods
is_integer?(string)
click to toggle source
# File lib/miyuki/parser.rb, line 50 def is_integer?(string) string.to_i.to_s == string end