Class: Dhall::XML::Coder

Inherits:
Coder
  • Object
show all
Defined in:
lib/dhall/xml/coder.rb

Instance Method Summary collapse

Constructor Details

#initialize(default: nil, safe: JSON_LIKE + [Nokogiri::XML::Node]) ⇒ Coder

Returns a new instance of Coder.



14
15
16
# File 'lib/dhall/xml/coder.rb', line 14

def initialize(default: nil, safe: JSON_LIKE + [Nokogiri::XML::Node])
	super
end

Instance Method Details

#decode(expr, *args) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/dhall/xml/coder.rb', line 18

def decode(expr, *args)
	if expr.is_a?(Function) && TypeChecker.type_of(expr) == TYPE
		def expr.to_ruby
			XML.from_dhall(self)
		end
	end

	super
end

#dump(obj) ⇒ Object



28
29
30
31
32
# File 'lib/dhall/xml/coder.rb', line 28

def dump(obj)
	return if obj.nil?

	CBOR.encode(@verifier.verify(obj, "dump").as_dhall)
end