lib/powerpoint/slide/pictorial.rb in powerpoint-1.6 vs lib/powerpoint/slide/pictorial.rb in powerpoint-1.7

- old
+ new

@@ -15,42 +15,45 @@ options.each {|k, v| instance_variable_set("@#{k}", v)} @coords = default_coords unless @coords.any? @image_name = File.basename(@image_path) end - def save(index) - copy_media_to_extract_path - save_rel_xml(index) - save_slide_xml(index) + def save(extract_path, index) + copy_media(extract_path) + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) end def file_type File.extname(image_name).gsub('.', '') end - private - def default_coords - slide_width = pixle_to_pt(720); slide_height = pixle_to_pt(540); default_width = pixle_to_pt(550) + slide_width = pixle_to_pt(720) + default_width = pixle_to_pt(550) + return {} unless dimensions = FastImage.size(image_path) image_width, image_height = dimensions.map {|d| pixle_to_pt(d)} new_width = default_width < image_width ? default_width : image_width ratio = new_width / image_width.to_f new_height = (image_height.to_f * ratio).round {x: (slide_width / 2) - (new_width/2), y: pixle_to_pt(120), cx: new_width, cy: new_height} end + private :default_coords - def copy_media_to_extract_path + def copy_media(extract_path) FileUtils.copy_file(@image_path, "#{extract_path}/ppt/media/#{@image_name}") end + private :copy_media - def save_rel_xml index - File.open("#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels", 'w'){ |f| f << render_view('pictorial_rel.xml.erb') } + def save_rel_xml(extract_path, index) + render_view('pictorial_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") end + private :save_rel_xml - def save_slide_xml index - File.open("#{extract_path}/ppt/slides/slide#{index}.xml", 'w'){ |f| f << render_view('pictorial_slide.xml.erb') } + def save_slide_xml(extract_path, index) + render_view('pictorial_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") end - + private :save_slide_xml end end -end \ No newline at end of file +end