Sha256: 7462edcab7e3792565dc347293df025f9d5e55aedba8cef08767eab8ee6e83f6

Contents?: true

Size: 695 Bytes

Versions: 1

Compression:

Stored size: 695 Bytes

Contents

class Exercism
  module Processors

    class CallProcessor < Processor

      class Partial
        def initialize(method_names)
          @method_names = method_names
        end

        def new
          CallProcessor.new(@method_names)
        end
      end

      def self.partial(method_names)
        Partial.new(method_names)
      end

      def initialize(method_names)
        @method_names = method_names
        @calls = []
      end

      def process_command(exp)
        @calls << exp if @method_names.include?(exp.value)
      end

      alias process_call process_command
      alias process_fcall process_command

      def result
        @calls
      end

    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
exercism-analysis-0.1.1 lib/exercism-analysis/processors/call_processor.rb