class Ramesh::Image
Constants
- MAP_URL_BASE
- MESH_URL_BASE
Public Class Methods
new(image_name, image_size = :small)
click to toggle source
# File lib/ramesh/image.rb, line 9 def initialize(image_name, image_size = :small) image_list = [ background_image(image_size), moment_image(image_name, image_size), mask_image(image_size) ] @image = composite_images(image_list) end
Public Instance Methods
save(save_dir, filename)
click to toggle source
# File lib/ramesh/image.rb, line 18 def save(save_dir, filename) save_path = File.join(save_dir, filename) @image.write(save_path) end
Private Instance Methods
background_image(image_size)
click to toggle source
# File lib/ramesh/image.rb, line 25 def background_image(image_size) download_image(background_image_url(image_size)) end
background_image_url(image_size)
click to toggle source
# File lib/ramesh/image.rb, line 52 def background_image_url(image_size) "#{MAP_URL_BASE}/map#{size_number(image_size)}.jpg" end
composite_images(image_list)
click to toggle source
# File lib/ramesh/image.rb, line 64 def composite_images(image_list) image = image_list.shift image_list.each do |layer| image = image.composite(layer) do |c| c.compose "Over" end end image end
download_image(url)
click to toggle source
# File lib/ramesh/image.rb, line 37 def download_image(url) MiniMagick::Image.read(open(url).read) end
mask_image(image_size)
click to toggle source
# File lib/ramesh/image.rb, line 33 def mask_image(image_size) download_image(mask_image_url(image_size)) end
mask_image_url(image_size)
click to toggle source
# File lib/ramesh/image.rb, line 60 def mask_image_url(image_size) "#{MAP_URL_BASE}/msk#{size_number(image_size)}.png" end
moment_image(image_name, image_size)
click to toggle source
# File lib/ramesh/image.rb, line 29 def moment_image(image_name, image_size) download_image(moment_image_url(image_name, image_size)) end
moment_image_url(image_name, image_size)
click to toggle source
# File lib/ramesh/image.rb, line 56 def moment_image_url(image_name, image_size) "#{MESH_URL_BASE}/#{size_number(image_size)}/#{image_name}.gif" end
size_number(image_size)
click to toggle source
# File lib/ramesh/image.rb, line 41 def size_number(image_size) case image_size when :small "000" when :large "100" else raise ArgumentError, "Invalid size is given" end end