class Docks::Tags::Since

Public Class Methods

new() click to toggle source
# File lib/docks/tags/since_tag.rb, line 4
def initialize
  @name = :since
  @synonyms = [:introduced_in]
end

Public Instance Methods

process(symbol) click to toggle source
# File lib/docks/tags/since_tag.rb, line 9
def process(symbol)
  symbol.update(@name) do |since|
    since = multiline_description(since) do |first_line|
      if match = first_line.match(/\s*(?<version>[0-9a-zA\.\-_]*)(?:\s+\-?\s*(?<description>.*))?/)
        description = match[:description]
        {
          version: match[:version],
          description: description.nil? || description.length == 0 ? nil : match[:description]
        }
      end
    end

    OpenStruct.new(since)
  end
end