module Undraw::Helper
Public Instance Methods
undraw(filename, transform_params={})
click to toggle source
# File lib/undraw/helper.rb, line 4 def undraw(filename, transform_params={}) asset_path = "#{Undraw.root}/vendor/assets/images/undraw/#{filename}.svg" vendor_path = "#{Rails.root}/vendor/assets/images/undraw/#{filename}.svg" begin if File.exist?(vendor_path) svg_file = File.read(vendor_path) else svg_file = File.read(asset_path) end color = transform_params.delete(:color) if color.is_a?(Hash) #:todo: #= undraw("building", color: {primary: #ff6347, hair: black}, class: 'undraw-features', size: "350*150") primary = color[:primary] else primary = color end svg_file.gsub!(/#6c63ff/, primary) if primary #inline_svg svg_file, class: 'some-class' InlineSvg::TransformPipeline.generate_html_from(svg_file, transform_params).html_safe rescue Errno::ENOENT raise Undraw::FileNotFound.new("Asset not found: #{filename}, you can manually download and place svg in #{vendor_path}") end end