Class: JsDuck::Process::Overrides
- Inherits:
-
Object
- Object
- JsDuck::Process::Overrides
- Defined in:
- lib/jsduck/process/overrides.rb
Instance Method Summary collapse
-
#initialize(classes_hash, opts = OpenStruct.new(:external => [])) ⇒ Overrides
constructor
A new instance of Overrides.
-
#process_all! ⇒ Object
Applies all override classes to target classes, then deletes the overrides themselves from classes hash and adds the names of all the processed overrides to external classes list in options object.
Constructor Details
#initialize(classes_hash, opts = OpenStruct.new(:external => [])) ⇒ Overrides
Returns a new instance of Overrides.
8 9 10 11 |
# File 'lib/jsduck/process/overrides.rb', line 8 def initialize(classes_hash, opts = OpenStruct.new(:external => [])) @classes_hash = classes_hash @opts = opts end |
Instance Method Details
#process_all! ⇒ Object
Applies all override classes to target classes, then deletes the overrides themselves from classes hash and adds the names of all the processed overrides to external classes list in options object.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/jsduck/process/overrides.rb', line 17 def process_all! overrides = [] @classes_hash.each_value do |cls| if cls[:override] process(cls) overrides << cls end end # discard each override class overrides.each do |cls| @classes_hash.delete(cls[:name]) end @opts.external += overrides.map {|c| c[:name] } end |