module Support
  class DbClient
    def self.query_art_relations(query_string)
      @art_relations_client ||= new(:art_relations).client
      @art_relations_client.query(query_string)
    end

    def self.current_release_status(product_id)
      query = "SELECT release_status FROM releases WHERE release_id = #{product_id};"
      query_art_relations(query).first["release_status"]
    end

    def self.dd_client
      @dd_client ||= new(:dd).client
    end

    def self.query_qa_results(query_string)
      @qa_results ||= new(:qa_results).client
      @qa_results.query(query_string)
    end

    attr_reader :client

    private

    def initialize(type)
      @client = Mysql2::Client.new(CREDENTIALS[type])
    end
  end
end
