geet 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: c29c38895b2fd22b51cba179ee16e94f13c20104
4
- data.tar.gz: cc3838fd34621971c813f48c282981758f558acf
3
+ metadata.gz: c69155e9e97f1f2d9a6c7d2f92a3d6061b1f0d7b
4
+ data.tar.gz: 1309d96f3a9bee28f08c9b8108259ea801c7360d
5
5
  SHA512:
6
- metadata.gz: 617d8c5acc3b8bc88b49680a39dbf9e0079ef9128ed026bdcb02cb7f241793d70700debd790c52ad8f54612475261c586ca50ddf8559832bdbd77b963fcd68d8
7
- data.tar.gz: de39813e76e1323296a7bc69f77e82ce4b285c8a31364f596e06120941efce5be7464d559705bc08fbe08f82908bf2be93a61398e31653363165c0a8b4276ae2
6
+ metadata.gz: e9e3604b6756b46c41ddf8da1bcad0f240d03ec08e5b14de00e3ffa577600bcf0504214fa57e6319580d9edf5ccecea2a407d9700f7fb98c0b1fc3ba839da859
7
+ data.tar.gz: 6a163c13f60584f65177aca5ce7ad92e2932b476c23a48e0fd1ee29090a54af598a7f1d72845d67b10f6730eb425dbf226649dac9a538b866b82641b462f6b57
@@ -1,12 +1,12 @@
1
- GNU GENERAL PUBLIC LICENSE
2
- ==========================
3
- Version 3, 29 June 2007
4
- ==========================
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 3, 29 June 2007
5
3
 
6
- > Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
7
- Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
4
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5
+ Everyone is permitted to copy and distribute verbatim copies
6
+ of this license document, but changing it is not allowed.
7
+
8
+ Preamble
8
9
 
9
- # Preamble
10
10
  The GNU General Public License is a free, copyleft license for
11
11
  software and other kinds of works.
12
12
 
@@ -68,35 +68,35 @@ patents cannot be used to render the program non-free.
68
68
  The precise terms and conditions for copying, distribution and
69
69
  modification follow.
70
70
 
71
- # TERMS AND CONDITIONS
71
+ TERMS AND CONDITIONS
72
72
 
73
- ## 0. Definitions.
73
+ 0. Definitions.
74
74
 
75
- _"This License"_ refers to version 3 of the GNU General Public License.
75
+ "This License" refers to version 3 of the GNU General Public License.
76
76
 
77
- _"Copyright"_ also means copyright-like laws that apply to other kinds of
77
+ "Copyright" also means copyright-like laws that apply to other kinds of
78
78
  works, such as semiconductor masks.
79
79
 
80
- _"The Program"_ refers to any copyrightable work licensed under this
81
- License. Each licensee is addressed as _"you"_. _"Licensees"_ and
80
+ "The Program" refers to any copyrightable work licensed under this
81
+ License. Each licensee is addressed as "you". "Licensees" and
82
82
  "recipients" may be individuals or organizations.
83
83
 
84
- To _"modify"_ a work means to copy from or adapt all or part of the work
84
+ To "modify" a work means to copy from or adapt all or part of the work
85
85
  in a fashion requiring copyright permission, other than the making of an
86
- exact copy. The resulting work is called a _"modified version"_ of the
87
- earlier work or a work _"based on"_ the earlier work.
86
+ exact copy. The resulting work is called a "modified version" of the
87
+ earlier work or a work "based on" the earlier work.
88
88
 
89
- A _"covered work"_ means either the unmodified Program or a work based
89
+ A "covered work" means either the unmodified Program or a work based
90
90
  on the Program.
91
91
 
92
- To _"propagate"_ a work means to do anything with it that, without
92
+ To "propagate" a work means to do anything with it that, without
93
93
  permission, would make you directly or secondarily liable for
94
94
  infringement under applicable copyright law, except executing it on a
95
95
  computer or modifying a private copy. Propagation includes copying,
96
96
  distribution (with or without modification), making available to the
97
97
  public, and in some countries other activities as well.
98
98
 
99
- To _"convey"_ a work means any kind of propagation that enables other
99
+ To "convey" a work means any kind of propagation that enables other
100
100
  parties to make or receive copies. Mere interaction with a user through
