artifactory 2.5.2 → 2.6.0

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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -2
  3. data/CHANGELOG.md +6 -0
  4. data/Gemfile +9 -13
  5. data/README.md +10 -1
  6. data/Rakefile +16 -7
  7. data/appveyor.yml +4 -2
  8. data/artifactory.gemspec +14 -14
  9. data/lib/artifactory.rb +26 -26
  10. data/lib/artifactory/client.rb +25 -23
  11. data/lib/artifactory/configurable.rb +1 -0
  12. data/lib/artifactory/defaults.rb +24 -15
  13. data/lib/artifactory/errors.rb +2 -2
  14. data/lib/artifactory/resources/artifact.rb +34 -33
  15. data/lib/artifactory/resources/backup.rb +5 -5
  16. data/lib/artifactory/resources/base.rb +7 -7
  17. data/lib/artifactory/resources/build.rb +15 -15
  18. data/lib/artifactory/resources/build_component.rb +4 -4
  19. data/lib/artifactory/resources/group.rb +4 -4
  20. data/lib/artifactory/resources/layout.rb +3 -3
  21. data/lib/artifactory/resources/ldap_setting.rb +7 -6
  22. data/lib/artifactory/resources/mail_server.rb +3 -3
  23. data/lib/artifactory/resources/permission_target.rb +20 -20
  24. data/lib/artifactory/resources/plugin.rb +1 -1
  25. data/lib/artifactory/resources/repository.rb +20 -20
  26. data/lib/artifactory/resources/system.rb +6 -6
  27. data/lib/artifactory/resources/url_base.rb +4 -3
  28. data/lib/artifactory/resources/user.rb +4 -4
  29. data/lib/artifactory/util.rb +10 -10
  30. data/lib/artifactory/version.rb +1 -1
  31. data/spec/integration/resources/artifact_spec.rb +31 -31
  32. data/spec/integration/resources/backup.rb +7 -7
  33. data/spec/integration/resources/build_component_spec.rb +18 -18
  34. data/spec/integration/resources/build_spec.rb +15 -15
  35. data/spec/integration/resources/group_spec.rb +16 -16
  36. data/spec/integration/resources/layout_spec.rb +7 -7
  37. data/spec/integration/resources/ldap_setting_spec.rb +7 -7
  38. data/spec/integration/resources/mail_server_spec.rb +7 -7
  39. data/spec/integration/resources/permission_target_spec.rb +35 -35
  40. data/spec/integration/resources/repository_spec.rb +14 -14
  41. data/spec/integration/resources/system_spec.rb +20 -21
  42. data/spec/integration/resources/url_base_spec.rb +7 -7
  43. data/spec/integration/resources/user_spec.rb +16 -16
  44. data/spec/spec_helper.rb +11 -11
  45. data/spec/support/api_server.rb +13 -13
  46. data/spec/support/api_server/artifact_endpoints.rb +94 -94
  47. data/spec/support/api_server/build_component_endpoints.rb +18 -18
  48. data/spec/support/api_server/build_endpoints.rb +76 -76
  49. data/spec/support/api_server/group_endpoints.rb +24 -24
  50. data/spec/support/api_server/permission_target_endpoints.rb +24 -24
  51. data/spec/support/api_server/repository_endpoints.rb +82 -82
  52. data/spec/support/api_server/status_endpoints.rb +5 -5
  53. data/spec/support/api_server/system_endpoints.rb +17 -18
  54. data/spec/support/api_server/user_endpoints.rb +30 -30
  55. data/spec/unit/artifactory_spec.rb +17 -17
  56. data/spec/unit/client_spec.rb +43 -43
  57. data/spec/unit/resources/artifact_spec.rb +256 -256
  58. data/spec/unit/resources/backup_spec.rb +8 -8
  59. data/spec/unit/resources/base_spec.rb +51 -51
  60. data/spec/unit/resources/build_component_spec.rb +45 -45
  61. data/spec/unit/resources/build_spec.rb +98 -98
  62. data/spec/unit/resources/defaults_spec.rb +4 -4
  63. data/spec/unit/resources/group_spec.rb +36 -36
  64. data/spec/unit/resources/layout_spec.rb +8 -8
  65. data/spec/unit/resources/ldap_setting_spec.rb +8 -8
  66. data/spec/unit/resources/mail_server_spec.rb +8 -8
  67. data/spec/unit/resources/permission_target_spec.rb +79 -79
  68. data/spec/unit/resources/plugin_spec.rb +7 -7
  69. data/spec/unit/resources/repository_spec.rb +98 -98
  70. data/spec/unit/resources/system_spec.rb +30 -30
  71. data/spec/unit/resources/url_base_spec.rb +8 -8
  72. data/spec/unit/resources/user_spec.rb +40 -40
  73. metadata +3 -3
