Class: Csvlint::Validator::LineCSV
- Inherits:
-
CSV
- Object
- CSV
- Csvlint::Validator::LineCSV
- Defined in:
- lib/csvlint/validate.rb
Constant Summary collapse
- ENCODE_RE =
Hash.new do |h, str| h[str] = Regexp.new(str) end
- ENCODE_STR =
Hash.new do |h, encoding_name| h[encoding_name] = Hash.new do |h, chunks| h[chunks] = chunks.map { |chunk| chunk.encode(encoding_name) }.join("") end end
- ESCAPE_RE =
Hash.new do |h, re_chars| h[re_chars] = Hash.new do |h, re_esc| h[re_esc] = Hash.new do |h, str| h[str] = str.gsub(re_chars) { |c| re_esc + c } end end end
Instance Method Summary collapse
-
#encode_re(*chunks) ⇒ Object
Optimization: Memoize ‘encode_re`.
-
#encode_str(*chunks) ⇒ Object
Optimization: Memoize ‘encode_str`.
-
#escape_re(str) ⇒ Object
Optimization: Memoize ‘escape_re`.
-
#init_converters(options, field_name = :converters) ⇒ Object
Optimization: Disable the CSV library’s converters feature.
Instance Method Details
#encode_re(*chunks) ⇒ Object
Optimization: Memoize ‘encode_re`.
24 25 26 |
# File 'lib/csvlint/validate.rb', line 24 def encode_re(*chunks) ENCODE_RE[encode_str(*chunks)] end |
#encode_str(*chunks) ⇒ Object
Optimization: Memoize ‘encode_str`.
30 31 32 |
# File 'lib/csvlint/validate.rb', line 30 def encode_str(*chunks) ENCODE_STR[@encoding.name][chunks] end |
#escape_re(str) ⇒ Object
Optimization: Memoize ‘escape_re`.
36 37 38 |
# File 'lib/csvlint/validate.rb', line 36 def escape_re(str) ESCAPE_RE[@re_chars][@re_esc][str] end |
#init_converters(options, field_name = :converters) ⇒ Object
Optimization: Disable the CSV library’s converters feature.
43 44 45 46 47 48 |
# File 'lib/csvlint/validate.rb', line 43 def init_converters(, field_name = :converters) @converters = [] @header_converters = [] .delete(:unconverted_fields) .delete(field_name) end |