www/roster/models/attic.rb (19 lines of code) (raw):

class Attic def self.issues @issues = nil if @mtime and Time.now - @mtime > 300 unless @issues require 'cgi' query = 'project = ATTIC AND status in (Open, "In Progress", Reopened)' uri = URI.parse('https://issues.apache.org/jira/rest/api/2/search?jql=') Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| request = Net::HTTP::Get.new(uri.request_uri + CGI.escape(query)) response = http.request(request) @issues = JSON.parse(response.body)['issues'].map do |issue| [ issue['key'], issue['fields']['summary'] ] end end @mtime = Time.now end Hash[@issues] end end