lib/gnawrnip/screenshot.rb in gnawrnip-0.2.2 vs lib/gnawrnip/screenshot.rb in gnawrnip-0.2.3

- old
+ new

@@ -1,9 +1,9 @@ require 'tempfile' require 'time' require 'capybara' -require 'oily_png' +require 'gnawrnip/developer' module Gnawrnip class Screenshot class << self @@ -26,14 +26,11 @@ # def take(wait_second = Capybara.default_wait_time) start_time = Time.now begin - tempfile = Tempfile.new(['gnawrnip', '.png']) - session.save_screenshot(tempfile.path) - resize(tempfile.path) if need_resize? - tempfile + shot rescue Capybara::NotSupportedByDriverError => e raise e rescue => e raise e if (Time.now - start_time) >= wait_second sleep(0.3) @@ -45,42 +42,16 @@ def session Capybara.current_session end - def need_resize? - !Gnawrnip.max_frame_size.nil? - end - - def resize(path) - image = OilyPNG::Canvas.from_file(path) - new_width, new_height = calculate_new_size(image.width, image.height) - - image.resample_bilinear!(new_width, new_height) - image.save(path) - end - # - # Return new frame size (width and height). - # This size is keeping original aspect ratio. + # @return [Gnawrnip::Image] # - # @return [Array] New width and height size. [width, height] - # - def calculate_new_size(width, height) - ratio = width.to_f / height.to_f - target = Gnawrnip.max_frame_size - - return [width, height] if target > [width, height].max - - if ratio < 1 - new_width = target * ratio - new_height = target - else - new_width = target - new_height = target / ratio - end - - return [new_width, new_height] + def shot + tempfile = Tempfile.new(['gnawrnip', '.png']) + session.save_screenshot(tempfile.path) + Developer.new.develop(tempfile) end end end end