101
101
  a computer network, with no transfer of a copy, is not conveying.
102
102
 
@@ -109,18 +109,18 @@ work under this License, and how to view a copy of this License. If
109
109
  the interface presents a list of user commands or options, such as a
110
110
  menu, a prominent item in the list meets this criterion.
111
111
 
112
- ## 1. Source Code.
112
+ 1. Source Code.
113
113
 
114
- The _"source code"_ for a work means the preferred form of the work
115
- for making modifications to it. _"Object code"_ means any non-source
114
+ The "source code" for a work means the preferred form of the work
115
+ for making modifications to it. "Object code" means any non-source
116
116
  form of a work.
117
117
 
118
- A _"Standard Interface"_ means an interface that either is an official
118
+ A "Standard Interface" means an interface that either is an official
119
119
  standard defined by a recognized standards body, or, in the case of
120
120
  interfaces specified for a particular programming language, one that
121
121
  is widely used among developers working in that language.
122
122
 
123
- The _"System Libraries"_ of an executable work include anything, other
123
+ The "System Libraries" of an executable work include anything, other
124
124
  than the work as a whole, that (a) is included in the normal form of
125
125
  packaging a Major Component, but which is not part of that Major
126
126
  Component, and (b) serves only to enable use of the work with that
@@ -131,7 +131,7 @@ implementation is available to the public in source code form. A
131
131
  (if any) on which the executable work runs, or a compiler used to
132
132
  produce the work, or an object code interpreter used to run it.
133
133
 
134
- The _"Corresponding Source"_ for a work in object code form means all
134
+ The "Corresponding Source" for a work in object code form means all
135
135
  the source code needed to generate, install, and (for an executable
136
136
  work) run the object code and to modify the work, including scripts to
137
137
  control those activities. However, it does not include the work's
@@ -151,7 +151,7 @@ Source.
151
151
  The Corresponding Source for a work in source code form is that
152
152
  same work.
153
153
 
154
- ## 2. Basic Permissions.
154
+ 2. Basic Permissions.
155
155
 
156
156
  All rights granted under this License are granted for the term of
157
157
  copyright on the Program, and are irrevocable provided the stated
@@ -176,7 +176,7 @@ your copyrighted material outside their relationship with you.
176
176
  the conditions stated below. Sublicensing is not allowed; section 10
177
177
  makes it unnecessary.
178
178
 
179
- ## 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
179
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180
180
 
181
181
  No covered work shall be deemed part of an effective technological
182
182
  measure under any applicable law fulfilling obligations under article
@@ -192,7 +192,7 @@ modification of the work as a means of enforcing, against the work's
192
192
  users, your or third parties' legal rights to forbid circumvention of
193
193
  technological measures.
194
194
 
195
- ## 4. Conveying Verbatim Copies.
195
+ 4. Conveying Verbatim Copies.
196
196
 
197
197
  You may convey verbatim copies of the Program's source code as you
198
198
  receive it, in any medium, provided that you conspicuously and
@@ -205,7 +205,7 @@ recipients a copy of this License along with the Program.
205
205
  You may charge any price or no price for each copy that you convey,
206
206
  and you may offer support or warranty protection for a fee.
207
207
 
208
- ## 5. Conveying Modified Source Versions.
208
+ 5. Conveying Modified Source Versions.
209
209
 
210
210
  You may convey a work based on the Program, or the modifications to
211
211
  produce it from the Program, in the form of source code under the
@@ -242,7 +242,7 @@ beyond what the individual works permit. Inclusion of a covered work
242
242
  in an aggregate does not cause this License to apply to the other
243
243
  parts of the aggregate.
244
244
 
245
- ## 6. Conveying Non-Source Forms.
245
+ 6. Conveying Non-Source Forms.
246
246
 
247
247
  You may convey a covered work in object code form under the terms
248
248
  of sections 4 and 5, provided that you also convey the
@@ -294,7 +294,7 @@ in one of these ways:
294
294
  from the Corresponding Source as a System Library, need not be
295
295
  included in conveying the object code work.
296
296
 
297
- A _"User Product"_ is either (1) a _"consumer product"_, which means any
297
+ A "User Product" is either (1) a "consumer product", which means any
298
298
  tangible personal property which is normally used for personal, family,
