Class: Icons::Sync::Transformations
- Inherits:
-
Object
- Object
- Icons::Sync::Transformations
- Defined in:
- lib/icons/sync/transformations.rb
Class Method Summary collapse
Class Method Details
.transform(filename, rules = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/icons/sync/transformations.rb', line 8 def self.transform(filename, rules = {}) basename = File.basename(filename, File.extname(filename)) transformed = rules.fetch(:filenames, {}).reduce(basename) do |fn, (type, value)| FILENAME_TRANSFORMERS.fetch(type).call(fn, value) end [transformed, File.extname(filename)].join end |
.transform_svg(file_path, rules = []) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/icons/sync/transformations.rb', line 18 def self.transform_svg(file_path, rules = []) return unless rules.any? svg_document = Nokogiri::HTML::DocumentFragment.parse(File.read(file_path)) rules.each do |rule| SVG_TRANSFORMERS.fetch(rule[:action]).call( svg_document, rule[:element], rule[:attribute], rule[:value] ) end File.write(file_path, svg_document.to_html) end |