Class: ThinpXML::EmitterDetail::ThinpEmitter
- Inherits:
-
Object
- Object
- ThinpXML::EmitterDetail::ThinpEmitter
- Defined in:
- lib/thinp_xml/thinp/emit.rb
Instance Method Summary collapse
- #emit_device(dev, &block) ⇒ Object
- #emit_mapping(m) ⇒ Object
- #emit_superblock(sb, &block) ⇒ Object
-
#initialize(out) ⇒ ThinpEmitter
constructor
A new instance of ThinpEmitter.
Constructor Details
#initialize(out) ⇒ ThinpEmitter
Returns a new instance of ThinpEmitter.
9 10 11 |
# File 'lib/thinp_xml/thinp/emit.rb', line 9 def initialize(out) @e = ThinpXML::Base::Emitter.new(out) end |
Instance Method Details
#emit_device(dev, &block) ⇒ Object
17 18 19 |
# File 'lib/thinp_xml/thinp/emit.rb', line 17 def emit_device(dev, &block) @e.emit_tag(dev, 'device', :dev_id, :mapped_blocks, :transaction, :creation_time, :snap_time, &block) end |
#emit_mapping(m) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/thinp_xml/thinp/emit.rb', line 21 def emit_mapping(m) if m.length == 1 @e.emit_line("<single_mapping origin_block=\"#{m.origin_begin}\" data_block=\"#{m.data_begin}\" time=\"#{m.time}\"/>") else @e.emit_tag(m, 'range_mapping', :origin_begin, :data_begin, :length, :time) end end |
#emit_superblock(sb, &block) ⇒ Object
13 14 15 |
# File 'lib/thinp_xml/thinp/emit.rb', line 13 def emit_superblock(sb, &block) @e.emit_tag(sb, 'superblock', :uuid, :time, :transaction, :data_block_size, :nr_data_blocks, &block) end |