Class: SistemKebut::XML::Administrasi
- Inherits:
-
Object
- Object
- SistemKebut::XML::Administrasi
- Defined in:
- lib/xml/administrasi.rb
Constant Summary collapse
- ACUAN =
%q(<?xml version="1.0" encoding="UTF-8" standalone="yes"?>)
Class Method Summary collapse
Instance Method Summary collapse
- #arsipkan(xml) ⇒ Object
-
#initialize ⇒ Administrasi
constructor
A new instance of Administrasi.
- #pasang(&blk) ⇒ Object
- #taruh(zos, lokasi, arsip) ⇒ Object
Constructor Details
#initialize ⇒ Administrasi
Returns a new instance of Administrasi.
72 73 74 |
# File 'lib/xml/administrasi.rb', line 72 def initialize @konten = [] end |
Class Method Details
.ekspor(berkas) ⇒ Object
114 115 116 117 118 119 120 121 |
# File 'lib/xml/administrasi.rb', line 114 def self.ekspor(berkas) Zip::ZipOutputStream.open(berkas) do |zos| praktisi = @instansi.pasang do |lokasi, arsip| @instansi.taruh(zos, lokasi, arsip) end praktisi.saring.perform end end |
.masukkan(xml) ⇒ Object
107 108 109 110 111 112 |
# File 'lib/xml/administrasi.rb', line 107 def self.masukkan(xml) return false unless xml.respond_to?(:lokasi) return false unless xml.respond_to?(:struktur) return true if @instansi.arsipkan(xml) return false end |
Instance Method Details
#arsipkan(xml) ⇒ Object
76 77 78 79 80 |
# File 'lib/xml/administrasi.rb', line 76 def arsipkan(xml) return false if @konten.find { |i| i.lokasi == xml.lokasi } @konten.push(xml) return true end |
#pasang(&blk) ⇒ Object
82 83 84 85 86 |
# File 'lib/xml/administrasi.rb', line 82 def pasang(&blk) return nil unless block_given? praktisi = @konten.collect { |k| Eksportir.new(k, &blk) } return Regulator.new(praktisi) end |
#taruh(zos, lokasi, arsip) ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/xml/administrasi.rb', line 88 def taruh(zos, lokasi, arsip) konten = nil if lokasi == :LOKASI_WORD_DOCUMENT webgen = KebutSemalam::Web::WebGenerate.new(arsip.serialize) konten = webgen.konten elsif arsip.xml? konten = String.new .concat(ACUAN) .concat("\n") .concat(arsip.serialize) else konten = arsip.serialize end zos.put_next_entry(lokasi) zos.write(konten) end |