Skip to content

Commit

Permalink
Standard
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffmcfadden committed May 17, 2024
1 parent 40f96c0 commit e8736be
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 11 deletions.
4 changes: 2 additions & 2 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
require 'bundler'
Bundler::GemHelper.install_tasks
require "bundler"
Bundler::GemHelper.install_tasks
9 changes: 9 additions & 0 deletions lib/ghx.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
require "json"
require "octokit"

class Hash
def symbolize_keys!
keys.each do |key|
self[key.to_sym] = delete(key)
end
self
end
end

require_relative "version"
require_relative "ghx/graphql_client"
require_relative "ghx/rest_client"
Expand Down
2 changes: 1 addition & 1 deletion lib/ghx/dependabot.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module GHX
module Dependabot
def self.get_alerts(owner:, repo:)
GHX.rest_get("repos/#{owner}/#{repo}/dependabot/alerts?state=open&per_page=100").map do |alert|
GHX.rest_client.get("repos/#{owner}/#{repo}/dependabot/alerts?state=open&per_page=100").map do |alert|
GHX::Dependabot::Alert.new(alert)
end
end
Expand Down
29 changes: 21 additions & 8 deletions lib/ghx/issue.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@ module GHX
class Issue
attr_accessor :owner, :repo, :number, :title, :body, :state, :state_reason, :author, :assignees, :labels, :milestone, :created_at, :updated_at, :closed_at

def self.search(owner:, repo:, query:)
data = GHX.rest_client.get("search/issues?q=#{URI.encode_www_form_component(query)}+is:issue+repo:#{owner}/#{repo}")
data.fetch("items").to_a.map do |issue_data|
new(owner: owner, repo: repo, **issue_data)
end
rescue => e
GHX.logger.error "Error searching for issues with query: #{e.message}"
GHX.logger.error "Received data: #{data}"
[]
end

def self.find(owner:, repo:, number:)
response_data = GHX.rest_client.get("repos/#{owner}/#{repo}/issues/#{number}")
new(owner: owner, repo: repo, **response_data)
Expand Down Expand Up @@ -46,14 +57,16 @@ def update
end

def update_attributes(hash)
self.number = hash["number"]
self.title = hash["title"]
self.body = hash["body"]
self.state = hash["state"]
self.state_reason = hash["state_reason"]
self.labels = hash["labels"]
self.milestone = hash["milestone"]
self.assignees = hash["assignees"]
hash.symbolize_keys!

self.number = hash[:number]
self.title = hash[:title]
self.body = hash[:body]
self.state = hash[:state]
self.state_reason = hash[:state_reason]
self.labels = hash[:labels]
self.milestone = hash[:milestone]
self.assignees = hash[:assignees]
end
end
end

0 comments on commit e8736be

Please sign in to comment.