Class | ActiveLdap::Ldif::Scanner |
In: |
lib/active_ldap/ldif.rb
|
Parent: | Object |
SEPARATOR | = | /(?:\r\n|\n)/u |
# File lib/active_ldap/ldif.rb, line 479 479: def initialize(source) 480: @source = source 481: @scanner = StringScanner.new(@source) 482: @sub_scanner = nil 483: @sub_scanner = next_segment || StringScanner.new("") 484: end
# File lib/active_ldap/ldif.rb, line 491 491: def check(regexp) 492: @sub_scanner = next_segment if @sub_scanner.eos? 493: @sub_scanner.check(regexp) 494: end
# File lib/active_ldap/ldif.rb, line 502 502: def check_separator 503: return @scanner.check(SEPARATOR) if @sub_scanner.eos? 504: 505: check(SEPARATOR) 506: end
# File lib/active_ldap/ldif.rb, line 539 539: def column 540: _consumed_source = consumed_source 541: return 1 if _consumed_source.empty? 542: 543: position - (_consumed_source.rindex("\n") || -1) 544: end
# File lib/active_ldap/ldif.rb, line 525 525: def eos? 526: @sub_scanner = next_segment if @sub_scanner.eos? 527: @sub_scanner.eos? and @scanner.eos? 528: end
# File lib/active_ldap/ldif.rb, line 530 530: def line 531: _consumed_source = consumed_source 532: return 1 if _consumed_source.empty? 533: 534: n = _consumed_source.to_a.size 535: n += 1 if _consumed_source[-1, 1] == "\n" 536: n 537: end
# File lib/active_ldap/ldif.rb, line 546 546: def position 547: @scanner.pos - (@sub_scanner.string.length - @sub_scanner.pos) 548: end
# File lib/active_ldap/ldif.rb, line 486 486: def scan(regexp) 487: @sub_scanner = next_segment if @sub_scanner.eos? 488: @sub_scanner.scan(regexp) 489: end
# File lib/active_ldap/ldif.rb, line 496 496: def scan_separator 497: return @scanner.scan(SEPARATOR) if @sub_scanner.eos? 498: 499: scan(SEPARATOR) 500: end
# File lib/active_ldap/ldif.rb, line 508 508: def scan_separators 509: return @scanner.scan(/#{SEPARATOR}+/u) if @sub_scanner.eos? 510: 511: sub_result = scan(/#{SEPARATOR}+/u) 512: return nil if sub_result.nil? 513: return sub_result unless @sub_scanner.eos? 514: 515: result = @scanner.scan(/#{SEPARATOR}+/u) 516: return sub_result if result.nil? 517: 518: sub_result + result 519: end
# File lib/active_ldap/ldif.rb, line 560 560: def consumed_source 561: @source[0, position] 562: end