Class: ASTModule

Inherits:
ASTEntity show all
Defined in:
lib/ripper/extract_constants.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ASTEntity

inherited, load, node_classes, node_classes_cache, node_for

Constructor Details

#initialize(*args) ⇒ ASTModule

Returns a new instance of ASTModule.



351
352
353
354
# File 'lib/ripper/extract_constants.rb', line 351

def initialize(*args)
  @module_name = args.find{|a| a.first == :const_ref}.last[1]
  @body = [ASTEntity.node_for(args.find{|a| a.first == :bodystmt})]
end

Class Method Details

.ripper_idObject



350
# File 'lib/ripper/extract_constants.rb', line 350

def self.ripper_id; :module end

Instance Method Details

#collect_constants(result, context) ⇒ Object



355
356
357
358
359
360
# File 'lib/ripper/extract_constants.rb', line 355

def collect_constants(result, context)
  result.declare_const(@module_name)
  result = result.nest(@module_name)
  context.module << @module_name
  super(result, context)
end