Class: Suds

Inherits:
Object
  • Object
show all
Defined in:
lib/suds/suds.rb,
lib/suds/version.rb

Constant Summary collapse

VERSION =
'0.1.0'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(interpreter) ⇒ Suds



9
10
11
12
13
# File 'lib/suds/suds.rb', line 9

def initialize interpreter
  @interpreter = interpreter
  @converters = []
  @cleaners = []
end

Instance Attribute Details

#cleanersObject

Returns the value of attribute cleaners.



7
8
9
# File 'lib/suds/suds.rb', line 7

def cleaners
  @cleaners
end

#convertersObject

Returns the value of attribute converters.



7
8
9
# File 'lib/suds/suds.rb', line 7

def converters
  @converters
end

#dataObject

Returns the value of attribute data.



7
8
9
# File 'lib/suds/suds.rb', line 7

def data
  @data
end

#interpreterObject

Returns the value of attribute interpreter.



7
8
9
# File 'lib/suds/suds.rb', line 7

def interpreter
  @interpreter
end

Instance Method Details

#add_cleaner(cleaner) ⇒ Object



20
21
22
23
# File 'lib/suds/suds.rb', line 20

def add_cleaner cleaner
  raise "#{cleaner.class} is not a valid Cleaner." unless cleaner.is_a?(Cleaner)
  @cleaners << cleaner
end

#add_converter(converter) ⇒ Object



15
16
17
18
# File 'lib/suds/suds.rb', line 15

def add_converter converter
  raise "#{converter.class} is not a valid Converter." unless converter.is_a?(Converter)
  @converters << converter
end

#cleanObject



25
26
27
28
29
# File 'lib/suds/suds.rb', line 25

def clean
  @data = @cleaners.inject(interpreter.data) do |data,cleaner|
    data = cleaner.clean data
  end
end

#convertObject



35
36
37
# File 'lib/suds/suds.rb', line 35

def convert
  @converters.map { |converter| converter.convert data}
end

#convert!Object



31
32
33
# File 'lib/suds/suds.rb', line 31

def convert!
  @converters.each { |converter| converter.convert! data}
end

#raw_dataObject



39
40
41
# File 'lib/suds/suds.rb', line 39

def raw_data
  interpreter.data
end