Sha256: e2ec00f116ac86e14b7f9f92832dc163056dc15c6121ae80fb35e4d25e8cd199
Contents?: true
Size: 1.75 KB
Versions: 2
Compression:
Stored size: 1.75 KB
Contents
require 'dragonfly_svg/analysers/svg_properties' require 'dragonfly_svg/processors/extend_ids' require 'dragonfly_svg/processors/remove_namespaces' require 'dragonfly_svg/processors/set_attribute' require 'dragonfly_svg/processors/set_dimensions' require 'dragonfly_svg/processors/set_namespace' require 'dragonfly_svg/processors/set_preserve_aspect_ratio' require 'dragonfly_svg/processors/set_tag_value' require 'dragonfly_svg/processors/set_view_box' module DragonflySvg class Plugin def call(app, options = {}) # Analysers app.add_analyser :svg_properties, Analysers::SvgProperties.new %w[ format width height id ].each do |name| app.add_analyser(name) { |c| c.analyse(:svg_properties)[name] } end app.add_analyser(:aspect_ratio) { |c| c.analyse(:width).to_f / c.analyse(:height).to_f } app.add_analyser(:portrait) { |c| c.analyse(:aspect_ratio) < 1.0 } app.add_analyser(:landscape) { |c| !c.analyse(:portrait) } # Aliases app.define(:portrait?) { portrait } app.define(:landscape?) { landscape } # Processors app.add_processor :extend_ids, Processors::ExtendIds.new app.add_processor :remove_namespaces, Processors::RemoveNamespaces.new app.add_processor :set_attribute, Processors::SetAttribute.new app.add_processor :set_dimensions, Processors::SetDimensions.new app.add_processor :set_namespace, Processors::SetNamespace.new app.add_processor :set_preserve_aspect_ratio, Processors::SetPreserveAspectRatio.new app.add_processor :set_tag_value, Processors::SetTagValue.new app.add_processor :set_view_box, Processors::SetViewBox.new end end end Dragonfly::App.register_plugin(:svg) { DragonflySvg::Plugin.new }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dragonfly_svg-1.0.1 | lib/dragonfly_svg/plugin.rb |
dragonfly_svg-1.0.0 | lib/dragonfly_svg/plugin.rb |