# File lib/rufus/scheduler/cronline.rb, line 353
    def parse_weekdays(item)

      return nil if item == '*'

      weekdays = nil
      monthdays = nil

      item.downcase.split(',').each do |it|

        WEEKDAYS.each_with_index { |a, i| it.gsub!(/#{a}/, i.to_s) }

        it = it.gsub(/([^#])l/, '\1#-1')
          # "5L" == "5#-1" == the last Friday

        if m = it.match(/\A(.+)#(l|-?[12345])\z/)

          fail ArgumentError.new(
            "ranges are not supported for monthdays (#{it})"
          ) if m[1].index('-')

          it = it.gsub(/#l/, '#-1')

          (monthdays ||= []) << it

        else

          fail ArgumentError.new(
            "invalid weekday expression (#{item})"
          ) if it !~ /\A0*[0-7](-0*[0-7])?\z/

          its = it.index('-') ? parse_range(it, 0, 7) : [ Integer(it) ]
          its = its.collect { |i| i == 7 ? 0 : i }

          (weekdays ||= []).concat(its)
        end
      end

      weekdays = weekdays.uniq.sort if weekdays

      [ weekdays, monthdays ]
    end