diff --git a/src/fetch.cr b/src/fetch.cr index 2b4ad69..fcf79cf 100644 --- a/src/fetch.cr +++ b/src/fetch.cr @@ -2,11 +2,17 @@ require "crest" module Muse::Dl class Fetch - def get_info(url : String) : (Muse::Dl::Book | Muse::Dl::Issue) + def get_info(url : String) : (Muse::Dl::Book | Muse::Dl::Journal) match = /https:\/\/muse.jhu.edu\/(book|journal)\/(\d+)/.match url if match begin response = Crest.get url + case match[1] + when "book" + return Muse::Dl::Book.new response + when "journal" + return Muse::Dl::Journal.new response + end rescue ex : Crest::NotFound raise Muse::Dl::InvalidLink end diff --git a/src/muse-dl.cr b/src/muse-dl.cr index 3f9fa24..a5a8d4b 100644 --- a/src/muse-dl.cr +++ b/src/muse-dl.cr @@ -1,6 +1,7 @@ require "./parser.cr" require "./pdftk.cr" require "./fetch.cr" +require "./book.cr" # TODO: Write documentation for `Muse::Dl` module Muse::Dl