Class: Transformator::Transformation

Inherits:
Object
  • Object
show all
Defined in:
lib/transformator/transformation.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}, &block) ⇒ Transformation

Returns a new instance of Transformation.



4
5
6
7
8
# File 'lib/transformator/transformation.rb', line 4

def initialize(options = {}, &block)
  @context = options[:context]
  @rules = []
  self.instance_eval(&block) if block
end

Instance Method Details

#apply_to(source, options = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/transformator/transformation.rb', line 10

def apply_to(source, options = {})
  source = Ox.parse(source) if source.is_a?(String)
  result = Ox::Document.new(version: "1.0", encoding: "UTF-8").tap do |target|
    @rules.each do |rule|
      apply_rule(rule, source, target, options)
    end
  end

  Ox.dump(result, with_xml: true)
end