module Mangdown::Client

Simple client for Mangdown

Public Instance Methods

cbz(dir) click to toggle source

cbz all subdirectories in a directory

# File lib/mangdown/client.rb, line 26
def cbz(dir)
  Mangdown::CBZ.all(dir)
rescue StandardError => error
  raise Mangdown::Error, "Failed to package #{dir}: #{error.message}"
end
find(search) click to toggle source

return a list of hash with :uri and :name of mangas found in list

# File lib/mangdown/client.rb, line 17
def find(search)
  filter = Sequel.lit('LOWER(name) LIKE ?', "%#{search.downcase}%")
  order = Sequel[:name]
  Mangdown::DB::Manga.where(filter).order(order).map do |manga|
    Mangdown.manga(manga.url)
  end
end
index_manga() click to toggle source

rubocop:disable Metrics/MethodLength load manga into sqlite db

# File lib/mangdown/client.rb, line 34
def index_manga
  count_before = Mangdown::DB::Manga.count

  Mangdown.adapters.each do |name, adapters|
    adapters.manga_list.each do |manga|
      Mangdown::DB::Manga.find_or_create(
        adapter: name.to_s,
        url: manga.url,
        name: manga.name
      )
    end
  end

  count_after = Mangdown::DB::Manga.count

  logger.info("#{count_after} manga, #{count_after - count_before} new")
end