Module: Downloader
Defined Under Namespace
Classes: ExistErr, FormatErr, ResponseErr
Instance Method Summary collapse
- #download(src) ⇒ Object
-
#placed ⇒ Object
It’s belong to mod create for out-world.
Instance Method Details
#download(src) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/imgdowner/downloader.rb', line 9 def download(src) errMsg = ["you should check your format in (jpg/jpeg/png)", "you should check your format in (https|http://,,,)", "your want to create file: {file}, which is exist", "download status code {status} is not expected" ] raise FormatErr.new(errMsg[0]) unless src =~ /(.*)(\.jpg|\.png\.jpeg)$/ begin @dir = "./img" unless defined? @dir Dir.mkdir(@dir, 0700) unless Dir.exist?(@dir) raise FormatErr.new(errMsg[1]) unless src =~ /(http|https):\/\/(.+?)([^\/]+)$/ placed = File.join(@dir, $3) @mod_placed = placed raise ExistErr.new(errMsg[2].sub(/{file}/, placed)) if File.exist?(placed) open(src) do |res| raise ResponseErr.new(errMsg[3].sub(/{status}/, res.status[0])) unless res.status[0] == "200" File.open(placed, "w") do |f| f.binmode f.write(res.read) end end rescue => exception raise exception else end end |
#placed ⇒ Object
It’s belong to mod create for out-world
36 37 38 |
# File 'lib/imgdowner/downloader.rb', line 36 def placed() @mod_placed end |