299
299
  or household purposes, or (2) anything designed or sold for incorporation
300
300
  into a dwelling. In determining whether a product is a consumer product,
@@ -307,7 +307,7 @@ is a consumer product regardless of whether the product has substantial
307
307
  commercial, industrial or non-consumer uses, unless such uses represent
308
308
  the only significant mode of use of the product.
309
309
 
310
- _"Installation Information"_ for a User Product means any methods,
310
+ "Installation Information" for a User Product means any methods,
311
311
  procedures, authorization keys, or other information required to install
312
312
  and execute modified versions of a covered work in that User Product from
313
313
  a modified version of its Corresponding Source. The information must
@@ -340,9 +340,9 @@ documented (and with an implementation available to the public in
340
340
  source code form), and must require no special password or key for
341
341
  unpacking, reading or copying.
342
342
 
343
- ## 7. Additional Terms.
343
+ 7. Additional Terms.
344
344
 
345
- _"Additional permissions"_ are terms that supplement the terms of this
345
+ "Additional permissions" are terms that supplement the terms of this
346
346
  License by making exceptions from one or more of its conditions.
347
347
  Additional permissions that are applicable to the entire Program shall
348
348
  be treated as though they were included in this License, to the extent
@@ -404,7 +404,7 @@ where to find the applicable terms.
404
404
  form of a separately written license, or stated as exceptions;
405
405
  the above requirements apply either way.
406
406
 
407
- ## 8. Termination.
407
+ 8. Termination.
408
408
 
409
409
  You may not propagate or modify a covered work except as expressly
410
410
  provided under this License. Any attempt otherwise to propagate or
@@ -432,7 +432,7 @@ this License. If your rights have been terminated and not permanently
432
432
  reinstated, you do not qualify to receive new licenses for the same
433
433
  material under section 10.
434
434
 
435
- ## 9. Acceptance Not Required for Having Copies.
435
+ 9. Acceptance Not Required for Having Copies.
436
436
 
437
437
  You are not required to accept this License in order to receive or
438
438
  run a copy of the Program. Ancillary propagation of a covered work
@@ -443,14 +443,14 @@ modify any covered work. These actions infringe copyright if you do
443
443
  not accept this License. Therefore, by modifying or propagating a
444
444
  covered work, you indicate your acceptance of this License to do so.
445
445
 
446
- ## 10. Automatic Licensing of Downstream Recipients.
446
+ 10. Automatic Licensing of Downstream Recipients.
447
447
 
448
448
  Each time you convey a covered work, the recipient automatically
449
449
  receives a license from the original licensors, to run, modify and
450
450
  propagate that work, subject to this License. You are not responsible
451
451
  for enforcing compliance by third parties with this License.
452
452
 
453
- An _"entity transaction"_ is a transaction transferring control of an
453
+ An "entity transaction" is a transaction transferring control of an
454
454
  organization, or substantially all assets of one, or subdividing an
455
455
  organization, or merging organizations. If propagation of a covered
456
456
  work results from an entity transaction, each party to that
@@ -468,13 +468,13 @@ rights granted under this License, and you may not initiate litigation
468
468
  any patent claim is infringed by making, using, selling, offering for
469
469
  sale, or importing the Program or any portion of it.
470
470
 
471
- ## 11. Patents.
471
+ 11. Patents.
472
472
 
473
- A _"contributor"_ is a copyright holder who authorizes use under this
473
+ A "contributor" is a copyright holder who authorizes use under this
474
474
  License of the Program or a work on which the Program is based. The
475
475
  work thus licensed is called the contributor's "contributor version".
476
476
 
477
- A contributor's _"essential patent claims"_ are all patent claims
477
+ A contributor's "essential patent claims" are all patent claims
478
478
  owned or controlled by the contributor, whether already acquired or
479
479
  hereafter acquired, that would be infringed by some manner, permitted
480
480
  by this License, of making, using, or selling its contributor version,
@@ -537,7 +537,7 @@ or that patent license was granted, prior to 28 March 2007.
537
537
  any implied license or other defenses to infringement that may
538
538
  otherwise be available to you under applicable patent law.
539
539
 
