lib/shutterbug/handlers/convert_handler.rb in shutterbug-0.4.3 vs lib/shutterbug/handlers/convert_handler.rb in shutterbug-0.5.0

- old
+ new

@@ -15,36 +15,23 @@ def handle(helper, req, env) response_text = convert(req).image_tag helper.response(response_text, 'text/plain') end - def convert_quality(val, format) - # Client sends quality between 0 and 1 (similar to .toDataURL() second argument). - # This conversion tries to ensure that the size of the final image is similar to - # .toDataURL() output with given quality settings. - val = val.to_f - case format - when "png" - val *= 10 - when "jpeg" - val *= 100 - else - val *= 100 - end - # PhantomJS expects integer. - val.to_i + def get_options(req) + opts = {} + opts[:html] = req.POST()['content'] + opts[:width] = req.POST()['width'] + opts[:height] = req.POST()['height'] + opts[:css] = req.POST()['css'] + opts[:format] = req.POST()['format'] + opts[:quality] = req.POST()['quality'] + return opts end def convert(req) - html = req.POST()['content'] || "" - width = req.POST()['width'] || 1000 - height = req.POST()['height'] || 700 - css = req.POST()['css'] || "" - format = req.POST()['format'] || "png" - quality = req.POST()['quality'] || 1 - quality = convert_quality(quality, format) - config = self.class.config - job = PhantomJob.new(config.base_url(req), html, css, width, height, format, quality) + config = self.class.config + job = PhantomJob.new(config.base_url(req), get_options(req)) unless (cache_entry = config.cache_manager.find(job.cache_key)) job.rasterize html_entry = Shutterbug::CacheManager::CacheEntry.new(job.html_file) image_entry = Shutterbug::CacheManager::CacheEntry.new(job.image_file) html_entry.preview_url = image_entry.preview_url