gitlab 3.3.0 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -1
- data/CHANGELOG.md +157 -0
- data/LICENSE.txt +1 -1
- data/README.md +16 -10
- data/lib/gitlab.rb +1 -1
- data/lib/gitlab/api.rb +5 -3
- data/lib/gitlab/cli.rb +21 -3
- data/lib/gitlab/cli_helpers.rb +46 -79
- data/lib/gitlab/client.rb +2 -1
- data/lib/gitlab/client/branches.rb +16 -1
- data/lib/gitlab/client/groups.rb +1 -0
- data/lib/gitlab/client/issues.rb +1 -0
- data/lib/gitlab/client/labels.rb +2 -0
- data/lib/gitlab/client/merge_requests.rb +12 -10
- data/lib/gitlab/client/milestones.rb +15 -0
- data/lib/gitlab/client/notes.rb +22 -6
- data/lib/gitlab/client/projects.rb +18 -0
- data/lib/gitlab/client/repositories.rb +4 -1
- data/lib/gitlab/client/repository_files.rb +72 -0
- data/lib/gitlab/client/snippets.rb +1 -11
- data/lib/gitlab/client/system_hooks.rb +1 -0
- data/lib/gitlab/client/users.rb +2 -0
- data/lib/gitlab/configuration.rb +3 -1
- data/lib/gitlab/error.rb +0 -3
- data/lib/gitlab/help.rb +77 -31
- data/lib/gitlab/objectified_hash.rb +6 -0
- data/lib/gitlab/request.rb +31 -15
- data/lib/gitlab/shell.rb +57 -58
- data/lib/gitlab/version.rb +1 -1
- data/spec/fixtures/branch_delete.json +3 -0
- data/spec/fixtures/merge_request_changes.json +1 -0
- data/spec/fixtures/milestone_issues.json +1 -0
- data/spec/fixtures/project_search.json +1 -0
- data/spec/fixtures/repository_file.json +1 -0
- data/spec/gitlab/cli_helpers_spec.rb +58 -0
- data/spec/gitlab/cli_spec.rb +1 -2
- data/spec/gitlab/client/branches_spec.rb +15 -0
- data/spec/gitlab/client/merge_requests_spec.rb +20 -12
- data/spec/gitlab/client/milestones_spec.rb +16 -0
- data/spec/gitlab/client/notes_spec.rb +17 -0
- data/spec/gitlab/client/projects_spec.rb +45 -8
- data/spec/gitlab/client/repository_files_spec.rb +45 -0
- data/spec/gitlab/help_spec.rb +44 -0
- data/spec/gitlab/objectified_hash_spec.rb +7 -0
- data/spec/gitlab/request_spec.rb +45 -6
- data/spec/gitlab/shell_spec.rb +80 -0
- data/spec/gitlab_spec.rb +12 -0
- metadata +23 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3aff91d521f83558b2ae2a2f9d5044be3753c48
|
4
|
+
data.tar.gz: e44498d72ac0c58dc3c8d609e53167fef2a30107
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e5dc00e6c2c0f34837798e9370a82013154c595b4cde38397d20e87b3bd7457cb5a0e32a6b578df1ebbe6e1457eda03c468da21a91c4ab26a42ff54de43d91e
|
7
|
+
data.tar.gz: d9cd147c62de28adb48a9be726b6b1a44b8c0e2d63337d44df2cd1f6eaf18ace338a7f1b8ab7a649683bbe6bb3537015be8dd45a46e44577bb1fdf9b0548bc52
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
## Change Log
|
2
|
+
|
3
|
+
### upcoming
|
4
|
+
- **Your contribution here.**
|
5
|
+
|
6
|
+
### 3.4.0 (22/04/2015)
|
7
|
+
- [9acb83d](https://github.com/NARKOZ/gitlab/commit/9acb83d2d068720b07934f5152313dc22a2f6374) remove check for missing attributes
|
8
|
+
- [8896e2b](https://github.com/NARKOZ/gitlab/commit/8896e2b7d5e8df509d48a411fd4440e27ed13995) return false when response body is empty
|
9
|
+
- [a04f3af](https://github.com/NARKOZ/gitlab/commit/a04f3af2d7aa8eec60c4f044fdb148e45c1ca133) escape ref parameter for repo_file_contents
|
10
|
+
- [8dcfec5](https://github.com/NARKOZ/gitlab/commit/8dcfec5aaaff9ef1c12687c5f9ca90f6aed0f912) Add tests for project_search. (@asedge)
|
11
|
+
- [75ead81](https://github.com/NARKOZ/gitlab/commit/75ead813b4335bab2464b6af0fb776c3d746242f) Added :page and :per_page query options to snippet_notes method (@StephenOTT)
|
12
|
+
- [f9818cb](https://github.com/NARKOZ/gitlab/commit/f9818cb121c8eeb9197e66732fec30ab90deecad) Added :page and :per_page query options to issue_notes method (@StephenOTT)
|
13
|
+
- [f92d745](https://github.com/NARKOZ/gitlab/commit/f92d745f1f561955d8fcbed4e23b43bb92ace255) Added :page and :per_page query options to notes method (@StephenOTT)
|
14
|
+
- [d4c3f20](https://github.com/NARKOZ/gitlab/commit/d4c3f2052c844486cf2b99a5346af4cd3fc001c9) Add support for merge_request_changes (@dsander)
|
15
|
+
- [2253fba](https://github.com/NARKOZ/gitlab/commit/2253fbab0a915d23f30de04a90167a0c783f9a6b) Allow authenticating via oauth with the private_token (@dsander)
|
16
|
+
- [8b7bcb4](https://github.com/NARKOZ/gitlab/commit/8b7bcb478e168f5ce2c94b8633b33128c29252b9) add inspect method to ObjectifiedHash
|
17
|
+
- [257737c](https://github.com/NARKOZ/gitlab/commit/257737c80ca93a71dfb5f8d990e5de1423603dfc) add delete_branch (@marc-ta)
|
18
|
+
- [f6532d5](https://github.com/NARKOZ/gitlab/commit/f6532d5074e0bb0d06bc251fb43b73f49a7af17a) improve docs
|
19
|
+
- [5164e6d](https://github.com/NARKOZ/gitlab/commit/5164e6de544bc34c57c3444e0b63cf3aada23776) Adding options hash to milestone_issues method.
|
20
|
+
- [57fa92d](https://github.com/NARKOZ/gitlab/commit/57fa92d7eef96e84498fa005e7ab83abc2a41a2b) Added support to get milestone issues. (@pbendersky)
|
21
|
+
- [d604e58](https://github.com/NARKOZ/gitlab/commit/d604e58732ea08fb15acdc1be339535e34e68d73) Add create_merge_request_note
|
22
|
+
- [cea19b8](https://github.com/NARKOZ/gitlab/commit/cea19b8e607033700dcab4648c05ac398cfe9566) Add project_search method (@ey3ball)
|
23
|
+
- [d0ebd3b](https://github.com/NARKOZ/gitlab/commit/d0ebd3b3a0ed83fc62d2a2e22ba9aa29a99cdcb6) Catch SIGINT earlier during shell session. Fixes #111. (@asedge)
|
24
|
+
- [2133562](https://github.com/NARKOZ/gitlab/commit/21335623009553197b61826d9894a739de152665) Redo the actions_table to make it more readable. CLI can now display the same help as the Shell. Closes #106. (@asedge)
|
25
|
+
- [da18909](https://github.com/NARKOZ/gitlab/commit/da1890949fb9eb60c13ab670dd8428d27de1814b) Add some method documentation and small style fixes. (@asedge)
|
26
|
+
- [7e1b408](https://github.com/NARKOZ/gitlab/commit/7e1b408e48152df1ce6e2be74a653c3801a37c10) Authenticate via oauth an auth_token (@dsander)
|
27
|
+
- [adb28b3](https://github.com/NARKOZ/gitlab/commit/adb28b30dab47bd3a58eae697d40e4aa346ea2c8) Update create_merge_request doc to include :target_project_id parameter. Closes #108. (@asedge)
|
28
|
+
- [525e913](https://github.com/NARKOZ/gitlab/commit/525e9131fe99a3f7396b547810e957058ab5a092) add ruby-2.2 to travis-ci
|
29
|
+
- [3671c89](https://github.com/NARKOZ/gitlab/commit/3671c89071d712ee71fa51cac67f3e0b9a28b03b) Save shell history when user presses Ctrl-d (@asedge)
|
30
|
+
- [c8e5f50](https://github.com/NARKOZ/gitlab/commit/c8e5f50684533e00550bfa4474062665000df28a) Hide httparty & httparty= methods from Gitlab.actions - just like endpoint, private_token, etc. (@asedge)
|
31
|
+
- [358deeb](https://github.com/NARKOZ/gitlab/commit/358deeb8ed849defe28c7cba84e1935d549fce22) Fix a regression with exception handling in shell. (@asedge)
|
32
|
+
- [9612ce3](https://github.com/NARKOZ/gitlab/commit/9612ce3b8274a385ce8c1fcd5ca5d0a0eba71c7e) Added support for repository files create, edit and remove. (@razielgn)
|
33
|
+
- [2203ad7](https://github.com/NARKOZ/gitlab/commit/2203ad7fcaa337da3d9700cbbc342d961be18eee) Fix headings in action_table. (@asedge)
|
34
|
+
- [b4dceb3](https://github.com/NARKOZ/gitlab/commit/b4dceb3d2d582682f3cb35ca63e41e237d222596) add CHANGELOG.md
|
35
|
+
- [e2bd91c](https://github.com/NARKOZ/gitlab/commit/e2bd91ccf488dfede7688801e54270da0d395a56) Small refactor of Gitlab::Help, Gitlab::Shell & Gitlab::CLI::Helpers. Add some new tests and refactor ones recently added. (@asedge)
|
36
|
+
- [bffd84f](https://github.com/NARKOZ/gitlab/commit/bffd84f4e9e37d056772536f33a52f40df0b7882) Refactor Gitlab::Help. Add tests some. (@asedge)
|
37
|
+
- [9bd4f7a](https://github.com/NARKOZ/gitlab/commit/9bd4f7ad69614ee009c351811deee9eb2a6c3d05) Add test for Gitlab::Shell. (@asedge)
|
38
|
+
- [bc14ec5](https://github.com/NARKOZ/gitlab/commit/bc14ec5173e432ced601c108cae6eca56026d41e) Refactor of Gitlab::Shell to hopefully make it more readable & testable. Wrote tests for some Gitlab::Shell & Gitlab::CLI::Helper methods. Other minor improvements and refactors. (@asedge)
|
39
|
+
|
40
|
+
### 3.3.0 (22/12/2014)
|
41
|
+
- [42b4bc7](https://github.com/NARKOZ/gitlab/commit/42b4bc7b0e5e35f151ab61e27099606f0f38af31) fix docs and specs
|
42
|
+
- [04e39e0](https://github.com/NARKOZ/gitlab/commit/04e39e013a7a74f6101a97c3791da0594da232a3) ability to update hook triggers
|
43
|
+
- [6c66fe9](https://github.com/NARKOZ/gitlab/commit/6c66fe92a56cca58630a34ed3e7991517dd63604) remove useless check for available hook events
|
44
|
+
- [c4b981d](https://github.com/NARKOZ/gitlab/commit/c4b981dd69974aa7e1cb088c9b9fd44e0c0a9b54) add accept_merge_request method
|
45
|
+
- [51611fe](https://github.com/NARKOZ/gitlab/commit/51611fe669987cd9f4c1fac0ed96c743e391bbf2) Use endpoint instance var instead of base_uri class method. Fixes #94. (@asedge)
|
46
|
+
- [1ec8b38](https://github.com/NARKOZ/gitlab/commit/1ec8b38322657c3f97a60deb10dc08b828ba9875) test multiple clients
|
47
|
+
- [44d013a](https://github.com/NARKOZ/gitlab/commit/44d013af76535a2227678869148fb7a8195691df) Capture CTRL-C in Shell (@chrisdambrosio)
|
48
|
+
- [3cba3b2](https://github.com/NARKOZ/gitlab/commit/3cba3b2420d72d8aead0febf0ba3564c7615cf8c) Adding respond_to override to the ObjectifiedHash class so it properly responds to respond_to? calls (@koglinjg)
|
49
|
+
- [ce20c47](https://github.com/NARKOZ/gitlab/commit/ce20c4768c3e591b0cea72e8738371ab76d7289e) limit history file size - closes #93 (@chrisdambrosio)
|
50
|
+
- [1cf656f](https://github.com/NARKOZ/gitlab/commit/1cf656f7cf9f1821339b9e6ed711f6218cddbf0f) Save/load shell mode history - closes #79 (@chrisdambrosio)
|
51
|
+
- [727780b](https://github.com/NARKOZ/gitlab/commit/727780b8f282bb8fe461a54e558fe0775b4b36fd) HTTP proxy support - closes #52 (@chrisdambrosio)
|
52
|
+
- [e4ceb18](https://github.com/NARKOZ/gitlab/commit/e4ceb187aa5e47d20740676aea4f36c473ddd241) implement .file_contents (@chrisdambrosio)
|
53
|
+
- [0d0e7e0](https://github.com/NARKOZ/gitlab/commit/0d0e7e01bab1708cd85294788f9b9cca33a33ddb) Now must use YAML valid syntax in CLI or CLI Shell where Gitlab methods expect Hashes (usually in the form of options). (@asedge)
|
54
|
+
- [a7d0e0a](https://github.com/NARKOZ/gitlab/commit/a7d0e0a8c1c50c4ab43faccdb88f049f5b84a1cf) add CONTRIBUTING.md
|
55
|
+
- [1f4ef8e](https://github.com/NARKOZ/gitlab/commit/1f4ef8ed25ccd1bdbeccf677a0a94106903d0f24) improve docs
|
56
|
+
- [3a8d339](https://github.com/NARKOZ/gitlab/commit/3a8d33946adec71724304f661d70eb515a2f6848) Repository tree root level files (@semenyukdmitriy)
|
57
|
+
- [ddab89e](https://github.com/NARKOZ/gitlab/commit/ddab89e6aa9917d06cddd121aa486424753bdf84) Adds support for comments on commits (@jeroenj)
|
58
|
+
- [a7c18f1](https://github.com/NARKOZ/gitlab/commit/a7c18f1180157021ef8d24791f32a30511940fbf) Add labels api for list, create, edit and delete. (@artworx)
|
59
|
+
- [d9940d5](https://github.com/NARKOZ/gitlab/commit/d9940d5f4dfd8fdc4530b249b518e0d048dbfdbb) Support pagination in Gitlab.merge_request_comments (@cubiware)
|
60
|
+
- [13a550c](https://github.com/NARKOZ/gitlab/commit/13a550cb82a4775f3c72850dcd65e807abe46e69) Update tests for create_tags method so it more closely matches what will happen in Gitlab 7.5.0. (@asedge)
|
61
|
+
- [6d8a98f](https://github.com/NARKOZ/gitlab/commit/6d8a98f7930d2df5af19cc838eb95ae9c775e1a1) Add repo compare API (@zlx)
|
62
|
+
- [76e29e6](https://github.com/NARKOZ/gitlab/commit/76e29e632ce345ed17d69401dcb286dc85a951aa) Add support for annotated tag creation. Update tests for create_tag. (@asedge)
|
63
|
+
- [40295b8](https://github.com/NARKOZ/gitlab/commit/40295b8889c0094babffc81a5d7749d32b0fbda6) introduce HTTParty-configuration, fix #61 (@barraq)
|
64
|
+
- [916e8a7](https://github.com/NARKOZ/gitlab/commit/916e8a72371a097fa63065b05d3dca0be7bc9e93) Improved arg parsing for gitlab readline shell. Other small fixes/improvements on regexes. (@asedge)
|
65
|
+
- [382fe71](https://github.com/NARKOZ/gitlab/commit/382fe71e3d509a57f736138ffbb673695577f709) Add missing documentation: :group_id, :namespace_id (@arioch)
|
66
|
+
- [c9f9662](https://github.com/NARKOZ/gitlab/commit/c9f9662a9b1116c838b523ed64c6abdb4aae4b8b) add exit command to shell
|
67
|
+
|
68
|
+
### 3.2.0 (22/06/2014)
|
69
|
+
- [fee67da](https://github.com/NARKOZ/gitlab/commit/fee67da36cdab7906004e7a060602eb342c8b946) Handling some error cases when calling for help. (@asedge)
|
70
|
+
- [7705b01](https://github.com/NARKOZ/gitlab/commit/7705b01c94d8833fb055ca072d34c0019c622caf) Adding online help for Gitlab::Shell using "ri" command. I'm unsure if this is the best idea. Some refactoring still needs to be done to remove duplicate code. (@asedge)
|
71
|
+
- [599deff](https://github.com/NARKOZ/gitlab/commit/599deffbe193aed420747be16516b29b8beeb31f) Fix output_table call in CLI. (@asedge)
|
72
|
+
- [4a5f81f](https://github.com/NARKOZ/gitlab/commit/4a5f81f0e605a89205c05a4baefdbf6d2331d667) Initial commit of Gitlab CLI shell. Tab completion for Gitlab.actions. (@asedge)
|
73
|
+
- [48ba2a1](https://github.com/NARKOZ/gitlab/commit/48ba2a178b0e3f206588ccd5aeed14e52d1ba269) fix specs after update to RSpec 3
|
74
|
+
- [a8284af](https://github.com/NARKOZ/gitlab/commit/a8284af9af017e0bf381347a534f9a2426e35d64) Add spec for project_events method (@hassaku)
|
75
|
+
- [8e8527c](https://github.com/NARKOZ/gitlab/commit/8e8527cc4743a11ea285072e11f1bb4e703757ff) Add method to get a list of project events (@hassaku)
|
76
|
+
- [8c2aa8f](https://github.com/NARKOZ/gitlab/commit/8c2aa8fc9f660696596639d458444bc00fe17f0c) Add create_tag method. Add tests for new method. (@asedge)
|
77
|
+
- [cd5ae8b](https://github.com/NARKOZ/gitlab/commit/cd5ae8ba8aca5025a41ec1dd9fad70dae10c2fd3) clarify default config options
|
78
|
+
|
79
|
+
### 3.1.0 (22/05/2014)
|
80
|
+
- [16834bb](https://github.com/NARKOZ/gitlab/commit/16834bb178fa6bf6c7ec8b67bfedfdc32145769d) add info command to CLI
|
81
|
+
- [68aebb7](https://github.com/NARKOZ/gitlab/commit/68aebb76b24972b7d00a78f3d4f923fca009ba31) ability to delete a project
|
82
|
+
- [ac54e55](https://github.com/NARKOZ/gitlab/commit/ac54e55825d16373862fbbc176d6c9c2594dc593) set command arguments when no filters
|
83
|
+
- [23be13e](https://github.com/NARKOZ/gitlab/commit/23be13e87c3c99764fcb27393ce99d9cc05633b9) fix docs
|
84
|
+
- [1b298dc](https://github.com/NARKOZ/gitlab/commit/1b298dcd5f71321867ad2bd3c18522a7602357ad) fix ruby 1.9 compatibility
|
85
|
+
- [af92ff5](https://github.com/NARKOZ/gitlab/commit/af92ff546af578ba0753c254fabf73761553f4c8) add confirmation for destructive commands
|
86
|
+
- [b1602d2](https://github.com/NARKOZ/gitlab/commit/b1602d2f5ce0a614de48d5295654d0699fe69c0d) move methods related to CLI output to a separate module
|
87
|
+
- [4183a52](https://github.com/NARKOZ/gitlab/commit/4183a52ca6344d86aa152e189bc20c467c96c5a5) improve help message
|
88
|
+
- [0bba284](https://github.com/NARKOZ/gitlab/commit/0bba284e9447a4a6aa95990b65db5ae4d44ce989) add specs for CLI
|
89
|
+
- [5ec08bc](https://github.com/NARKOZ/gitlab/commit/5ec08bc0173e986e5979ca0c809d70002186f0cc) ability to filter CLI output
|
90
|
+
- [ba86169](https://github.com/NARKOZ/gitlab/commit/ba861692bae33cba8d22ac3beb223995a4df216c) add table output for multiple records
|
91
|
+
- [9cc540c](https://github.com/NARKOZ/gitlab/commit/9cc540c948bd71a70e3c1f6fc656e1bbde0dcb00) initial wrap-up of CLI
|
92
|
+
- [bee9745](https://github.com/NARKOZ/gitlab/commit/bee9745f2202f9dafd20b0edee185fe54f413cb2) include modules alphabetically
|
93
|
+
- [4963f16](https://github.com/NARKOZ/gitlab/commit/4963f16f3eb0a3f3a6dd7fbdc3b7f3aeab8d57cc) add special method that lists available actions for client
|
94
|
+
- [fe50c24](https://github.com/NARKOZ/gitlab/commit/fe50c24437ea2bd729044f30ef6afe8df1932f32) support environment variables
|
95
|
+
- [7a5d40c](https://github.com/NARKOZ/gitlab/commit/7a5d40ccd576abfb35c137f9e172821351d2dac8) eliminate ruby warning
|
96
|
+
- [b7fc447](https://github.com/NARKOZ/gitlab/commit/b7fc447211fe281e01f111f8a9fad08396fdfa4d) convert specs to new RSpec 2.14 syntax
|
97
|
+
- [471a643](https://github.com/NARKOZ/gitlab/commit/471a643a60a17ea9048615a2ac2d295e0682edd4) pass private token using HTTP headers
|
98
|
+
- [bbf6521](https://github.com/NARKOZ/gitlab/commit/bbf6521362d5af460c63a730d95f822e55160e82) fix users session spec
|
99
|
+
- [672a8d5](https://github.com/NARKOZ/gitlab/commit/672a8d54988dfafce4e3288a63f6cf67bf13c292) test Request class
|
100
|
+
- [3bf0363](https://github.com/NARKOZ/gitlab/commit/3bf03631769a419504f669bd3154953072701c61) set private_token param separately for each request
|
101
|
+
- [90760cd](https://github.com/NARKOZ/gitlab/commit/90760cdeb3dfaa7be5fdfa5eba792c3a8e617c57) Single commit and diff of a commit (@nanofi)
|
102
|
+
- [9b696d4](https://github.com/NARKOZ/gitlab/commit/9b696d4bd07c1ca5d8d41e6aaeb51f260393b789) pluralize module name: SystemHook -> SystemHooks
|
103
|
+
- [3b2cda9](https://github.com/NARKOZ/gitlab/commit/3b2cda9e974568f8d1d6bfebbf3f114686638f44) get rid of ruby argument prefix warning
|
104
|
+
- [0d6ca05](https://github.com/NARKOZ/gitlab/commit/0d6ca0565ee0eaf02ae077332f8082c8d939ce22) System Hook API (@nanofi)
|
105
|
+
- [29e31e0](https://github.com/NARKOZ/gitlab/commit/29e31e0a565a083c22401bb99b3cb28c8a43f5d6) Create branches.rb. Move branch related actions there. Add new methods for (un)protecting branches and creating new branches - which requires Gitlab 6.8-stable or newer. Added tests for new methods and fixed old tests looking for methods in old locations. (@asedge)
|
106
|
+
- [7f91a9a](https://github.com/NARKOZ/gitlab/commit/7f91a9a10dc8071d14d3ffaea001e32ac2f70180) Fixed: create project deploy key (@semenyukdmitriy)
|
107
|
+
- [b347574](https://github.com/NARKOZ/gitlab/commit/b3475743c624e7cc426ca099f0c86411ffaf6dd8) Project hooks: set events to trigger on (@semenyukdmitriy)
|
108
|
+
- [af49245](https://github.com/NARKOZ/gitlab/commit/af492453819678eca9f2a8e25b51d318e23d148c) Add merge_request_comments to get a MR's comments
|
109
|
+
- [2b9e659](https://github.com/NARKOZ/gitlab/commit/2b9e659afd646f8ffca7b323e40246096837eae7) Doc & test that update_merge_request can set state
|
110
|
+
- [45b0b9f](https://github.com/NARKOZ/gitlab/commit/45b0b9fc86016ba31e66b600172da6ace63f7a00) add 'to_hash' method for ObjectifiedHash
|
111
|
+
- [ce5294f](https://github.com/NARKOZ/gitlab/commit/ce5294f2ec74417626403595899a85c97d92318c) test against MRI 2.1.0
|
112
|
+
- [35aadef](https://github.com/NARKOZ/gitlab/commit/35aadef3f321d4d700c3f7926f2206ac241e7191) scope for projects api (@voanhduy1512)
|
113
|
+
- [7152c85](https://github.com/NARKOZ/gitlab/commit/7152c8520bf77f49385bb71ef82a574172500b00) Add edit_user method (@robertomiranda)
|
114
|
+
|
115
|
+
### 3.0.0 (22/10/2013)
|
116
|
+
- [da31730](https://github.com/NARKOZ/gitlab/commit/da3173016870d76aabbd43ee1b04e7348cbdbb1e) handle response code 405
|
117
|
+
- [3c18ad0](https://github.com/NARKOZ/gitlab/commit/3c18ad0d373b4647232be3bbc1ee88aed9a3bbfc) remove ruby 1.8 patch
|
118
|
+
- [3fca003](https://github.com/NARKOZ/gitlab/commit/3fca0033e8dabbefdbf50fc15713866521d0e1d3) re-implement handling of sudo requests
|
119
|
+
- [49c54a6](https://github.com/NARKOZ/gitlab/commit/49c54a67a8c1a67dd1f471c93e63c6dace329817) ability to paginate group members
|
120
|
+
- [8ba8361](https://github.com/NARKOZ/gitlab/commit/8ba8361d6fed3967986243a9c48871b79040bb51) fix compatibility with API v3; update docs
|
121
|
+
- [93e8b81](https://github.com/NARKOZ/gitlab/commit/93e8b81632067879d874a31e18ab48a50ccaf05c) prettify error message
|
122
|
+
- [1752997](https://github.com/NARKOZ/gitlab/commit/1752997f22586c76929c7396db8892fe930cb93a) Add methods to manage deployment keys (@sosedoff)
|
123
|
+
- [613dda8](https://github.com/NARKOZ/gitlab/commit/613dda8f7b42770635023137fb6844709ad77ffd) Add group api, removed user_teams api
|
124
|
+
- [8db4e88](https://github.com/NARKOZ/gitlab/commit/8db4e88ade68401e3e2dc26f8cc9b78a48a0f8ea) Update error_message to print request uri on response failure
|
125
|
+
- [dd33a2f](https://github.com/NARKOZ/gitlab/commit/dd33a2feaa96022d6bd3795fb861eaf57f554bfa) Adding a check_attributes method in order to verify that the correct parameters have been passed into create_merge_request and comment_merge_request. Updating tests. (@thomasbiddle)
|
126
|
+
- [6f4a170](https://github.com/NARKOZ/gitlab/commit/6f4a170191a401c7eaf97522c5b8e20970e90249) Adding tests for missing merge request api calls. (@thomasbiddle)
|
127
|
+
- [af42bcb](https://github.com/NARKOZ/gitlab/commit/af42bcb7c18b27db266efdf7c9645d795d691760) Adding support for creating, updating, and commenting on merge requests. (@thomasbiddle)
|
128
|
+
- [f7aac38](https://github.com/NARKOZ/gitlab/commit/f7aac3860169ce0d0268676dc278d8150e497df8) minor updates indicating support for creating public projects (@amacarthur)
|
129
|
+
- [44a090d](https://github.com/NARKOZ/gitlab/commit/44a090d983de178ebdc7f6cd9cdcc339d731f9ef) added apis for the admin of fork links (@amacarthur)
|
130
|
+
- [32f1419](https://github.com/NARKOZ/gitlab/commit/32f14199c53da58ce00572530a002f769c808024) Added sudo functionality
|
131
|
+
- [b7f6c48](https://github.com/NARKOZ/gitlab/commit/b7f6c48b65b4d18cc18919fab12cefa99826578e) Made 409's throw exceptions
|
132
|
+
- [d1f581f](https://github.com/NARKOZ/gitlab/commit/d1f581ff410ba5c42d03e2cf98efa548a6139b01) Fixed an issue with access level var in add team project
|
133
|
+
- [8a5d679](https://github.com/NARKOZ/gitlab/commit/8a5d679806bd1dc8501965450fe12d0e807fbd93) Add user_team api
|
134
|
+
- [b4444fc](https://github.com/NARKOZ/gitlab/commit/b4444fce8c3dd9f0caa2d1a096e61ce6373136fe) Adding user_teams api
|
135
|
+
- [53d7a8a](https://github.com/NARKOZ/gitlab/commit/53d7a8a86dfed63e56eeb16ea496bb7a82de337e) consistently refer to feature as "project for user" per documentation @ https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/projects.md#create-project-for-user (@dylee)
|
136
|
+
- [13457a4](https://github.com/NARKOZ/gitlab/commit/13457a4bfd67088e156489d09db148739a0af700) add support for POST /projects/user:user_id (@leesolutions)
|
137
|
+
- [5e556fa](https://github.com/NARKOZ/gitlab/commit/5e556fac11daa25d3d9683904cf8f96b8e0bb009) update travis-ci config with ruby-2.0
|
138
|
+
- [3b8513d](https://github.com/NARKOZ/gitlab/commit/3b8513da22c8d78ce6a284ac8a7a5eaad6ab349d) Groups api additions
|
139
|
+
- [f2ba111](https://github.com/NARKOZ/gitlab/commit/f2ba111dba70eca5346a880c541dafaf35d3332a) don't expose data in ObjectifiedHash
|
140
|
+
- [c6889eb](https://github.com/NARKOZ/gitlab/commit/c6889ebfd455892690c0cddc3b88c670d8723435) add specs for notes
|
141
|
+
- [e562a7d](https://github.com/NARKOZ/gitlab/commit/e562a7db8ffdf9ec947895800e9c5b7753b83bfb) bring support for ruby 1.8
|
142
|
+
- [63c3592](https://github.com/NARKOZ/gitlab/commit/63c3592af45aa0d01de09910f562a4f875d01f6a) Notes api for wall, issues, and snippets notes. List, read and create. (@jozefvaclavik)
|
143
|
+
|
144
|
+
### 2.2.0 (22/11/2012)
|
145
|
+
- [2ef4d48](https://github.com/NARKOZ/gitlab/commit/2ef4d48a0db13a7363973455c3c0ac9d2bf6df56) support merge requests API
|
146
|
+
|
147
|
+
### 2.1.0 (22/10/2012)
|
148
|
+
- [89541c1](https://github.com/NARKOZ/gitlab/commit/89541c1dddccf185318645bb2748541955f221b0) add ability to create a user
|
149
|
+
- [483b4f6](https://github.com/NARKOZ/gitlab/commit/483b4f6812e657e9ea12c0c89199654393554aa7) fix typos in docs
|
150
|
+
- [7632ecb](https://github.com/NARKOZ/gitlab/commit/7632ecba57c8fa3fe966ee6eb0055bb7752d79fd) add ability to list project snippets
|
151
|
+
- [6c5637e](https://github.com/NARKOZ/gitlab/commit/6c5637e526f73bfb1c7791b12756ebdadeae4e5f) add project_hook and edit_project_hook methods
|
152
|
+
- [5fcf078](https://github.com/NARKOZ/gitlab/commit/5fcf078437b62a39de7d49c6d92fd5cdf09c565c) Fix add_team_member (@mizzy)
|
153
|
+
- [6a0176a](https://github.com/NARKOZ/gitlab/commit/6a0176aac542eacd9df24da20a8994f9f70e6ed7) refactor Request class
|
154
|
+
- [53746d5](https://github.com/NARKOZ/gitlab/commit/53746d55f19f75e72b3439d25f7940ba66151c94) add convenient methods to change a state of an issue
|
155
|
+
|
156
|
+
### 2.0.0 (21/09/2012)
|
157
|
+
- [b47a324](https://github.com/NARKOZ/gitlab/commit/b47a324d616b7fa4e23160abae357887b9dde13f) initial implementation
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,9 +1,14 @@
|
|
1
1
|
# Gitlab
|
2
2
|
|
3
|
-
[![Build Status](https://
|
3
|
+
[![Build Status](https://img.shields.io/travis/NARKOZ/gitlab.svg?style=flat)](https://travis-ci.org/NARKOZ/gitlab)
|
4
|
+
[![Code Climate](https://img.shields.io/codeclimate/github/NARKOZ/gitlab.svg?style=flat)](https://codeclimate.com/github/NARKOZ/gitlab)
|
5
|
+
[![Inline docs](http://inch-ci.org/github/NARKOZ/gitlab.svg?style=flat)](https://inch-ci.org/github/NARKOZ/gitlab)
|
6
|
+
[![Gem version](https://img.shields.io/gem/v/gitlab.svg?style=flat)](https://rubygems.org/gems/gitlab)
|
7
|
+
[![License](https://img.shields.io/badge/license-BSD-red.svg?style=flat)](https://github.com/NARKOZ/gitlab/blob/master/LICENSE.txt)
|
4
8
|
|
5
9
|
[website](http://narkoz.github.io/gitlab) |
|
6
|
-
[documentation](http://rubydoc.info/gems/gitlab/frames)
|
10
|
+
[documentation](http://rubydoc.info/gems/gitlab/frames) |
|
11
|
+
[gitlab-live](https://github.com/NARKOZ/gitlab-live)
|
7
12
|
|
8
13
|
Gitlab is a Ruby wrapper and CLI for the [GitLab API](https://github.com/gitlabhq/gitlabhq/tree/master/doc/api#gitlab-api).
|
9
14
|
|
@@ -19,7 +24,7 @@ Or add to a Gemfile:
|
|
19
24
|
|
20
25
|
```ruby
|
21
26
|
gem 'gitlab'
|
22
|
-
# gem 'gitlab', :
|
27
|
+
# gem 'gitlab', github: 'NARKOZ/gitlab'
|
23
28
|
```
|
24
29
|
|
25
30
|
## Usage
|
@@ -29,7 +34,7 @@ Configuration example:
|
|
29
34
|
```ruby
|
30
35
|
Gitlab.configure do |config|
|
31
36
|
config.endpoint = 'https://example.net/api/v3' # API endpoint URL, default: ENV['GITLAB_API_ENDPOINT']
|
32
|
-
config.private_token = 'qEsq1pt6HJPaNciie3MG' # user's private token, default: ENV['GITLAB_API_PRIVATE_TOKEN']
|
37
|
+
config.private_token = 'qEsq1pt6HJPaNciie3MG' # user's private token or OAuth2 access token, default: ENV['GITLAB_API_PRIVATE_TOKEN']
|
33
38
|
# Optional
|
34
39
|
# config.user_agent = 'Custom User Agent' # user agent, default: 'Gitlab Ruby Gem [version]'
|
35
40
|
# config.sudo = 'user' # username for sudo mode, default: nil
|
@@ -55,11 +60,11 @@ Gitlab.http_proxy('proxyhost', 8888)
|
|
55
60
|
Gitlab.http_proxy('proxyhost', 8888, 'proxyuser', 'strongpasswordhere')
|
56
61
|
|
57
62
|
# list projects
|
58
|
-
Gitlab.projects(:
|
63
|
+
Gitlab.projects(per_page: 5)
|
59
64
|
# => [#<Gitlab::ObjectifiedHash:0x000000023326e0 @data={"id"=>1, "code"=>"brute", "name"=>"Brute", "description"=>nil, "path"=>"brute", "default_branch"=>nil, "owner"=>#<Gitlab::ObjectifiedHash:0x00000002331600 @data={"id"=>1, "email"=>"john@example.com", "name"=>"John Smith", "blocked"=>false, "created_at"=>"2012-09-17T09:41:56Z"}>, "private"=>true, "issues_enabled"=>true, "merge_requests_enabled"=>true, "wall_enabled"=>true, "wiki_enabled"=>true, "created_at"=>"2012-09-17T09:41:56Z"}>, #<Gitlab::ObjectifiedHash:0x000000023450d8 @data={"id"=>2, "code"=>"mozart", "name"=>"Mozart", "description"=>nil, "path"=>"mozart", "default_branch"=>nil, "owner"=>#<Gitlab::ObjectifiedHash:0x00000002344ca0 @data={"id"=>1, "email"=>"john@example.com", "name"=>"John Smith", "blocked"=>false, "created_at"=>"2012-09-17T09:41:56Z"}>, "private"=>true, "issues_enabled"=>true, "merge_requests_enabled"=>true, "wall_enabled"=>true, "wiki_enabled"=>true, "created_at"=>"2012-09-17T09:41:57Z"}>, #<Gitlab::ObjectifiedHash:0x00000002344958 @data={"id"=>3, "code"=>"gitlab", "name"=>"Gitlab", "description"=>nil, "path"=>"gitlab", "default_branch"=>nil, "owner"=>#<Gitlab::ObjectifiedHash:0x000000023447a0 @data={"id"=>1, "email"=>"john@example.com", "name"=>"John Smith", "blocked"=>false, "created_at"=>"2012-09-17T09:41:56Z"}>, "private"=>true, "issues_enabled"=>true, "merge_requests_enabled"=>true, "wall_enabled"=>true, "wiki_enabled"=>true, "created_at"=>"2012-09-17T09:41:58Z"}>]
|
60
65
|
|
61
66
|
# initialize a new client
|
62
|
-
g = Gitlab.client(:
|
67
|
+
g = Gitlab.client(endpoint: 'https://api.example.com', private_token: 'qEsq1pt6HJPaNciie3MG')
|
63
68
|
# => #<Gitlab::Client:0x00000001e62408 @endpoint="https://api.example.com", @private_token="qEsq1pt6HJPaNciie3MG", @user_agent="Gitlab Ruby Gem 2.0.0">
|
64
69
|
|
65
70
|
# get a user
|
@@ -100,8 +105,8 @@ gitlab user --only=id,username
|
|
100
105
|
|
101
106
|
gitlab user --except=email,bio
|
102
107
|
|
103
|
-
#
|
104
|
-
gitlab create_merge_request 4 "
|
108
|
+
# passing options hash to a command (use YAML)
|
109
|
+
gitlab create_merge_request 4 "New merge request" "{source_branch: 'new_branch', target_branch: 'master', assignee_id: 42}"
|
105
110
|
|
106
111
|
```
|
107
112
|
|
@@ -122,10 +127,11 @@ gitlab> groups
|
|
122
127
|
# protect a branch
|
123
128
|
gitlab> protect_branch 1 master
|
124
129
|
|
125
|
-
#
|
126
|
-
gitlab> create_merge_request 4 "
|
130
|
+
# passing options hash to a command (use YAML)
|
131
|
+
gitlab> create_merge_request 4 "New merge request" "{source_branch: 'new_branch', target_branch: 'master', assignee_id: 42}"
|
127
132
|
```
|
128
133
|
|
134
|
+
Web version is available at https://gitlab-live.herokuapp.com
|
129
135
|
For more information, refer to [website](http://narkoz.github.io/gitlab).
|
130
136
|
|
131
137
|
## License
|
data/lib/gitlab.rb
CHANGED
@@ -36,7 +36,7 @@ module Gitlab
|
|
36
36
|
#
|
37
37
|
# @return [Array<Symbol>]
|
38
38
|
def self.actions
|
39
|
-
hidden = /endpoint|private_token|user_agent|sudo|get|post|put|\Adelete\z|validate|set_request_defaults/
|
39
|
+
hidden = /endpoint|private_token|user_agent|sudo|get|post|put|\Adelete\z|validate|set_request_defaults|httparty/
|
40
40
|
(Gitlab::Client.instance_methods - Object.methods).reject {|e| e[hidden]}
|
41
41
|
end
|
42
42
|
end
|
data/lib/gitlab/api.rb
CHANGED
@@ -3,15 +3,17 @@ module Gitlab
|
|
3
3
|
class API < Request
|
4
4
|
# @private
|
5
5
|
attr_accessor(*Configuration::VALID_OPTIONS_KEYS)
|
6
|
+
# @private
|
7
|
+
alias_method :auth_token=, :private_token=
|
6
8
|
|
7
9
|
# Creates a new API.
|
8
10
|
# @raise [Error:MissingCredentials]
|
9
11
|
def initialize(options={})
|
10
12
|
options = Gitlab.options.merge(options)
|
11
|
-
Configuration::VALID_OPTIONS_KEYS.each do |key|
|
12
|
-
send("#{key}=", options[key])
|
13
|
+
(Configuration::VALID_OPTIONS_KEYS + [:auth_token]).each do |key|
|
14
|
+
send("#{key}=", options[key]) if options[key]
|
13
15
|
end
|
14
|
-
set_request_defaults
|
16
|
+
set_request_defaults(@sudo)
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
data/lib/gitlab/cli.rb
CHANGED
@@ -6,15 +6,31 @@ require_relative 'shell'
|
|
6
6
|
class Gitlab::CLI
|
7
7
|
extend Helpers
|
8
8
|
|
9
|
+
# Starts a new CLI session.
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Gitlab::CLI.start(['help'])
|
13
|
+
# Gitlab::CLI.start(['help', 'issues'])
|
14
|
+
#
|
15
|
+
# @param [Array] args The command and it's optional arguments.
|
9
16
|
def self.start(args)
|
10
17
|
command = args.shift.strip rescue 'help'
|
11
18
|
run(command, args)
|
12
19
|
end
|
13
20
|
|
21
|
+
# Processes a CLI command and outputs a result to the stream (stdout).
|
22
|
+
#
|
23
|
+
# @example
|
24
|
+
# Gitlab::CLI.run('help')
|
25
|
+
# Gitlab::CLI.run('help', ['issues'])
|
26
|
+
#
|
27
|
+
# @param [String] cmd The name of a command.
|
28
|
+
# @param [Array] args The optional arguments for a command.
|
29
|
+
# @return [nil]
|
14
30
|
def self.run(cmd, args=[])
|
15
31
|
case cmd
|
16
32
|
when 'help'
|
17
|
-
puts
|
33
|
+
puts help(args.shift) { |out| out.gsub!(/Gitlab\./, 'gitlab ') }
|
18
34
|
when 'info'
|
19
35
|
endpoint = Gitlab.endpoint ? Gitlab.endpoint : 'not set'
|
20
36
|
private_token = Gitlab.private_token ? Gitlab.private_token : 'not set'
|
@@ -39,8 +55,10 @@ class Gitlab::CLI
|
|
39
55
|
end
|
40
56
|
|
41
57
|
begin
|
42
|
-
|
43
|
-
|
58
|
+
yaml_load_arguments! command_args
|
59
|
+
command_args.map! {|arg| symbolize_keys arg }
|
60
|
+
rescue => e
|
61
|
+
puts e.message
|
44
62
|
exit 1
|
45
63
|
end
|
46
64
|
|
data/lib/gitlab/cli_helpers.rb
CHANGED
@@ -1,9 +1,36 @@
|
|
1
1
|
require 'yaml'
|
2
|
+
|
2
3
|
class Gitlab::CLI
|
3
4
|
# Defines methods related to CLI output and formatting.
|
4
5
|
module Helpers
|
5
6
|
extend self
|
6
7
|
|
8
|
+
# Returns actions available to CLI & Shell
|
9
|
+
#
|
10
|
+
# @return [Array]
|
11
|
+
def actions
|
12
|
+
@actions ||= Gitlab.actions
|
13
|
+
end
|
14
|
+
|
15
|
+
# Returns Gitlab::Client instance
|
16
|
+
#
|
17
|
+
# @return [Gitlab::Client]
|
18
|
+
def client
|
19
|
+
@client ||= Gitlab::Client.new(endpoint: (Gitlab.endpoint || ''))
|
20
|
+
end
|
21
|
+
|
22
|
+
# Returns method names and their owners
|
23
|
+
#
|
24
|
+
# @return [Array<Hash>]
|
25
|
+
def method_owners
|
26
|
+
@method_owners ||= actions.map do |action|
|
27
|
+
{
|
28
|
+
name: action.to_s,
|
29
|
+
owner: client.method(action).owner.to_s
|
30
|
+
}
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
7
34
|
# Returns filtered required fields.
|
8
35
|
#
|
9
36
|
# @return [Array]
|
@@ -49,87 +76,33 @@ class Gitlab::CLI
|
|
49
76
|
end
|
50
77
|
end
|
51
78
|
|
52
|
-
#
|
79
|
+
# Gets defined help for a specific command/action.
|
53
80
|
#
|
54
81
|
# @return [String]
|
55
|
-
def
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
actions.each do |action|
|
61
|
-
methods << {
|
62
|
-
name: action,
|
63
|
-
owner: client.method(action).owner.to_s.gsub('Gitlab::Client::', '')
|
64
|
-
}
|
65
|
-
end
|
66
|
-
|
67
|
-
owners = methods.map {|m| m[:owner]}.uniq.sort
|
68
|
-
methods_c = methods.group_by {|m| m[:owner]}
|
69
|
-
methods_c = methods_c.map {|_, v| [_, v.sort_by {|hv| hv[:name]}] }
|
70
|
-
methods_c = Hash[methods_c.sort_by(&:first).map {|k, v| [k, v]}]
|
71
|
-
max_column_length = methods_c.values.max_by(&:size).size
|
72
|
-
|
73
|
-
rows = max_column_length.times.map do |i|
|
74
|
-
methods_c.keys.map do |key|
|
75
|
-
methods_c[key][i] ? methods_c[key][i][:name] : ''
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
table do |t|
|
80
|
-
t.title = "Available commands (#{actions.size} total)"
|
81
|
-
t.headings = owners
|
82
|
-
|
83
|
-
rows.each do |row|
|
84
|
-
t.add_row row
|
85
|
-
end
|
82
|
+
def help(cmd = nil, &block)
|
83
|
+
if cmd.nil? or Gitlab::Help.help_map.has_key?(cmd)
|
84
|
+
Gitlab::Help.actions_table(cmd)
|
85
|
+
else
|
86
|
+
Gitlab::Help.get_help(cmd, &block)
|
86
87
|
end
|
87
88
|
end
|
88
89
|
|
89
|
-
#
|
90
|
-
#
|
91
|
-
# @return [String]
|
90
|
+
# Outputs a nicely formatted table or error msg.
|
92
91
|
def output_table(cmd, args, data)
|
93
92
|
case data
|
94
93
|
when Gitlab::ObjectifiedHash
|
95
|
-
puts
|
94
|
+
puts record_table([data], cmd, args)
|
96
95
|
when Array
|
97
|
-
puts
|
98
|
-
else
|
99
|
-
puts data
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
# Table for a single record.
|
104
|
-
#
|
105
|
-
# @return [String]
|
106
|
-
def single_record_table(data, cmd, args)
|
107
|
-
hash = data.to_h
|
108
|
-
keys = hash.keys.sort {|x, y| x.to_s <=> y.to_s }
|
109
|
-
keys = keys & required_fields(args) if required_fields(args).any?
|
110
|
-
keys = keys - excluded_fields(args)
|
111
|
-
|
112
|
-
table do |t|
|
113
|
-
t.title = "Gitlab.#{cmd} #{args.join(', ')}"
|
114
|
-
|
115
|
-
keys.each_with_index do |key, index|
|
116
|
-
case value = hash[key]
|
117
|
-
when Hash
|
118
|
-
value = 'Hash'
|
119
|
-
when nil
|
120
|
-
value = 'null'
|
121
|
-
end
|
122
|
-
|
123
|
-
t.add_row [key, value]
|
124
|
-
t.add_separator unless keys.size - 1 == index
|
125
|
-
end
|
96
|
+
puts record_table(data, cmd, args)
|
97
|
+
else # probably just an error msg
|
98
|
+
puts data
|
126
99
|
end
|
127
100
|
end
|
128
101
|
|
129
|
-
# Table
|
102
|
+
# Table to display records.
|
130
103
|
#
|
131
|
-
# @return [
|
132
|
-
def
|
104
|
+
# @return [Terminal::Table]
|
105
|
+
def record_table(data, cmd, args)
|
133
106
|
return 'No data' if data.empty?
|
134
107
|
|
135
108
|
arr = data.map(&:to_h)
|
@@ -162,7 +135,7 @@ class Gitlab::CLI
|
|
162
135
|
end
|
163
136
|
|
164
137
|
# Helper function to call Gitlab commands with args.
|
165
|
-
def gitlab_helper(cmd, args=[])
|
138
|
+
def gitlab_helper(cmd, args = [])
|
166
139
|
begin
|
167
140
|
data = args.any? ? Gitlab.send(cmd, *args) : Gitlab.send(cmd)
|
168
141
|
rescue => e
|
@@ -181,8 +154,7 @@ class Gitlab::CLI
|
|
181
154
|
begin
|
182
155
|
newhash[key.to_sym] = symbolize_keys(value)
|
183
156
|
rescue NoMethodError
|
184
|
-
|
185
|
-
raise
|
157
|
+
raise "error: cannot convert hash key to symbol: #{key}"
|
186
158
|
end
|
187
159
|
end
|
188
160
|
end
|
@@ -190,19 +162,14 @@ class Gitlab::CLI
|
|
190
162
|
hash
|
191
163
|
end
|
192
164
|
|
193
|
-
# Run YAML::load on each arg
|
165
|
+
# Run YAML::load on each arg.
|
194
166
|
# @return [Array]
|
195
|
-
def
|
167
|
+
def yaml_load_arguments!(args)
|
196
168
|
args.map! do |arg|
|
197
169
|
begin
|
198
170
|
arg = YAML::load(arg)
|
199
|
-
|
200
|
-
if arg.is_a?(Hash)
|
201
|
-
arg = symbolize_keys(arg)
|
202
|
-
end
|
203
171
|
rescue Psych::SyntaxError
|
204
|
-
|
205
|
-
raise
|
172
|
+
raise "error: Argument is not valid YAML syntax: #{arg}"
|
206
173
|
end
|
207
174
|
|
208
175
|
arg
|