lib/ramesh/client.rb in ramesh-1.3.0 vs lib/ramesh/client.rb in ramesh-1.4.0

- old
+ new

@@ -1,36 +1,36 @@ module Ramesh class Client MESHES_INDEX_URL = "http://tokyo-ame.jwa.or.jp/scripts/mesh_index.js" - def initialize(logger) - @logger = logger + def download_image(minute, save_dir, filename = nil) + _download_image(minute, save_dir, filename, :small) end - def download_image(minute, save_dir, filename = nil) - unless valid_minutes?(minute) - raise ArgumentError, "minutes must be a number; 0, 5, 10, ... 120" - end - - image_name = name_from_minute(minute) - filename ||= "#{image_name}.jpg" - image = Image.new(image_name, background_image, mask_image) - image.save(save_dir, filename) - - @logger.info("Downloaded: #{filename}") + def download_large_image(minute, save_dir, filename = nil) + _download_image(minute, save_dir, filename, :large) end def download_sequential_images(from, to, save_dir) - unless valid_minutes?(from) && valid_minutes?(to) - raise ArgumentError, "minutes must be a number; 0, 5, 10, ... 120" - end + raise ArgumentError, "minutes must be a number; 0, 5, 10, ... 120" unless valid_minutes?(from) && valid_minutes?(to) - (from..to).step(5) do |minute| - download_image(save_dir, minute) + [].tap do |image_names| + (from..to).step(5) { |minute| image_names << download_image(minute, save_dir) } end end private + + def _download_image(minute, save_dir, filename, image_size) + raise ArgumentError, "minutes must be a number; 0, 5, 10, ... 120" unless valid_minutes?(minute) + + image_name = name_from_minute(minute) + filename ||= "#{image_name}.jpg" + image = Image.new(image_name, image_size) + image.save(save_dir, filename) + + filename + end def background_image @background_image ||= Image.background_image end