Sha256: addd43e153b48f8bd929ffb8fe2f4730dd6635986665b1392e8ad7fd9de0d614

Contents?: true

Size: 487 Bytes

Versions: 7

Compression:

Stored size: 487 Bytes

Contents

require 'cgi'

module CabbageDoc
  class Example
    include Parser

    attr_reader :label, :params

    def initialize
      @params = {}
    end

    def parse(text, tag = TAG)
      m = text.match(/^(.*?)\s+-\s+(\(.*?\))$/)
      return false unless m

      @label = m[1].strip
      @params = parse_option(m[2].strip)

      valid?
    end

    def to_query
      params.map { |k, v| "#{k}=#{CGI.escape(v)}" }.join("&")
    end

    def valid?
      !@label.nil?
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cabbage_doc-0.1.4 lib/cabbage_doc/example.rb
cabbage_doc-0.1.3 lib/cabbage_doc/example.rb
cabbage_doc-0.1.2 lib/cabbage_doc/example.rb
cabbage_doc-0.1.1 lib/cabbage_doc/example.rb
cabbage_doc-0.1.0 lib/cabbage_doc/example.rb
cabbage_doc-0.0.9 lib/cabbage_doc/example.rb
cabbage_doc-0.0.8 lib/cabbage_doc/example.rb