class Moguro::Processors::ContractProcessor
Constants
- Rule
Attributes
clauses[R]
Public Class Methods
generate_type_validator(function, klass)
click to toggle source
# File lib/moguro/processors/contract_processor.rb, line 37 def generate_type_validator(function, klass) ast = ContractParser.new( function.source ).parse processor = ContractProcessor.new(klass) processor.process(ast) processor.clauses end
new(klass)
click to toggle source
Calls superclass method
# File lib/moguro/processors/contract_processor.rb, line 19 def initialize(klass) @current_arg = nil @klass = klass @clauses = Clauses.new super() end
Public Instance Methods
on_kwarg(node)
click to toggle source
Calls superclass method
# File lib/moguro/processors/contract_processor.rb, line 26 def on_kwarg(node) process_args(node) super node end
on_kwoptarg(node)
click to toggle source
Calls superclass method
# File lib/moguro/processors/contract_processor.rb, line 31 def on_kwoptarg(node) process_args(node) super node end
Private Instance Methods
current_clause()
click to toggle source
# File lib/moguro/processors/contract_processor.rb, line 61 def current_clause clauses.last end
process_args(node)
click to toggle source
# File lib/moguro/processors/contract_processor.rb, line 50 def process_args(node) argument_key, _other = *node rotate_rule(argument_key) processor = ArgumentsProcessor.new(@klass, current_clause) processor.process(node) end
rotate_rule(argument_key)
click to toggle source
# File lib/moguro/processors/contract_processor.rb, line 57 def rotate_rule(argument_key) @clauses.add_verified_argument(argument_key) end