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