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 = {:external_classes => []}) ⇒ 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 = {:external_classes => []}) ⇒ Overrides
Returns a new instance of Overrides.
7 8 9 10 |
# File 'lib/jsduck/process/overrides.rb', line 7 def initialize(classes_hash, opts = {:external_classes => []}) @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.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/jsduck/process/overrides.rb', line 16 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_classes] += overrides.map {|c| c[:name] } end |