@@ -1,40 +1,40 @@
1
1
  module Artifactory
2
2
  module APIServer::BuildComponentEndpoints
3
3
  def self.registered(app)
4
- app.get('/api/build') do
5
- content_type 'application/vnd.org.jfrog.build.Builds+json'
4
+ app.get("/api/build") do
5
+ content_type "application/vnd.org.jfrog.build.Builds+json"
6
6
  JSON.fast_generate(
7
- 'uri' => server_url.join('/api/build'),
8
- 'builds' => [
7
+ "uri" => server_url.join("/api/build"),
8
+ "builds" => [
9
9
  {
10
- 'uri' => '/wicket',
11
- 'lastStarted' => '2015-06-19T20:13:20.222Z',
10
+ "uri" => "/wicket",
11
+ "lastStarted" => "2015-06-19T20:13:20.222Z",
12
12
  },
13
13
  {
14
- 'uri' => '/jackrabbit',
15
- 'lastStarted' => '2015-06-20T20:13:20.333Z',
16
- }
14
+ "uri" => "/jackrabbit",
15
+ "lastStarted" => "2015-06-20T20:13:20.333Z",
16
+ },
17
17
  ]
18
18
  )
19
19
  end
20
20
 
21
- app.post('/api/build/rename/:name') do
22
- content_type 'text/plain'
21
+ app.post("/api/build/rename/:name") do
22
+ content_type "text/plain"
23
23
  body "Build renaming of '#{params['name']}' to '#{params['to']}' was successfully started."
24
24
  end
25
25
 
26
- app.delete('/api/build/:name') do
27
- content_type 'text/plain'
26
+ app.delete("/api/build/:name") do
27
+ content_type "text/plain"
28
28
 
29
- if params['deleteAll']
29
+ if params["deleteAll"]
30
30
  body "All '#{params['name']}' builds have been deleted successfully."
31
- elsif params['buildNumbers'].nil?
31
+ elsif params["buildNumbers"].nil?
32
32
  status 400
33
- body 'Please provide at least one build number to delete.'
33
+ body "Please provide at least one build number to delete."
34
34
  else
35
- message = params['buildNumbers'].split(',').map do |n|
35
+ message = params["buildNumbers"].split(",").map do |n|
36
36
  "#{params['name']}##{n}"
37
- end.join(', ')
37
+ end.join(", ")
38
38
 
39
39
  body "The following builds has been deleted successfully: #{message}."
40
40
  end
@@ -1,61 +1,61 @@
1
1
  module Artifactory
2
2
  module APIServer::BuildEndpoints
3
3
  def self.registered(app)
4
- app.get('/api/build/wicket') do
5
- content_type 'application/vnd.org.jfrog.build.BuildsByName+json'
4
+ app.get("/api/build/wicket") do
5
+ content_type "application/vnd.org.jfrog.build.BuildsByName+json"
6
6
  JSON.fast_generate(
7
- 'uri' => server_url.join('/api/build/wicket'),
8
- 'buildsNumbers' => [
7
+ "uri" => server_url.join("/api/build/wicket"),
8
+ "buildsNumbers" => [
9
9
  {
10
- 'uri' => "/51",
11
- 'started' => '2014-09-30T12:00:19.893+0300',
12
- }
10
+ "uri" => "/51",
11
+ "started" => "2014-09-30T12:00:19.893+0300",
12
+ },
13
13
  ]
14
14
  )
