# frozen_string_literal: true module NeetoCompliance class GemsVerifierBase < Base def gems [] end def latest_versions @_latest_versions ||= _latest_versions end def _latest_versions JSON.parse(Net::HTTP.get_response(URI("https://neeto-library-stable-versions.herokuapp.com/versions")).body) end def valid? @failed_gems = [] gems.map do |gem| gv = GemVersionVerifier.new(gem[:name], gem[:repo], latest_versions[gem[:repo]]) unless gv.valid? @failed_gems << gem[:name] end end @failed_gems.empty? end def autofix_command "bundle update #{@failed_gems.join(' ')}" end end end