540
- ## 12. No Surrender of Others' Freedom.
540
+ 12. No Surrender of Others' Freedom.
541
541
 
542
542
  If conditions are imposed on you (whether by court order, agreement or
543
543
  otherwise) that contradict the conditions of this License, they do not
@@ -549,7 +549,7 @@ to collect a royalty for further conveying from those to whom you convey
549
549
  the Program, the only way you could satisfy both those terms and this
550
550
  License would be to refrain entirely from conveying the Program.
551
551
 
552
- ## 13. Use with the GNU Affero General Public License.
552
+ 13. Use with the GNU Affero General Public License.
553
553
 
554
554
  Notwithstanding any other provision of this License, you have
555
555
  permission to link or combine any covered work with a work licensed
@@ -560,7 +560,7 @@ but the special requirements of the GNU Affero General Public License,
560
560
  section 13, concerning interaction through a network will apply to the
561
561
  combination as such.
562
562
 
563
- ## 14. Revised Versions of this License.
563
+ 14. Revised Versions of this License.
564
564
 
565
565
  The Free Software Foundation may publish revised and/or new versions of
566
566
  the GNU General Public License from time to time. Such new versions will
@@ -586,7 +586,7 @@ permissions. However, no additional obligations are imposed on any
586
586
  author or copyright holder as a result of your choosing to follow a
587
587
  later version.
588
588
 
589
- ## 15. Disclaimer of Warranty.
589
+ 15. Disclaimer of Warranty.
590
590
 
591
591
  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592
592
  APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
@@ -597,7 +597,7 @@ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597
597
  IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598
598
  ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599
599
 
600
- ## 16. Limitation of Liability.
600
+ 16. Limitation of Liability.
601
601
 
602
602
  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603
603
  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
@@ -609,7 +609,7 @@ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609
609
  EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610
610
  SUCH DAMAGES.
611
611
 
612
- ## 17. Interpretation of Sections 15 and 16.
612
+ 17. Interpretation of Sections 15 and 16.
613
613
 
614
614
  If the disclaimer of warranty and limitation of liability provided
615
615
  above cannot be given local legal effect according to their terms,
@@ -618,11 +618,9 @@ an absolute waiver of all civil liability in connection with the
618
618
  Program, unless a warranty or assumption of liability accompanies a
619
619
  copy of the Program in return for a fee.
620
620
 
621
- # END OF TERMS AND CONDITIONS
622
- --------------------------------------------------------------------------
623
-
621
+ END OF TERMS AND CONDITIONS
624
622
 
625
- # How to Apply These Terms to Your New Programs
623
+ How to Apply These Terms to Your New Programs
626
624
 
627
625
  If you develop a new program, and you want it to be of the greatest
628
626
  possible use to the public, the best way to achieve this is to make it
@@ -633,8 +631,8 @@ to attach them to the start of each source file to most effectively
633
631
  state the exclusion of warranty; and each file should have at least
634
632
  the "copyright" line and a pointer to where the full notice is found.
635
633
 
636
- <one line to give the program's name and a brief idea of what it does.>
637
- Copyright (C) <year> <name of author>
634
+ Geet - program for working with code hosting services via commandline
635
+ Copyright (C) 2017 Saverio Miroddi
638
636
 
639
637
  This program is free software: you can redistribute it and/or modify
640
638
  it under the terms of the GNU General Public License as published by
@@ -654,12 +652,12 @@ Also add information on how to contact you by electronic and paper mail.
654
652
  If the program does terminal interaction, make it output a short
655
653
  notice like this when it starts in an interactive mode:
656
654
 
657
- <program> Copyright (C) <year> <name of author>
658
- This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
655
+ Geet Copyright (C) 2017 Saverio Miroddi
656
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
659
657
  This is free software, and you are welcome to redistribute it
660
- under certain conditions; type 'show c' for details.
658
+ under certain conditions; type `show c' for details.
661
659
 
662
- The hypothetical commands _'show w'_ and _'show c'_ should show the appropriate
660
+ The hypothetical commands `show w' and `show c' should show the appropriate
663
661
  parts of the General Public License. Of course, your program's commands
664
662
  might be different; for a GUI interface, you would use an "about box".
665
663
 
