Class | ActiveLdap::Ldif::Scanner |
In: |
lib/active_ldap/ldif.rb
|
Parent: | Object |
SEPARATOR | = | /(?:\r\n|\n)/ |
SEPARATORS | = | /(?:(?:^#.*)?#{SEPARATOR})+/ |
# File lib/active_ldap/ldif.rb, line 500 500: def initialize(source) 501: @source = source 502: @scanner = StringScanner.new(@source) 503: @sub_scanner = nil 504: @sub_scanner = next_segment || StringScanner.new("") 505: end
# File lib/active_ldap/ldif.rb, line 512 512: def check(regexp) 513: @sub_scanner = next_segment if @sub_scanner.eos? 514: @sub_scanner.check(regexp) 515: end
# File lib/active_ldap/ldif.rb, line 523 523: def check_separator 524: return @scanner.check(SEPARATOR) if @sub_scanner.eos? 525: 526: check(SEPARATOR) 527: end
# File lib/active_ldap/ldif.rb, line 560 560: def column 561: _consumed_source = consumed_source 562: return 1 if _consumed_source.empty? 563: 564: position - (_consumed_source.rindex("\n") || -1) 565: end
# File lib/active_ldap/ldif.rb, line 546 546: def eos? 547: @sub_scanner = next_segment if @sub_scanner.eos? 548: @sub_scanner.eos? and @scanner.eos? 549: end
# File lib/active_ldap/ldif.rb, line 551 551: def line 552: _consumed_source = consumed_source 553: return 1 if _consumed_source.empty? 554: 555: n = Compatible.string_to_lines(_consumed_source).size 556: n += 1 if _consumed_source[-1, 1] == "\n" 557: n 558: end
# File lib/active_ldap/ldif.rb, line 567 567: def position 568: sub_scanner_string = @sub_scanner.string 569: if sub_scanner_string.respond_to?(:bytesize) 570: sub_scanner_string_size = sub_scanner_string.bytesize 571: else 572: sub_scanner_string_size = sub_scanner_string.size 573: end 574: @scanner.pos - (sub_scanner_string_size - @sub_scanner.pos) 575: end
# File lib/active_ldap/ldif.rb, line 507 507: def scan(regexp) 508: @sub_scanner = next_segment if @sub_scanner.eos? 509: @sub_scanner.scan(regexp) 510: end
# File lib/active_ldap/ldif.rb, line 517 517: def scan_separator 518: return @scanner.scan(SEPARATOR) if @sub_scanner.eos? 519: 520: scan(SEPARATOR) 521: end
# File lib/active_ldap/ldif.rb, line 529 529: def scan_separators 530: return @scanner.scan(SEPARATORS) if @sub_scanner.eos? 531: 532: sub_result = scan(SEPARATORS) 533: return nil if sub_result.nil? 534: return sub_result unless @sub_scanner.eos? 535: 536: result = @scanner.scan(SEPARATORS) 537: return sub_result if result.nil? 538: 539: sub_result + result 540: end
# File lib/active_ldap/ldif.rb, line 587 587: def consumed_source 588: @source[0, position] 589: end