15
15
  end
16
16
 
17
- app.get('/api/build/wicket/51') do
18
- content_type 'application/vnd.org.jfrog.build.BuildInfo+json'
17
+ app.get("/api/build/wicket/51") do
18
+ content_type "application/vnd.org.jfrog.build.BuildInfo+json"
19
19
  JSON.fast_generate(
20
- 'uri' => server_url.join('/api/build/wicket/51'),
21
- 'buildInfo' => {
20
+ "uri" => server_url.join("/api/build/wicket/51"),
21
+ "buildInfo" => {
22
22
  "properties" => {
23
23
  "buildInfo.env.JAVA_HOME" => "/usr/jdk/latest",
24
24
  },
25
- "version" => "1.0.1",
26
- "name" => "wicket",
27
- "number" => "51",
28
- "type" => "MAVEN",
29
- "buildAgent" => {
25
+ "version" => "1.0.1",
26
+ "name" => "wicket",
27
+ "number" => "51",
28
+ "type" => "MAVEN",
29
+ "buildAgent" => {
30
30
  "name" => "Maven",
31
- "version" => "3.0.5"
31
+ "version" => "3.0.5",
32
32
  },
33
- "agent" => {
33
+ "agent" => {
34
34
  "name" => "Jenkins",
35
- "version" => "1.565.2"
35
+ "version" => "1.565.2",
36
36
  },
37
- "started" => '2014-09-30T12:00:19.893+0300',
38
- "durationMillis" => 8926,
39
- "artifactoryPrincipal" => "admin",
40
- "url" => "http://localhost:8080/job/Maven2-3/9/",
41
- "vcsRevision" => "83049487ecc61bef3dce798838e7a9457e174a5a",
42
- "vcsUrl" => "https://github.com/aseftel/project-examples",
43
- "licenseControl" => {
37
+ "started" => "2014-09-30T12:00:19.893+0300",
38
+ "durationMillis" => 8926,
39
+ "artifactoryPrincipal" => "admin",
40
+ "url" => "http://localhost:8080/job/Maven2-3/9/",
41
+ "vcsRevision" => "83049487ecc61bef3dce798838e7a9457e174a5a",
42
+ "vcsUrl" => "https://github.com/aseftel/project-examples",
43
+ "licenseControl" => {
44
44
  "runChecks" => false,
45
45
  "includePublishedArtifacts" => false,
46
46
  "autoDiscover" => true,
47
47
  "scopesList" => "",
48
- "licenseViolationsRecipientsList" => ""
48
+ "licenseViolationsRecipientsList" => "",
49
49
  },
50
- "buildRetention" => {
50
+ "buildRetention" => {
51
51
  "count" => -1,
52
52
  "deleteBuildArtifacts" => true,
53
- "buildNumbersNotToBeDiscarded" => []
53
+ "buildNumbersNotToBeDiscarded" => [],
54
54
  },
55
- "modules" => [
55
+ "modules" => [
56
56
  {
57
57
  "properties" => {
58
- "project.build.sourceEncoding" => "UTF-8"
58
+ "project.build.sourceEncoding" => "UTF-8",
59
59
  },
60
60
  "id" => "org.jfrog.test:multi:2.19-SNAPSHOT",
61
61
  "artifacts" => [
@@ -63,107 +63,107 @@ module Artifactory
63
63
  "type" => "pom",
64
64
  "sha1" => "045b66ebbf8504002b626f592d087612aca36582",
65
65
  "md5" => "c25542a353dab1089cd186465dc47a68",
66
- "name" => "multi-2.19-SNAPSHOT.pom"
67
- }
68
- ]
66
+ "name" => "multi-2.19-SNAPSHOT.pom",
67
+ },
68
+ ],
69
69
  },
70
70
  {
71
71
  "properties" => {
72
- "project.build.sourceEncoding" => "UTF-8"
72
+ "project.build.sourceEncoding" => "UTF-8",
73
73
  },
74
74
  "id" => "org.jfrog.test:multi1:2.19-SNAPSHOT",
75
- "artifacts"=> [
75
+ "artifacts" => [
76
76
  {
77
77
  "type" => "jar",
78
78
  "sha1" => "f4c5c9cb3091011ec2a895b3dedd7f10d847361c",
79
79
  "md5" => "d1fd850a3582efba41092c624e0b46b8",
80
- "name" => "multi1-2.19-SNAPSHOT.jar"
80
+ "name" => "multi1-2.19-SNAPSHOT.jar",
81
81
  },
82
82
  {
83
83
  "type" => "pom",
84
84
  "sha1" => "2ddbf9824676f548d637726d3bcbb494ba823090",
85
85
  "md5" => "a64aa7f305f63a85e63a0155ff0fb404",
86
- "name" => "multi1-2.19-SNAPSHOT.pom"
86
+ "name" => "multi1-2.19-SNAPSHOT.pom",
87
87
  },
88
88
  {
89
89
  "type" => "jar",
90
90
  "sha1" => "6fdd143a44cea3a2636660c5c266c95c27e50abc",
91
91
  "md5" => "12a1e438f4bef8c4b740fe848a1704a4",
92
92
  "id" => "org.slf4j:slf4j-simple:1.4.3",
93
- "scopes" => [ "compile" ]
93
+ "scopes" => [ "compile" ],
94
94
  },
95
95
  {
96
96
  "type" => "jar",
97
97
  "sha1" => "496e91f7df8a0417e00cecdba840cdf0e5f2472c",
98
98
  "md5" => "76a412a37c9d18659d2dacccdb1c24ff",
99
99
  "id" => "org.jenkins-ci.lib:dry-run-lib:0.1",
100
- "scopes" => [ "compile" ]
101
- }
102
- ]
100
+ "scopes" => [ "compile" ],
101
+ },
102
+ ],
103
103
  },
104
104
  {
105
105
  "properties" => {
106
106
  "daversion" => "2.19-SNAPSHOT",
107
- "project.build.sourceEncoding"=>"UTF-8"
107
+ "project.build.sourceEncoding" => "UTF-8",
108
108
  },
109
109
  "id" => "org.jfrog.test:multi2:2.19-SNAPSHOT",
110
110
  "artifacts" => [
111
111
  {
112
112
  "type" => "txt",
113
- "name" => "multi2-2.19-SNAPSHOT.txt"
113
+ "name" => "multi2-2.19-SNAPSHOT.txt",
114
114
  },
115
115
  {
116
116
  "type" => "java-source-jar",
117
117
  "sha1" => "49108b0c7db5fdb4efe3c29a5a9f54e806aecb62",
118
118
  "md5" => "0e2c5473cf2a9b694afb4a2e8da34b53",
119
- "name" => "multi2-2.19-SNAPSHOT-sources.jar"},
119
+ "name" => "multi2-2.19-SNAPSHOT-sources.jar" },
120
120
  {
121
121
  "type" => "jar",
122
122
  "sha1" => "476e89d290ae36dabb38ff22f75f264ae019d542",
123
123
  "md5" => "fa9b3df58ac040fffcff9310f261be80",
124
- "name" => "multi2-2.19-SNAPSHOT.jar"
124
+ "name" => "multi2-2.19-SNAPSHOT.jar",
125
125
  },
126
126
  {
127
127
  "type" => "pom",
128
128
  "sha1" => "b719b90364e5ae38cda358072f61f821bdae5d5d",
129
129
  "md5" => "8d5060005235d75907baca4490cf60bf",
130
- "name" => "multi2-2.19-SNAPSHOT.pom"
131
- }
130
+ "name" => "multi2-2.19-SNAPSHOT.pom",
131
+ },
132
132
  ],
133
- "dependencies"=> [
133
+ "dependencies" => [
134
134
  {
135
135
  "type" => "jar",
136
136
  "sha1" => "19d4e90b43059058f6e056f794f0ea4030d60b86",
137
137
  "md5" => "dcd95bcb84b09897b2b66d4684c040da",
138
138
  "id" => "xpp3:xpp3_min:1.1.4c",
139
- "scopes" => [ "provided" ]
139
+ "scopes" => [ "provided" ],
140
140
  },
141
141
  {
142
142
  "type" => "jar",
143
143
  "sha1" => "e2d866af5518e81282838301b49a1bd2452619d3",
144
144
  "md5" => "e9e4b59c69305ba3698dd61c5dfc4fc8",
145
145
  "id" => "org.jvnet.hudson.plugins:perforce:1.3.7",
146
- "scopes" => [ "compile" ]
146
+ "scopes" => [ "compile" ],
147
147
  },
148
148
  {
149
149
  "type" => "jar",
150
150
  "sha1" => "6fdd143a44cea3a2636660c5c266c95c27e50abc",
151
151
  "md5" => "12a1e438f4bef8c4b740fe848a1704a4",
152
152
  "id" => "org.slf4j:slf4j-simple:1.4.3",
153
- "scopes" => [ "compile" ]
153
+ "scopes" => [ "compile" ],
154
154
  },
155
155
  {
156
156
  "type" => "jar",
157
157
  "sha1" => "496e91f7df8a0417e00cecdba840cdf0e5f2472c",
158
158
  "md5" => "76a412a37c9d18659d2dacccdb1c24ff",
159
159
  "id" => "org.jenkins-ci.lib:dry-run-lib:0.1",
160
- "scopes" => [ "compile" ]
161
- }
162
- ]
160
+ "scopes" => [ "compile" ],
161
+ },
162
+ ],
163
163
  },
164
164
  {
165
165
  "properties" => {
166
- "project.build.sourceEncoding" => "UTF-8"
166
+ "project.build.sourceEncoding" => "UTF-8",
167
167
  },
168
168
  "id" => "org.jfrog.test:multi3:2.19-SNAPSHOT",
169
169
  "artifacts" => [
@@ -171,58 +171,58 @@ module Artifactory
171
171
  "type" => "java-source-jar",
172
172
  "sha1" => "3cd104785167ac37ef999431f308ffef10810348",
173
173
  "md5" => "c683276f8dda97078ae8eb5e26bb3ee5",
174
- "name" => "multi3-2.19-SNAPSHOT-sources.jar"
174
+ "name" => "multi3-2.19-SNAPSHOT-sources.jar",
175
175
  },
176
176
  {
177
177
  "type" => "war",
178
178
  "sha1" => "34aeebeb805b23922d9d05507404533518cf81e4",
179
179
  "md5" => "55af06a2175cfb23cc6dc3931475b57c",
180
- "name" => "multi3-2.19-SNAPSHOT.war"
180
+ "name" => "multi3-2.19-SNAPSHOT.war",
181
181
  },
182
182
  {
183
183
  "type" => "jar",
184
184
  "sha1" => "496e91f7df8a0417e00cecdba840cdf0e5f2472c",
185
185
  "md5" => "76a412a37c9d18659d2dacccdb1c24ff",
186
186
  "id" => "org.jenkins-ci.lib:dry-run-lib:0.1",
187
- "scopes" => [ "compile" ]
187
+ "scopes" => [ "compile" ],
188
188
  },
189
189
  {
190
190
  "type" => "jar",
191
191
  "sha1" => "7e9978fdb754bce5fcd5161133e7734ecb683036",
192
192
  "md5" => "7df83e09e41d742cc5fb20d16b80729c",
193
193
  "id" => "hsqldb:hsqldb:1.8.0.10",
194
- "scopes" => [ "runtime" ]
195
- }
196
- ]
197
- }
194
+ "scopes" => [ "runtime" ],
195
+ },
196
+ ],
197
+ },
198
198
  ],
