class Rabbit::READMEParser
Constants
- HEADING_MARK_RE
Attributes
description[R]
logger[RW]
title[R]
Public Class Methods
new(logger=nil)
click to toggle source
# File lib/rabbit/readme-parser.rb, line 27 def initialize(logger=nil) @logger = logger || Logger.default @title = nil @description = nil end
Public Instance Methods
parse(path=nil)
click to toggle source
# File lib/rabbit/readme-parser.rb, line 33 def parse(path=nil) path ||= remove_backup_paths(Dir.glob("README*"))[0] raise _("No README found") if path.nil? parse_content(File.read(path)) end
Private Instance Methods
parse_content(content)
click to toggle source
# File lib/rabbit/readme-parser.rb, line 42 def parse_content(content) blocks = content.split(/(?:\r?\n){2,}/) if blocks[0] @title = blocks[0].gsub(HEADING_MARK_RE, "") end first_paragraph_blocks = [] blocks[1..-1].each do |block| break if HEADING_MARK_RE =~ block first_paragraph_blocks << block end @description = first_paragraph_blocks.join("\n\n") end
remove_backup_paths(paths)
click to toggle source
# File lib/rabbit/readme-parser.rb, line 55 def remove_backup_paths(paths) paths.reject do |path| path.end_with?("~") end end