class ImgOverlay::ImageSize
Public Class Methods
new(file_path)
click to toggle source
# File lib/img_overlay/image_size.rb, line 7 def initialize(file_path) @file_path = file_path end
Public Instance Methods
height()
click to toggle source
# File lib/img_overlay/image_size.rb, line 15 def height @height ||= get_image_size_hash[:height] end
width()
click to toggle source
# File lib/img_overlay/image_size.rb, line 11 def width @width ||= get_image_size_hash[:width] end
Private Instance Methods
commmand()
click to toggle source
# File lib/img_overlay/image_size.rb, line 56 def commmand "convert #{@file_path} -format \"%wx%h\" info:" end
convert_command_line_result_into_hash()
click to toggle source
# File lib/img_overlay/image_size.rb, line 30 def convert_command_line_result_into_hash output = @result[:output] width_str = output.split("x")[0] height_str = output.split("x")[1] { width: width_str.to_i, height: height_str.to_i } end
execute_command()
click to toggle source
# File lib/img_overlay/image_size.rb, line 47 def execute_command stdout, stderr, status = Open3.capture3(commmand) return { success: status.success?, output: stdout, error: stderr } end
get_image_size_hash()
click to toggle source
# File lib/img_overlay/image_size.rb, line 21 def get_image_size_hash @result ||= execute_command if @result[:success] convert_command_line_result_into_hash else invalid_image_path_hash end end
invalid_image_path_hash()
click to toggle source
# File lib/img_overlay/image_size.rb, line 40 def invalid_image_path_hash { width: nil, height: nil } end