199
- "governance" => {
199
+ "governance" => {
200
200
  "blackDuckProperties" => {
201
201
  "runChecks" => false,
202
202
  "includePublishedArtifacts" => false,
203
203
  "autoCreateMissingComponentRequests" => false,
204
- "autoDiscardStaleComponentRequests" => false
205
- }
206
- }
204
+ "autoDiscardStaleComponentRequests" => false,
205
+ },
206
+ },
207
207
  }
208
208
  )
209
209
  end
210
210
 
211
- app.put('/api/build') do
211
+ app.put("/api/build") do
212
212
  status 204
213
- body ''
213
+ body ""
214
214
  end
215
215
 
216
- app.post('/api/build/promote/wicket/51') do
217
- content_type 'application/vnd.org.jfrog.artifactory.build.PromotionResult+json'
216
+ app.post("/api/build/promote/wicket/51") do
217
+ content_type "application/vnd.org.jfrog.artifactory.build.PromotionResult+json"
218
218
 
219
219
  JSON.fast_generate(
220
- 'uri' => server_url.join('/api/build/wicket'),
221
- 'buildsNumbers' => [
220
+ "uri" => server_url.join("/api/build/wicket"),
221
+ "buildsNumbers" => [
222
222
  {
223
- 'uri' => "/51",
224
- 'started' => '2014-09-30T12:00:19.893+0300',
225
- }
223
+ "uri" => "/51",
224
+ "started" => "2014-09-30T12:00:19.893+0300",
225
+ },
226
226
  ]
227
227
  )
