pully 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bfac1f15dc32ea73cea429df9e08e5f6b1ce2603
4
- data.tar.gz: a02b5a8a9b17e3cf0f2a72f897cf921711cfcb89
3
+ metadata.gz: 72439241dc5b76e35e22d418d4d9d244461dda6f
4
+ data.tar.gz: 4902037b47f120482a278373ae6135d93e80daa6
5
5
  SHA512:
6
- metadata.gz: 60a3d82905a951e4a1e456340655c6a8863269a8aeaefaa84ed47b68a7a680128a57ddcb679057267dd5b886edffed9c8f023e4474d1be20d8ef7eab1c2151ca
7
- data.tar.gz: a7e963a02497934fa619f4eb6ba2a81e42c19b7949a1e598c17682b348a1213c80361da1da2bdc464ef6a7b7f472a3a3a56f40cddc5c2ea80b673211980a2e5f
6
+ metadata.gz: 80906d784784c1e7fc625a02f2731edb055debb605392a8ddf537ab3f04085f605c32991a62c57fe41f9e5bcaa4b1a8ae8b2afc1482155e2c49554303f888d96
7
+ data.tar.gz: 96c64213e4265778e44f6dfef352eba64cd7a2d814ae02a3c76d0e3d91ce5153233c877cf7f15b09a33bb33db43ab130338bb98f8cf290ae37f8286a2011d277
data/README.md CHANGED
@@ -20,6 +20,9 @@ require 'pully'
20
20
  #Create a new pully object, each pully object targets (1) repository.
21
21
  pully = Pully.new(user:"github_username", pass:"github_password", repo:"my_repository")
22
22
 
23
+ #Get a list of all open pull requests (An array of pull numbers)
24
+ open = pully.pull_requests
25
+
23
26
  #Create a new pull request to merge 'my_branch' into 'master' with the title 'My pull request' and the message 'Hey XXX...'
24
27
  pull_number = pully.create_pull_request(from:"my_branch", to:"master", subject:"My pull request", message:"Hey XXXX, can you merge this for me?")
25
28
 
data/lib/pully/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pully
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/pully.rb CHANGED
@@ -48,17 +48,17 @@ module Pully
48
48
  @gh_client.combined_status(@repo_selector, sha)["state"]
49
49
  end
50
50
 
51
+ def pull_requests
52
+ return @gh_client.pull_requests(@repo_selector, :state => 'open').map{|e| e["number"]}
53
+ end
54
+
51
55
  def set_pull_request_status(pull_number, status)
52
56
  sha = sha_for_pull_request pull_number
53
57
  @gh_client.create_status(@repo_selector, sha, status)
54
58
  end
55
59
 
56
- def merge_pull_request(pull_number)
57
- branches = pull_request_branches(pull_number)
58
- from_name = branches[:from]
59
- to_name = branches[:to]
60
- @gh_client.merge(@repo_selector, to_name, from_name)
61
- @gh_client.close_pull_request(@repo_selector, pull_number)
60
+ def merge_pull_request(pull_number, message='Merged Pull Request')
61
+ @gh_client.merge_pull_request(@repo_selector, pull_number, message)
62
62
  end
63
63
 
64
64
  def pull_request_branches(pull_number)
@@ -160,6 +160,11 @@ module Pully
160
160
  @git_client.object("HEAD").sha
161
161
  end
162
162
 
163
+ def latest_message branch_name
164
+ @git_client.checkout(branch_name)
165
+ @git_client.object("HEAD").message
166
+ end
167
+
163
168
  def master_branch
164
169
  @repo.default_branch
165
170
  end
data/spec/lib_spec.rb CHANGED
@@ -188,7 +188,7 @@ RSpec.describe "Library" do
188
188
  th.create_branch(new_branch_name)
189
189
  th.commit_new_random_file(new_branch_name)
190
190
 
191
- pully = Pully.new(user: gh_info["user"], pass: gh_info["pass"], repo: gh_info["org_repo"])
191
+ pully = Pully.new(user: gh_info["user"], pass: gh_info["pass"], repo: gh_info["org_repo"], owner: gh_info["org_owner"])
192
192
  pull_number = pully.create_pull_request(from:new_branch_name, to:"master", subject:"My pull request", message:"Hey XXXX, can you merge this for me?")
193
193
  branches = pully.pull_request_branches(pull_number)
194
194
 
@@ -208,15 +208,33 @@ RSpec.describe "Library" do
208
208
 
209
209
  pully = Pully.new(user: gh_info["user"], pass: gh_info["pass"], repo: gh_info["repo"])
210
210
  pull_number = pully.create_pull_request(from:new_branch_name, to:"master", subject:"My pull request", message:"Hey XXXX, can you merge this for me?")
211
- pully.merge_pull_request(pull_number)
211
+ msg = SecureRandom.hex
212
+ pully.merge_pull_request(pull_number, msg)
212
213
 
213
- #Check leading sha
214
+ #Commit message contains message given
214
215
  th = Pully::TestHelpers::Branch.new(user: gh_info["user"], pass: gh_info["pass"], repo_selector: repo_selector(user: gh_info["user"], repo: gh_info["repo"], owner:nil), clone_url: gh_info["clone_url"])
215
- expect(th.latest_sha("master")).to eq(last_sha)
216
+ expect(th.latest_message("master") =~ /#{msg}/).not_to eq(nil)
216
217
 
217
218
  #We expect the pull request to be closed
218
219
  expect(pully.pull_request_is_open?(pull_number)).to eq(false)
219
220
 
220
221
  th.delete_branch(new_branch_name)
221
222
  end
223
+
224
+ it "Can list pull requests" do
225
+ sleep 10
226
+ #test branch creator
227
+ new_branch_name = SecureRandom.hex
228
+ th = Pully::TestHelpers::Branch.new(user: gh_info["user"], pass: gh_info["pass"], repo_selector: repo_selector(user: gh_info["user"], repo: gh_info["repo"], owner:nil), clone_url: gh_info["clone_url"])
229
+ th.create_branch(new_branch_name)
230
+ last_sha = th.commit_new_random_file(new_branch_name)
231
+
232
+ pully = Pully.new(user: gh_info["user"], pass: gh_info["pass"], repo: gh_info["repo"])
233
+ pull_number = pully.create_pull_request(from:new_branch_name, to:"master", subject:"My pull request", message:"Hey XXXX, can you merge this for me?")
234
+
235
+ expect(pully.pull_requests).to include(pull_number)
236
+
237
+ th.delete_branch(new_branch_name)
238
+
239
+ end
222
240
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pully
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seo Townsend