class Nanoc::Extra::SrcsetParser
@api private
Constants
- REGEX_REST
Public Class Methods
Source
# File lib/nanoc/extra/srcset_parser.rb, line 30 def initialize(value) @value = value end
Public Instance Methods
Source
# File lib/nanoc/extra/srcset_parser.rb, line 34 def call matches = [] loop do match = {} scan(/\s*/) match[:url] = scan(/[^, ]+/) match[:rest] = scan(REGEX_REST) scan(/\s*/) matches << match next if try_scan(/,/) break if eos? raise(InvalidFormat) end matches rescue InvalidFormat @value end
Private Instance Methods
Source
# File lib/nanoc/extra/srcset_parser.rb, line 60 def scan(pattern) match = try_scan(pattern) match || raise(InvalidFormat) end
Source
# File lib/nanoc/extra/srcset_parser.rb, line 74 def scanner @_scanner ||= StringScanner.new(@value) end
Source
# File lib/nanoc/extra/srcset_parser.rb, line 66 def try_scan(pattern) scanner.scan(pattern) end