228
228
  end
@@ -1,51 +1,51 @@
1
1
  module Artifactory
2
2
  module APIServer::GroupEndpoints
3
3
  def self.registered(app)
4
- app.get('/api/security/groups') do
5
- content_type 'application/vnd.org.jfrog.artifactory.security.Groups+json'
4
+ app.get("/api/security/groups") do
5
+ content_type "application/vnd.org.jfrog.artifactory.security.Groups+json"
6
6
  JSON.fast_generate([
7
7
  {
8
- 'name' => 'readers',
9
- 'uri' => server_url.join('/api/security/groups/readers'),
8
+ "name" => "readers",
9
+ "uri" => server_url.join("/api/security/groups/readers"),
10
10
  },
11
11
  {
12
- 'name' => 'tech-leads',
13
- 'uri' => server_url.join('/api/security/groups/tech-leads')
14
- }
12
+ "name" => "tech-leads",
13
+ "uri" => server_url.join("/api/security/groups/tech-leads"),
14
+ },
15
15
  ])
16
16
  end
17
17
 
18
- app.get('/api/security/groups/readers') do
19
- content_type 'application/vnd.org.jfrog.artifactory.security.Group+json'
18
+ app.get("/api/security/groups/readers") do
19
+ content_type "application/vnd.org.jfrog.artifactory.security.Group+json"
20
20
  JSON.fast_generate(
21
- 'name' => 'readers',
22
- 'description' => 'This list of read-only users',
23
- 'autoJoin' => true,
24
- 'realm' => 'artifactory',
25
- 'realmAttributes' => nil,
21
+ "name" => "readers",
22
+ "description" => "This list of read-only users",
23
+ "autoJoin" => true,
24
+ "realm" => "artifactory",
25
+ "realmAttributes" => nil
26
26
  )
