Class: InlineSvg::TransformPipeline::Transformations::Transformation

Inherits:
Object
  • Object
show all
Defined in:
lib/inline_svg/transform_pipeline/transformations/transformation.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ Transformation

Returns a new instance of Transformation.



9
10
11
# File 'lib/inline_svg/transform_pipeline/transformations/transformation.rb', line 9

def initialize(value)
  @value = value
end

Instance Attribute Details

#valueObject (readonly)

Returns the value of attribute value.



7
8
9
# File 'lib/inline_svg/transform_pipeline/transformations/transformation.rb', line 7

def value
  @value
end

Class Method Details

.create_with_value(value) ⇒ Object



3
4
5
# File 'lib/inline_svg/transform_pipeline/transformations/transformation.rb', line 3

def self.create_with_value(value)
  self.new(value)
end

Instance Method Details

#transformObject



13
14
15
# File 'lib/inline_svg/transform_pipeline/transformations/transformation.rb', line 13

def transform(*)
  raise "#transform should be implemented by subclasses of Transformation"
end

#with_svg(doc) {|svg| ... } ⇒ Object

Parses a document and yields the contained SVG nodeset to the given block if it exists.

Returns a Nokogiri::XML::Document.

Yields:

  • (svg)


21
22
23
24
25
26
27
28
# File 'lib/inline_svg/transform_pipeline/transformations/transformation.rb', line 21

def with_svg(doc)
  doc = Nokogiri::XML::Document.parse(
    doc.to_html(encoding: "UTF-8"), nil, "UTF-8"
  )
  svg = doc.at_css "svg"
  yield svg if svg && block_given?
  doc
end