INNER CODE UNIT · Ruby

self

thesp0nge/dawnscanner · lib/dawn/core.rb:63

    def self.guess_mvc(gemfile_lock)
      ret = {:name=>"", :version=>"", :connected_gems=>[]}

      a = []
      my_dir = Dir.pwd
      Dir.chdir(File.dirname(gemfile_lock))
      raise ArgumentError.new("can't read #{gemfile_lock}") unless File.readable?(File.basename(gemfile_lock))

      lockfile = Bundler::LockfileParser.new(Bundler.read_file(File.basename(gemfile_lock)))
      Dir.chdir(my_dir)
      lockfile.specs.each do |s|
        ret = {:name=>s.name, :version=>s.version.to_s} if s.name == "rails" || s.name == "sinatra"
        a << {:name=>s.name, :version=>s.version.to_s}
      end

      ret[:connected_gems]=a
      ret

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…