Method: JsDuck::Merger#detect_extends

Defined in:
lib/jsduck/merger.rb

#detect_extends(doc_map, code) ⇒ Object



293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/jsduck/merger.rb', line 293

def detect_extends(doc_map, code)
  if doc_map[:extends]
    cls = doc_map[:extends].first[:extends]
  elsif code[:type] == :assignment && code[:right] && code[:right][:type] == :ext_extend
    cls = code[:right][:extend].join(".")
  elsif code[:type] == :ext_define
    # Classes defined with Ext.define will automatically inherit from Ext.Base
    cls = code[:extend] || "Ext.Base"
  else
    cls = nil
  end
  # Ignore extending of the Object class
  cls == "Object" ? nil : cls
end