Loading lib/jsduck/aggregator.rb +0 −21 Original line number Diff line number Diff line Loading @@ -200,21 +200,6 @@ module JsDuck end end # Appends Ext4 options parameter to each event parameter list. def append_ext4_event_options options = { :tagname => :param, :name => "eOpts", :type => "Object", :doc => "The options object passed to {@link Ext.util.Observable#addListener}." } @classes.each_value do |cls| cls[:members].each do |m| m[:params] << options if m[:tagname] == :event end end end # Processes all overrides. # Returns list of override classes. def process_overrides Loading @@ -226,12 +211,6 @@ module JsDuck end end # Are we dealing with ExtJS 4? # True if any of the classes is defined with Ext.define() def ext4? @documentation.any? {|cls| cls[:code_type] == :ext_define } end def result @documentation + @orphans end Loading lib/jsduck/batch_parser.rb +2 −3 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ require 'jsduck/source/file' require 'jsduck/aggregator' require 'jsduck/enum' require 'jsduck/accessors' require 'jsduck/ext4_events' require 'jsduck/class' require 'jsduck/relations' require 'jsduck/logger' Loading Loading @@ -61,9 +62,7 @@ module JsDuck agr.create_global_class agr.remove_ignored_classes Accessors.new(agr.classes).create_all! if @opts.ext4_events == true || (@opts.ext4_events == nil && agr.ext4?) agr.append_ext4_event_options end Ext4Events.new(agr.classes, @opts).process_all! Enum.new(agr.classes).process_all! # Ignore override classes after applying them to actual classes @opts.external_classes += agr.process_overrides.map {|o| o[:name] } Loading lib/jsduck/ext4_events.rb 0 → 100644 +41 −0 Original line number Diff line number Diff line module JsDuck # 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 => :param, :name => "eOpts", :type => "Object", :doc => "The options object passed to {@link Ext.util.Observable#addListener}." } end end spec/aggregator_ext4_events_spec.rb +2 −2 Original line number Diff line number Diff line require "jsduck/aggregator" require "jsduck/source/file" require "jsduck/ext4_events" describe JsDuck::Aggregator do def parse(string) agr = JsDuck::Aggregator.new agr.aggregate(JsDuck::Source::File.new(string)) agr.append_ext4_event_options if agr.ext4? JsDuck::Ext4Events.new(agr.classes).process_all! agr.result end Loading Loading @@ -84,4 +85,3 @@ describe JsDuck::Aggregator do end end Loading
lib/jsduck/aggregator.rb +0 −21 Original line number Diff line number Diff line Loading @@ -200,21 +200,6 @@ module JsDuck end end # Appends Ext4 options parameter to each event parameter list. def append_ext4_event_options options = { :tagname => :param, :name => "eOpts", :type => "Object", :doc => "The options object passed to {@link Ext.util.Observable#addListener}." } @classes.each_value do |cls| cls[:members].each do |m| m[:params] << options if m[:tagname] == :event end end end # Processes all overrides. # Returns list of override classes. def process_overrides Loading @@ -226,12 +211,6 @@ module JsDuck end end # Are we dealing with ExtJS 4? # True if any of the classes is defined with Ext.define() def ext4? @documentation.any? {|cls| cls[:code_type] == :ext_define } end def result @documentation + @orphans end Loading
lib/jsduck/batch_parser.rb +2 −3 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ require 'jsduck/source/file' require 'jsduck/aggregator' require 'jsduck/enum' require 'jsduck/accessors' require 'jsduck/ext4_events' require 'jsduck/class' require 'jsduck/relations' require 'jsduck/logger' Loading Loading @@ -61,9 +62,7 @@ module JsDuck agr.create_global_class agr.remove_ignored_classes Accessors.new(agr.classes).create_all! if @opts.ext4_events == true || (@opts.ext4_events == nil && agr.ext4?) agr.append_ext4_event_options end Ext4Events.new(agr.classes, @opts).process_all! Enum.new(agr.classes).process_all! # Ignore override classes after applying them to actual classes @opts.external_classes += agr.process_overrides.map {|o| o[:name] } Loading
lib/jsduck/ext4_events.rb 0 → 100644 +41 −0 Original line number Diff line number Diff line module JsDuck # 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 => :param, :name => "eOpts", :type => "Object", :doc => "The options object passed to {@link Ext.util.Observable#addListener}." } end end
spec/aggregator_ext4_events_spec.rb +2 −2 Original line number Diff line number Diff line require "jsduck/aggregator" require "jsduck/source/file" require "jsduck/ext4_events" describe JsDuck::Aggregator do def parse(string) agr = JsDuck::Aggregator.new agr.aggregate(JsDuck::Source::File.new(string)) agr.append_ext4_event_options if agr.ext4? JsDuck::Ext4Events.new(agr.classes).process_all! agr.result end Loading Loading @@ -84,4 +85,3 @@ describe JsDuck::Aggregator do end end