Method: CabbageDoc::Parameter#parse

Defined in:
lib/cabbage_doc/parameter.rb

#parse(text, tag = TAG) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/cabbage_doc/parameter.rb', line 13

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

  @name, @type_label, @required = parse_name_type_required(m[1].strip)
  @type = @type_label.downcase.to_sym if @type_label

  @required = !!@required

  @label, @default, @values = parse_label_default_values(m[2].strip)
  @values ||= []

  valid?
end