class Moguro::Processors::ArgumentsProcessor

Attributes

rule[R]

Public Class Methods

new(klass, clause) click to toggle source
Calls superclass method
# File lib/moguro/processors/arguments_processor.rb, line 8
def initialize(klass, clause)
  @klass = klass
  @clause = clause
  super()
end

Public Instance Methods

on_const(node) click to toggle source
Calls superclass method
# File lib/moguro/processors/arguments_processor.rb, line 14
def on_const(node)
  symbol = node.children.last
  validator = Moguro::Types.get_type_validator_from_const(get_const(symbol))
  @array_processor = nil
  @clause.add_type(validator)
  super node
end
on_nil(_node) click to toggle source
# File lib/moguro/processors/arguments_processor.rb, line 22
def on_nil(_node)
  validator = Moguro::Types.get_type_validator_from_const(nil)
  @clause.add_type(validator)
end
on_send(node) click to toggle source
# File lib/moguro/processors/arguments_processor.rb, line 27
def on_send(node)
  return unless node.children[1] == :[]
  @clause.pop_type
  @clause.add_type(
    Moguro::Processors::EnumerableProcessor.generate_type_validator(node, @klass)
  )
end

Private Instance Methods

get_const(symbol) click to toggle source
# File lib/moguro/processors/arguments_processor.rb, line 37
def get_const(symbol)
  @klass.const_get(symbol)
end