module Wanko::Command
Public Class Methods
add(options)
click to toggle source
# File lib/wanko/command.rb, line 29 def self.add(options) config = begin Wanko::Read.raw_config options[:config_dir] rescue Errno::ENOENT abort 'Config file not found, aborting...' end id = if config[:rules].empty? 0 else config[:rules].map {|x| x[:id]}.max + 1 end rule = [id: id, regex: options[:regex], dir: options[:dir] || config[:base_dir]] new_config = config.merge rules: config[:rules] + rule Wanko::Write.config options[:config_dir], Wanko::Utility.stringify_keys(new_config) end
fetch(options)
click to toggle source
# File lib/wanko/command.rb, line 9 def self.fetch(options) config = begin Wanko::Read.config options[:config_dir] rescue Errno::ENOENT abort 'Config file not found, aborting...' end [:feeds, :rules].each do |key| warn 'WARN: No #{key} specified.' if config[key].empty? end history = Wanko::Read.history options[:config_dir] torrents, new_history = Wanko::check_feeds config[:feeds], config[:rules], history config[:fetcher].call torrents Wanko::Write.history options[:config_dir], new_history end
list(options)
click to toggle source
# File lib/wanko/command.rb, line 49 def self.list(options) config = begin Wanko::Read.raw_config options[:config_dir] rescue Errno::ENOENT abort 'Config file not found, aborting...' end puts Terminal::Table.new(rows: config[:rules].map {|r| [r[:id], r[:regex], r[:dir]]}, headings: ['ID', 'Regex', 'Directory']) {align_column 0, :right} end
remove(options)
click to toggle source
# File lib/wanko/command.rb, line 60 def self.remove(options) config = begin Wanko::Read.raw_config options[:config_dir] rescue Errno::ENOENT abort 'Config file not found, aborting...' end new_rules = config[:rules].reject {|rule| options[:ids].include? rule[:id]} Wanko::Write.config options[:config_dir], Wanko::Utility.stringify_keys(config.merge rules: new_rules) end