Method: JsDuck::Merger#detect_name

Defined in:
lib/jsduck/merger.rb

#detect_name(tagname, doc_map, code, name_type = :last_name) ⇒ Object



248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'lib/jsduck/merger.rb', line 248

def detect_name(tagname, doc_map, code, name_type = :last_name)
  main_tag = doc_map[tagname] ? doc_map[tagname].first : {}
  if main_tag[:name]
    main_tag[:name]
  elsif doc_map[:constructor]
    "constructor"
  elsif code[:type] == :function || code[:type] == :css_mixin
    code[:name]
  elsif code[:type] == :assignment
    name_type == :full_name ? code[:left].join(".") : code[:left].last
  elsif code[:type] == :ext_define
    name_type == :full_name ? code[:name] : code[:name].split(/\./).last
  else
    ""
  end
end