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