Sha256: 1f2645b30ac8a29342735e5ce666a490df54b76f308ab7f219e8a9f511f49ebd
Contents?: true
Size: 687 Bytes
Versions: 3
Compression:
Stored size: 687 Bytes
Contents
require 'roodi/checks/check' module Roodi module Checks class ParameterNumberCheck < Check DEFAULT_PARAMETER_COUNT = 3 def initialize(options = {}) super() @parameter_count = options['parameter_count'] || DEFAULT_PARAMETER_COUNT end def interesting_nodes [:defn] end def evaluate(node) method_name = node[1] arguments = node[2][1][1] parameter_count = arguments.inject(-1) { |count, each| count = count + (each.class == Symbol ? 1 : 0) } add_error({ :method => method_name, :parameters => parameter_count }) unless parameter_count <= @parameter_count end end end end
Version data entries
3 entries across 3 versions & 1 rubygems