class Ramesh::Client

Constants

MESHES_INDEX_URL

Public Instance Methods

download_image(minute, save_dir, filename = nil) click to toggle source
# File lib/ramesh/client.rb, line 5
def download_image(minute, save_dir, filename = nil)
  _download_image(minute, save_dir, filename, :small)
end
download_large_image(minute, save_dir, filename = nil) click to toggle source
# File lib/ramesh/client.rb, line 9
def download_large_image(minute, save_dir, filename = nil)
  _download_image(minute, save_dir, filename, :large)
end
download_sequential_images(from, to, save_dir) click to toggle source
# File lib/ramesh/client.rb, line 13
def download_sequential_images(from, to, save_dir)
  raise ArgumentError, "minutes must be a number; 0, 5, 10, ... 120" unless valid_minutes?(from) && valid_minutes?(to)

  [].tap do |image_names|
    (from..to).step(5) { |minute| image_names << download_image(minute, save_dir) }
  end
end

Private Instance Methods

_download_image(minute, save_dir, filename, image_size) click to toggle source
# File lib/ramesh/client.rb, line 23
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
background_image() click to toggle source
# File lib/ramesh/client.rb, line 34
def background_image
  @background_image ||= Image.background_image
end
mask_image() click to toggle source
# File lib/ramesh/client.rb, line 38
def mask_image
  @mask_image ||= Image.mask_image
end
meshes_index() click to toggle source
# File lib/ramesh/client.rb, line 42
def meshes_index
  @meshes_index ||= open(MESHES_INDEX_URL).read.gsub(/[^0-9,]/, "").split(",")
end
name_from_minute(minute) click to toggle source
# File lib/ramesh/client.rb, line 46
def name_from_minute(minute)
  meshes_index[minute / 5]
end
valid_minutes?(minutes) click to toggle source
# File lib/ramesh/client.rb, line 50
def valid_minutes?(minutes)
  (minutes >= 0) && (minutes <= 120) && (minutes % 5 == 0)
end