Sha256: e77933316511d661d904fd1fca9ecbbb0d467cc774231967f4848df2e2cb469f

Contents?: true

Size: 669 Bytes

Versions: 2

Compression:

Stored size: 669 Bytes

Contents

module Himekaminize
  class Task
    INCOMPLETE_PATTERN = /[-+*]\s\[\s\]\s/
    COMPLETE_PATTERN = /[-+*]\s\[[xX]\]\s/

    attr_accessor :name, :status, :sequence

    COMPLETE_STATUSE = :complete
    INCOMPLETE_STATUSE = :incomplete

    def initialize(line, sequence)
      @sequence = sequence
      @status, @name = split_name_and_status(line)
    end

    private
    def split_name_and_status(line)
      /\A\s*(#{INCOMPLETE_PATTERN}|#{COMPLETE_PATTERN})(.*)/.match(line) do |m|
        if m[1] =~ /#{INCOMPLETE_PATTERN}/
          return [INCOMPLETE_STATUSE, m[2]]
        else
          return [COMPLETE_STATUSE, m[2]]
        end
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
himekaminize-0.0.2 lib/himekaminize/task.rb
himekaminize-0.0.1 lib/himekaminize/task.rb