Sha256: 14fd100cb5474f304f7b5b41bcf9b5bfd9fb5390ee32699cb02497064b24e84e

Contents?: true

Size: 762 Bytes

Versions: 1

Compression:

Stored size: 762 Bytes

Contents

module Gemnasium
  class Alert
    
    def self.all
      connection = Faraday.new(url: "https://api.gemnasium.com/v1/")
      connection.basic_auth "X", Houston.config.gemnasium[:api_key]
      connection.use Faraday::RaiseErrors
      
      response = connection.get "projects"
      projects = MultiJson.load(response.body).values.flatten
      
      projects.parallel.map do |project|
        response = connection.get "projects/#{project["slug"]}/alerts"
        Array(MultiJson.load(response.body)).map { |alert| alert.merge(
          "project_id" => project["slug"],
          "project_slug" => project["name"]) }
      end.flatten.compact
    end
    
    def self.open
      all.select { |alert| alert["status"] != "closed" }
    end
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
houston-core-0.5.0.beta1 app/models/gemnasium/alert.rb