module RubySlides::Util
Public Instance Methods
copy_media(extract_path, image_path)
click to toggle source
# File lib/ruby_slides/util.rb, line 25 def copy_media(extract_path, image_path) image_name = File.basename(image_path) dest_path = "#{extract_path}/ppt/media/#{image_name}" FileUtils.copy_file(image_path, dest_path) unless File.exist?(dest_path) end
merge_variables(b, variables)
click to toggle source
# File lib/ruby_slides/util.rb, line 31 def merge_variables(b, variables) return b if variables.empty? variables.each do |k,v| b.local_variable_set(k, v) end b end
pixel_to_pt(px)
click to toggle source
# File lib/ruby_slides/util.rb, line 4 def pixel_to_pt(px) px * 12700 end
read_template(filename)
click to toggle source
# File lib/ruby_slides/util.rb, line 17 def read_template(filename) File.read("#{RubySlides::VIEW_PATH}/#{filename}") end
render_view(template_name, path, variables = {})
click to toggle source
# File lib/ruby_slides/util.rb, line 8 def render_view(template_name, path, variables = {}) view_contents = read_template(template_name) renderer = ERB.new(view_contents) b = merge_variables(binding, variables) data = renderer.result(b) File.open(path, 'w') { |f| f << data } end
require_arguments(required_arguments, arguments)
click to toggle source
# File lib/ruby_slides/util.rb, line 21 def require_arguments(required_arguments, arguments) raise ArgumentError unless required_arguments.all? {|required_key| arguments.keys.include? required_key} end