Sha256: 5db04686b07c71e9cc65ef8661d0e18d58bf4d90dc9c3410a81deda8c0758b89

Contents?: true

Size: 631 Bytes

Versions: 10

Compression:

Stored size: 631 Bytes

Contents

module Zapata
  class Analyst
    attr_reader :result

    def self.analyze(filename)
      code = Core::Reader.parse(filename)
      analyst = Analyst.new(code)
      result = analyst.result.dup
      analyst.clean
      result
    end

    def initialize(code)
      # class dive
      Diver.search_for(:klass)
      Diver.dive(code)
      # var dive
      Diver.search_for(:var)
      Diver.dive(code)
      # def dive
      Diver.search_for(:def)
      Diver.dive(code)
      # send dive
      Diver.search_for(:send)
      Diver.dive(code)

      @result = DB.all
    end

    def clean
      DB.destroy_all
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
zapata-0.1.6 lib/zapata/analyst.rb
zapata-0.1.5 lib/zapata/analyst.rb
zapata-0.1.4 lib/zapata/analyst.rb
zapata-0.1.3 lib/zapata/analyst.rb
zapata-0.1.2 lib/zapata/analyst.rb
zapata-0.1.1 lib/zapata/analyst.rb
zapata-0.1.0 lib/zapata/analyst.rb
zapata-0.0.3 lib/zapata/analyst.rb
zapata-0.0.2 lib/zapata/analyst.rb
zapata-0.0.1 lib/zapata/analyst.rb