Class: SaxStream::Internal::Mappings::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/sax_stream/internal/mappings/base.rb

Direct Known Subclasses

Child, Element

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Base

Returns a new instance of Base.



7
8
9
10
11
# File 'lib/sax_stream/internal/mappings/base.rb', line 7

def initialize(name, options = {})
  @name = name.to_s
  @path = options[:to]
  process_conversion_type(options[:as])
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/sax_stream/internal/mappings/base.rb', line 5

def name
  @name
end

Instance Method Details

#find_or_insert_parent_node(doc, base) ⇒ Object



25
26
27
# File 'lib/sax_stream/internal/mappings/base.rb', line 25

def find_or_insert_parent_node(doc, base)
  find_or_insert_nested_node(doc, base, path_parts.tap(&:pop))
end

#handler_for(name, collector, handler_stack, parent_object) ⇒ Object



13
14
# File 'lib/sax_stream/internal/mappings/base.rb', line 13

def handler_for(name, collector, handler_stack, parent_object)
end

#map_value_onto_object(object, key, value) ⇒ Object



22
23
# File 'lib/sax_stream/internal/mappings/base.rb', line 22

def map_value_onto_object(object, key, value)
end

#path_partsObject



16
17
18
19
20
# File 'lib/sax_stream/internal/mappings/base.rb', line 16

def path_parts
  @path.split('/').reject {|part| part.nil? || part == ''}
rescue => e
  raise "could not split #{@path.inspect} for #{@name.inspect}"
end

#update_parent_node(builder, doc, parent, object) ⇒ Object

Raises:

  • (NotImplementedError)


29
30
31
# File 'lib/sax_stream/internal/mappings/base.rb', line 29

def update_parent_node(builder, doc, parent, object)
  raise NotImplementedError
end