Module: Burlap

Defined in:
lib/burlap.rb,
lib/burlap/call.rb,
lib/burlap/hash.rb,
lib/burlap/node.rb,
lib/burlap/array.rb,
lib/burlap/error.rb,
lib/burlap/fault.rb,
lib/burlap/version.rb,
lib/burlap/base_tag.rb,
lib/burlap/listener.rb,
lib/burlap/default_resolver.rb

Defined Under Namespace

Classes: Array, BaseTag, Call, DefaultResolver, Fault, Hash, Listener, Node

Constant Summary collapse

Error =
Class.new(StandardError)
VERSION =
"1.0.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.resolverObject

Returns the value of attribute resolver.



4
5
6
# File 'lib/burlap.rb', line 4

def resolver
  @resolver
end

Class Method Details

.dump(obj) ⇒ Object

Turns obj into a burlap XML representation



22
23
24
25
26
27
28
# File 'lib/burlap.rb', line 22

def self.dump obj
  if obj.respond_to?(:to_burlap)
    obj.to_burlap
  else
    raise Error, "couldn't dump #{obj.inspect}"
  end
end

.parse(io_handle, strict = false) ⇒ Object

Turns a burlap string read from io_handle into native ruby objects.



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

def self.parse(io_handle, strict = false)
  listener = Listener.new
  parser = Nokogiri::XML::SAX::Parser.new(listener)

  if strict && io_handle.encoding != Encoding::UTF_8
    io_handle.encode!(Encoding::UTF_8)
  end

  parser.parse(io_handle)
  listener.result
end