27
27
  end
28
28
 
29
- app.get('/api/security/groups/tech-leads') do
30
- content_type 'application/vnd.org.jfrog.artifactory.security.Group+json'
29
+ app.get("/api/security/groups/tech-leads") do
30
+ content_type "application/vnd.org.jfrog.artifactory.security.Group+json"
31
31
  JSON.fast_generate(
32
- 'name' => 'tech-leads',
33
- 'description' => 'This development leads group',
34
- 'autoJoin' => false,
35
- 'realm' => 'artifactory',
36
- 'realmAttributes' => nil,
32
+ "name" => "tech-leads",
33
+ "description" => "This development leads group",
34
+ "autoJoin" => false,
35
+ "realm" => "artifactory",
36
+ "realmAttributes" => nil
37
37
  )
38
38
  end
39
39
 
40
- app.put('/api/security/groups/:name') do
41
- return 415 unless request.content_type == 'application/vnd.org.jfrog.artifactory.security.Group+json'
40
+ app.put("/api/security/groups/:name") do
41
+ return 415 unless request.content_type == "application/vnd.org.jfrog.artifactory.security.Group+json"
42
42
 
43
43
  # Attempt to parse the response; if this succeeds, all is well...
44
44
  JSON.parse(request.body.read)
45
45
  nil
