Class: JsDuck::Process::Ext4Events
- Inherits:
- 
      Object
      
        - Object
- JsDuck::Process::Ext4Events
 
- Defined in:
- lib/jsduck/process/ext4_events.rb
Overview
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.
Constant Summary collapse
- OPTIONS =
- { :tagname => :params, :name => "eOpts", :type => "Object", :doc => "The options object passed to {@link Ext.util.Observable#addListener}.", :ext4_auto_param => true, } 
Instance Method Summary collapse
- 
  
    
      #ext4_style_code?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Are we dealing with code looking like ExtJS 4? True if any of the classes is defined with Ext.define(). 
- 
  
    
      #initialize(classes, opts = {})  ⇒ Ext4Events 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Ext4Events. 
- #process(cls) ⇒ Object
- #process_all! ⇒ Object
Constructor Details
#initialize(classes, opts = {}) ⇒ Ext4Events
Returns a new instance of Ext4Events.
| 10 11 12 13 | # File 'lib/jsduck/process/ext4_events.rb', line 10 def initialize(classes, opts={}) @classes = classes @opts = opts end | 
Instance Method Details
#ext4_style_code? ⇒ Boolean
Are we dealing with code looking like ExtJS 4? True if any of the classes is defined with Ext.define()
| 23 24 25 | # File 'lib/jsduck/process/ext4_events.rb', line 23 def ext4_style_code? @classes.values.any? {|cls| cls[:code_type] == :ext_define } end | 
#process(cls) ⇒ Object
| 27 28 29 30 31 | # File 'lib/jsduck/process/ext4_events.rb', line 27 def process(cls) cls[:members].each do |m| m[:params] << OPTIONS if m[:tagname] == :event end end | 
#process_all! ⇒ Object
| 15 16 17 18 19 | # File 'lib/jsduck/process/ext4_events.rb', line 15 def process_all! if @opts[:ext4_events] == true || (@opts[:ext4_events] == nil && ext4_style_code?) @classes.each_value {|cls| process(cls) } end end |