data/README.md CHANGED
@@ -33,6 +33,11 @@ List the open issues, in default order (inverse creation date):
33
33
  > 4. Allow writing description in an editor (https://github.com/saveriomiroddi/geet/issues/4)
34
34
  > 2. Support opening PR into other repositories (https://github.com/saveriomiroddi/geet/issues/2)
35
35
 
36
+ List the open PRs, in default order (inverse creation date):
37
+
38
+ $ geet pr list
39
+ > 21. Add PRs listing support (https://github.com/saveriomiroddi/geet/pull/21)
40
+
36
41
  For the help:
37
42
 
38
43
  $ geet --help
data/bin/geet CHANGED
@@ -29,6 +29,8 @@ when Helpers::ConfigurationHelper::PR_CREATE_COMMAND
29
29
  title, description = options.values_at(:title, :description)
30
30
 
31
31
  Services::CreatePr.new.execute(repository, title, description, options)
32
+ when Helpers::ConfigurationHelper::PR_LIST_COMMAND
33
+ Services::ListPrs.new.execute(repository)
32
34
  else
33
35
  raise "Internal error - Unrecognized command #{command.inspect}"
34
36
  end
@@ -17,7 +17,7 @@ module Geet
17
17
  def_delegators :@remote_repository, :collaborators, :labels
18
18
  def_delegators :@remote_repository, :create_gist
19
19
  def_delegators :@remote_repository, :create_issue, :list_issues
20
- def_delegators :@remote_repository, :create_pr
20
+ def_delegators :@remote_repository, :create_pr, :list_prs
21
21
  def_delegators :@account, :authenticated_user
22
22
 
23
23
  DOMAIN_PROVIDERS_MAPPING = {
@@ -25,7 +25,15 @@ module Geet
25
25
  }.freeze
26
26
 
27
27
  # For simplicity, we match any character except the ones the separators.
28
- REMOTE_ORIGIN_REGEX = %r{\Agit@([^:]+):([^/]+)/(.*?)(\.git)?\Z}
28
+ REMOTE_ORIGIN_REGEX = %r{
29
+ \A
30
+ (?:https://(.+?)/|git@(.+?):)
31
+ ([^/]+)
32
+ /
33
+ (.*?)
34
+ (?:\.git)?
35
+ \Z
36
+ }x
29
37
 
30
38
  def initialize(api_token)
31
39
  the_provider_domain = provider_domain
@@ -44,15 +52,15 @@ module Geet
44
52
  end
45
53
 
46
54
  def provider_domain
47
- remote_origin[REMOTE_ORIGIN_REGEX, 1]
55
+ remote_origin[REMOTE_ORIGIN_REGEX, 1] || remote_origin[REMOTE_ORIGIN_REGEX, 2]
48
56
  end
49
57
 
50
58
  def owner
51
- remote_origin[REMOTE_ORIGIN_REGEX, 2]
59
+ remote_origin[REMOTE_ORIGIN_REGEX, 3]
52
60
  end
53
61
 
54
62
  def repo
55
- remote_origin[REMOTE_ORIGIN_REGEX, 3]
63
+ remote_origin[REMOTE_ORIGIN_REGEX, 4]
56
64
  end
57
65
 
58
66
  # DATA
@@ -7,6 +7,36 @@ module Geet
7
7
  class AbstractIssue
8
8
  attr_reader :issue_number
9
9
 
10
+ # Returns an array of Struct(:number, :title); once this workflow is extended,
11
+ # the struct will likely be converted to a standard class.
12
+ #
13
+ # See https://developer.github.com/v3/issues/#list-issues-for-a-repository
14
+ #
15
+ # options:
16
+ # filter: :pr, :issue, or nil
17
+ #
18
+ def self.list(repository, api_helper, filter: nil)
19
+ request_address = "#{api_helper.repo_link}/issues"
20
+
21
+ response = api_helper.send_request(request_address, multipage: true)
22
+ issue_class = Struct.new(:number, :title, :link)
23
+
24
+ response.each_with_object([]) do |issue_data, result|
25
+ include_issue = \
26
+ filter.nil? ||
27
+ filter == :pr && issue_data.key?('pull_request') ||
28
+ filter == :issue && ! issue_data.key?('pull_request')
29
+
30
+ if include_issue
31
+ number = issue_data.fetch('number')
32
+ title = issue_data.fetch('title')
33
+ link = issue_data.fetch('html_url')
34
+
35
+ result << issue_class.new(number, title, link)
36
+ end
37
+ end
38
+ end
39
+
10
40
  def initialize(repository, issue_number, api_helper)
11
41
  @repository = repository
12
42
  @issue_number = issue_number
@@ -16,28 +16,6 @@ module Geet
16
16
  new(repository, issue_number, api_helper)
17
17
  end
18
18
 
19
- # Returns an array of Struct(:number, :title); once this workflow is extended,
20
- # the struct will likely be converted to a standard class.
21
- #
22
- # See https://developer.github.com/v3/issues/#list-issues-for-a-repository
23
- #
24
- def self.list(repository, api_helper)
25
- request_address = "#{api_helper.repo_link}/issues"
26
-
27
- response = api_helper.send_request(request_address, multipage: true)
28
- issue_class = Struct.new(:number, :title, :link)
29
-
30
- response.each_with_object([]) do |issue_data, result|
31
- if ! issue_data.key?('pull_request')
32
- number = issue_data.fetch('number')
33
- title = issue_data.fetch('title')
34
- link = issue_data.fetch('html_url')
35
-
36
- result << issue_class.new(number, title, link)
37
- end
38
- end
39
- end
40
-
41
19
  def link
42
20
  "https://github.com/#{@repository.owner}/#{@repository.repo}/issues/#{@issue_number}"
43
21
  end
@@ -36,12 +36,16 @@ module Geet
36
36
  end
37
37
 
38
38
  def list_issues
39
- Geet::GitHub::Issue.list(@local_repository, @api_helper)
39
+ Geet::GitHub::AbstractIssue.list(@local_repository, @api_helper, filter: :issue)
40
40
  end
41
41
 
42
42
  def create_pr(title, description, head: @local_repository.current_head)
43
43
  Geet::GitHub::PR.create(@local_repository, title, description, head, @api_helper)
44
44
  end
45
+
46
+ def list_prs
47
+ Geet::GitHub::AbstractIssue.list(@local_repository, @api_helper, filter: :pr)
48
+ end
45
49
  end
46
50
  end
47
51
  end
@@ -11,6 +11,7 @@ module Geet
11
11
  ISSUE_CREATE_COMMAND = 'issue.create'
12
12
  ISSUE_LIST_COMMAND = 'issue.list'
13
13
  PR_CREATE_COMMAND = 'pr.create'
14
+ PR_LIST_COMMAND = 'pr.list'
14
15
 
15
16
  # Command options
16
17
 
@@ -40,6 +41,9 @@ module Geet
40
41
  'description'
41
42
  ].freeze
42
43
 
44
+ PR_LIST_OPTIONS = [
45
+ ].freeze
46
+
43
47
  # Public interface
44
48
 
45
49
  def decode_argv
@@ -53,6 +57,7 @@ module Geet
53
57
  },
54
58
  'pr' => {
55
59
  'create' => PR_CREATE_OPTIONS,
60
+ 'list' => PR_LIST_OPTIONS,
56
61
  },
57
62
  )
58
63
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Geet
4
+ module Services
5
+ class ListPrs
6
+ def execute(repository)
7
+ prs = repository.list_prs
8
+
9
+ prs.each do |pr|
10
+ puts "#{pr.number}. #{pr.title} (#{pr.link})"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module Geet
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saverio Miroddi
@@ -38,7 +38,7 @@ files:
38
38
  - ".ruby-version"
39
39
  - Gemfile
40
40
  - Gemfile.lock
41
- - LICENSE.md
41
+ - LICENSE
42
42
  - README.md
43
43
  - bin/geet
44
44
  - geet.gemspec
@@ -56,6 +56,7 @@ files:
56
56
  - lib/geet/services/create_issue.rb
57
57
  - lib/geet/services/create_pr.rb
58
58
  - lib/geet/services/list_issues.rb
59
+ - lib/geet/services/list_prs.rb
59
60
  - lib/geet/version.rb
60
61
  homepage: https://github.com/saveriomiroddi/geet
61
62
  licenses: