Sha256: 6f1e22256d2fa387e3aaf4189796a20820e9f2f48fda31f1d38eb6e0d8813b22
Contents?: true
Size: 1.16 KB
Versions: 13
Compression:
Stored size: 1.16 KB
Contents
module JsDuck module Process # Appends Ext4 options parameter to the parameter list of each event # in each class. # # But only does so when :ext4_events option is set to true or the # code itself is detected as being writted in Ext4 style. class Ext4Events def initialize(classes, opts={}) @classes = classes @opts = opts end def process_all! if @opts[:ext4_events] == true || (@opts[:ext4_events] == nil && ext4_style_code?) @classes.each_value {|cls| process(cls) } end end # Are we dealing with code looking like ExtJS 4? # True if any of the classes is defined with Ext.define() def ext4_style_code? @classes.values.any? {|cls| cls[:code_type] == :ext_define } end def process(cls) cls[:members].each do |m| m[:params] << OPTIONS if m[:tagname] == :event end end OPTIONS = { :tagname => :params, :name => "eOpts", :type => "Object", :doc => "The options object passed to {@link Ext.util.Observable#addListener}.", :ext4_auto_param => true, } end end end
Version data entries
13 entries across 13 versions & 1 rubygems