class Moguro::Processors::EnumerableProcessor
Attributes
enumerate_validator[R]
Public Class Methods
new(klass)
click to toggle source
Calls superclass method
# File lib/moguro/processors/enumerable_processor.rb, line 8 def initialize(klass) @current_arg = nil @klass = klass @enumerate_validator = nil super() end
Private Class Methods
generate_type_validator(ast, klass)
click to toggle source
# File lib/moguro/processors/enumerable_processor.rb, line 35 def generate_type_validator(ast, klass) processor = EnumerableProcessor.new(klass) processor.process(ast) processor.enumerate_validator end
Public Instance Methods
on_const(node)
click to toggle source
Calls superclass method
# File lib/moguro/processors/enumerable_processor.rb, line 15 def on_const(node) symbol = node.children.last type = @klass.const_get(symbol) if @enumerate_validator.nil? @enumerate_validator ||= Moguro::Types::Enumerable.new(type) else validator = Moguro::Types.get_type_validator_from_const(type) @enumerate_validator.add_content_type(validator) end super node end
on_send(node)
click to toggle source
Calls superclass method
# File lib/moguro/processors/enumerable_processor.rb, line 27 def on_send(node) @base_type = false if node.children[1] == :[] super node end