46
46
  end
47
47
 
48
- app.delete('/api/security/groups/:name') do
48
+ app.delete("/api/security/groups/:name") do
49
49
  nil
50
50
  end
51
51
  end
@@ -1,51 +1,51 @@
1
1
  module Artifactory
2
2
  module APIServer::PermissionTargetEndpoints
3
3
  def self.registered(app)
4
- app.get('/api/security/permissions') do
5
- content_type 'application/vnd.org.jfrog.artifactory.security.PermissionTargets+json'
4
+ app.get("/api/security/permissions") do
5
+ content_type "application/vnd.org.jfrog.artifactory.security.PermissionTargets+json"
6
6
  JSON.fast_generate([
7
7
  {
8
- 'name' => 'Anything',
9
- 'uri' => server_url.join('/api/security/permissions/Anything'),
8
+ "name" => "Anything",
9
+ "uri" => server_url.join("/api/security/permissions/Anything"),
10
10
  },
11
11
  {
12
- 'name' => 'Any Remote',
13
- 'uri' => server_url.join('/api/security/permissions/Any%20Remote')
14
- }
12
+ "name" => "Any Remote",
13
+ "uri" => server_url.join("/api/security/permissions/Any%20Remote"),
14
+ },
15
15
  ])
16
16
  end
17
17
 
18
- app.get('/api/security/permissions/Any%20Remote') do
19
- content_type 'application/vnd.org.jfrog.artifactory.security.PermissionTargets+json'
18
+ app.get("/api/security/permissions/Any%20Remote") do
19
+ content_type "application/vnd.org.jfrog.artifactory.security.PermissionTargets+json"
20
20
  JSON.fast_generate(
21
- 'name' => 'Any Remote',
22
- 'includes_pattern' => nil,
23
- 'excludes_pattern' => '',
24
- 'repositories' => ["ANY REMOTE"],
25
- 'principals' => { 'users' => { 'anonymous' => ['w', 'r'] }, 'groups' => nil }
21
+ "name" => "Any Remote",
22
+ "includes_pattern" => nil,
23
+ "excludes_pattern" => "",
24
+ "repositories" => ["ANY REMOTE"],
25
+ "principals" => { "users" => { "anonymous" => %w{w r} }, "groups" => nil }
26
26
  )
27
27
  end
28
28
 
29
- app.get('/api/security/permissions/Anything') do
30
- content_type 'application/vnd.org.jfrog.artifactory.security.PermissionTargets+json'
29
+ app.get("/api/security/permissions/Anything") do
30
+ content_type "application/vnd.org.jfrog.artifactory.security.PermissionTargets+json"
31
31
  JSON.fast_generate(
32
- 'name' => 'Anything',
33
- 'includes_pattern' => nil,
34
- 'excludes_pattern' => '',
35
- 'repositories' => ["ANY"],
36
- 'principals' => { 'users' => { 'anonymous' => ['r'] }, 'groups' => { 'readers' => ['r', 'm'] } }
32
+ "name" => "Anything",
33
+ "includes_pattern" => nil,
34
+ "excludes_pattern" => "",
35
+ "repositories" => ["ANY"],
36
+ "principals" => { "users" => { "anonymous" => ["r"] }, "groups" => { "readers" => %w{r m} } }
37
37
  )
38
38
  end
39
39
 
40
- app.put('/api/security/permissions/:name') do
41
- return 415 unless request.content_type == 'application/vnd.org.jfrog.artifactory.security.PermissionTarget+json'
40
+ app.put("/api/security/permissions/:name") do
41
+ return 415 unless request.content_type == "application/vnd.org.jfrog.artifactory.security.PermissionTarget+json"
42
42
 
43
43
  # Attempt to parse the response; if this succeeds, all is well...
44
44
  JSON.parse(request.body.read)
45
45
  nil
46
46
  end
47
47
 
48
- app.delete('/api/security/permissions/:name') do
48
+ app.delete("/api/security/permissions/:name") do
49
49
  nil
50
50
  end
51
51
  end