ghx 0.0.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2062a41d9688feddf31afd4a24c6123e0662e80a57fccacd2f391df0800ca982
4
- data.tar.gz: aa47601036fad7b097f09f5c14f6d212507b6992ee3899766aa01bf6c2bdfb9a
3
+ metadata.gz: 54d0617ded0141f352b6e27b38245f8d269546093d328ffa8428cef0cc45ae0f
4
+ data.tar.gz: 52bd1ef5a4c214203938a1dbbadf487ac49c5fc398ccc17045ec2c400425ff80
5
5
  SHA512:
6
- metadata.gz: 8de5718bf86af69bbddacd5c2be8b86ba396d5d52c0887379bb7f83dd88be28a0defd4b618265429b3e713c29e6f231d6d28b541eb607906045552b01e78bb59
7
- data.tar.gz: b82f1220491758e33846e9dd74637f28194b560ca81e197927e38e6ebb881abba36d72e4f5083e0447eca37eafc3efc4b078d8704f650a957ccf2738d20b0a8e
6
+ metadata.gz: 14df558d839c2efb46d68b78482b30c7c6b26ba86be9c1c38a6e4d22202678f5e19f1a2f4a56f713060ba216523c75b2ee57945e590e10407059c5c9ce1a3382
7
+ data.tar.gz: 14c21c92397ade112c51e2bef0253bcd5d61a28a5b28b776c699fb0b8c6af392d9e611c03bb0aaa1575bf1ec075e7b337f2e717fe9dd4a85cb0995280f3d7932
@@ -1,7 +1,7 @@
1
1
  module GHX
2
2
  module Dependabot
3
3
  def self.get_alerts(owner:, repo:)
4
- GHX.rest_get("repos/#{owner}/#{repo}/dependabot/alerts?state=open&per_page=100").map do |alert|
4
+ GHX.rest_client.get("repos/#{owner}/#{repo}/dependabot/alerts?state=open&per_page=100").map do |alert|
5
5
  GHX::Dependabot::Alert.new(alert)
6
6
  end
7
7
  end
data/lib/ghx/issue.rb CHANGED
@@ -2,6 +2,17 @@ module GHX
2
2
  class Issue
3
3
  attr_accessor :owner, :repo, :number, :title, :body, :state, :state_reason, :author, :assignees, :labels, :milestone, :created_at, :updated_at, :closed_at
4
4
 
5
+ def self.search(owner:, repo:, query:)
6
+ data = GHX.rest_client.get("search/issues?q=#{URI.encode_www_form_component(query)}+is:issue+repo:#{owner}/#{repo}")
7
+ data.fetch("items").to_a.map do |issue_data|
8
+ new(owner: owner, repo: repo, **issue_data)
9
+ end
10
+ rescue => e
11
+ GHX.logger.error "Error searching for issues with query: #{e.message}"
12
+ GHX.logger.error "Received data: #{data}"
13
+ []
14
+ end
15
+
5
16
  def self.find(owner:, repo:, number:)
6
17
  response_data = GHX.rest_client.get("repos/#{owner}/#{repo}/issues/#{number}")
7
18
  new(owner: owner, repo: repo, **response_data)
@@ -46,14 +57,16 @@ module GHX
46
57
  end
47
58
 
48
59
  def update_attributes(hash)
49
- self.number = hash["number"]
50
- self.title = hash["title"]
51
- self.body = hash["body"]
52
- self.state = hash["state"]
53
- self.state_reason = hash["state_reason"]
54
- self.labels = hash["labels"]
55
- self.milestone = hash["milestone"]
56
- self.assignees = hash["assignees"]
60
+ hash.symbolize_keys!
61
+
62
+ self.number = hash[:number]
63
+ self.title = hash[:title]
64
+ self.body = hash[:body]
65
+ self.state = hash[:state]
66
+ self.state_reason = hash[:state_reason]
67
+ self.labels = hash[:labels]
68
+ self.milestone = hash[:milestone]
69
+ self.assignees = hash[:assignees]
57
70
  end
58
71
  end
59
72
  end
data/lib/ghx.rb CHANGED
@@ -3,6 +3,15 @@ require "net/http"
3
3
  require "json"
4
4
  require "octokit"
5
5
 
6
+ class Hash
7
+ def symbolize_keys!
8
+ keys.each do |key|
9
+ self[key.to_sym] = delete(key)
10
+ end
11
+ self
12
+ end
13
+ end
14
+
6
15
  require_relative "version"
7
16
  require_relative "ghx/graphql_client"
8
17
  require_relative "ghx/rest_client"
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module GHX
2
- VERSION = "0.0.3"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ghx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CompanyCam
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-17 00:00:00.000000000 Z
11
+ date: 2024-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit