Class: StructuredDataToSql::MysqlDumpXml::Sanitizer
- Inherits:
-
Object
- Object
- StructuredDataToSql::MysqlDumpXml::Sanitizer
- Defined in:
- lib/structured_data_to_sql/mysql_dump_xml/sanitizer.rb
Constant Summary collapse
- UNESCAPED_AMP =
/&(?!(?:amp|lt|gt|quot|apos|#\d+|#x[0-9a-fA-F]+);)/- XML_SANITIZER_TAIL =
128- CDATA_START =
"<![CDATA["- CDATA_END =
"]]>"
Instance Method Summary collapse
- #feed(chunk, &block) ⇒ Object
- #finish(&block) ⇒ Object
-
#initialize(path:, scrub_invalid_xml_chars:, invalid_xml_handler:) ⇒ Sanitizer
constructor
A new instance of Sanitizer.
- #skip_input_bytes(bytes) ⇒ Object
Constructor Details
#initialize(path:, scrub_invalid_xml_chars:, invalid_xml_handler:) ⇒ Sanitizer
Returns a new instance of Sanitizer.
13 14 15 16 17 18 19 20 |
# File 'lib/structured_data_to_sql/mysql_dump_xml/sanitizer.rb', line 13 def initialize(path:, scrub_invalid_xml_chars:, invalid_xml_handler:) @buffer = +"" @in_cdata = false @path = path @scrub_invalid_xml_chars = scrub_invalid_xml_chars @invalid_xml_handler = invalid_xml_handler @input_byte_offset = 0 end |
Instance Method Details
#feed(chunk, &block) ⇒ Object
22 23 24 25 |
# File 'lib/structured_data_to_sql/mysql_dump_xml/sanitizer.rb', line 22 def feed(chunk, &block) @buffer << clean_chunk(chunk) drain(final: false, &block) end |
#finish(&block) ⇒ Object
27 28 29 |
# File 'lib/structured_data_to_sql/mysql_dump_xml/sanitizer.rb', line 27 def finish(&block) drain(final: true, &block) end |
#skip_input_bytes(bytes) ⇒ Object
31 32 33 |
# File 'lib/structured_data_to_sql/mysql_dump_xml/sanitizer.rb', line 31 def skip_input_bytes(bytes) @input_byte_offset += bytes end |