rake_circle_ci 0.2.0.pre.2 → 0.2.0.pre.3

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
  SHA256:
3
- metadata.gz: df1940d5edea738730c5de0e2e4195e363e8596e99344ee105e809d8aa2ea79b
4
- data.tar.gz: e9ad318bee7536ca18ee0cb12888f8799018800aac0337ed6e62f308449f9ced
3
+ metadata.gz: 27abbae717ee090d199ef8ab50a3412903ec1d2f00ec26d16e9b7791dba70808
4
+ data.tar.gz: ecf6a27446dc9fc9fc4ff4b2167b27999bc7d2430fdd8d6d384fb32f680e4517
5
5
  SHA512:
6
- metadata.gz: 35de43169c37970c95daf0f62487d0033bcc82b7485fcfb84cf0122025c4430ccf447ad086045c5e95ace25908f3802cadeb663c00959f76a7e2db0970a2b717
7
- data.tar.gz: 5fe3e61b2d6eafa9fe77bff6a95a7d5eae691c451d861db30e25b2a04c579566049ae77c44f7dad6afbfe94de5f871fb1035ef8408722bdcb1ec2a3fd6bb84fb
6
+ metadata.gz: 8cd6858cb9e0795d4efbe9e7b6a84848691d92b1a01ab33a2b8ac149f5600367daee122b9dd7c6b62bb03876bd316ee62a23b3f635c96726854472f6f935d7cf
7
+ data.tar.gz: 2e6d4810e68c476bcd60cd14b5ca3f97f892efe4cb4f791851a034b8b6041019a157f1d5844582583afd741c05fee155ee71701f5de3b15c757ae47352479e42
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_circle_ci (0.2.0.pre.2)
4
+ rake_circle_ci (0.2.0.pre.3)
5
5
  colored2 (~> 3.1)
6
6
  excon (~> 0.72)
7
7
  rake_factory (~> 0.23)
@@ -9,12 +9,31 @@ module RakeCircleCI
9
9
  @project_slug = opts[:project_slug]
10
10
  end
11
11
 
12
+ def find_env_vars
13
+ response = assert_successful(Excon.get(env_vars_url, headers: headers))
14
+ body = JSON.parse(response.body)
15
+ env_vars = body["items"].map { |item| item["name"] }
16
+
17
+ env_vars
18
+ end
19
+
12
20
  def create_env_var(name, value)
13
21
  body = JSON.dump(name: name, value: value)
14
22
  assert_successful(
15
23
  Excon.post(env_vars_url, body: body, headers: headers))
16
24
  end
17
25
 
26
+ def delete_env_var(name)
27
+ assert_successful(Excon.delete(env_var_url(name), headers: headers))
28
+ end
29
+
30
+ def delete_env_vars
31
+ env_vars = find_env_vars
32
+ env_vars.each do |env_var|
33
+ delete_env_var(env_var)
34
+ end
35
+ end
36
+
18
37
  private
19
38
 
20
39
  def headers
@@ -39,5 +58,9 @@ module RakeCircleCI
39
58
  def env_vars_url
40
59
  "#{@base_url}/v2/project/#{@project_slug}/envvar"
41
60
  end
61
+
62
+ def env_var_url(name)
63
+ "#{@base_url}/v2/project/#{@project_slug}/envvar/#{name}"
64
+ end
42
65
  end
43
66
  end
@@ -0,0 +1,32 @@
1
+ require 'rake_factory'
2
+
3
+ require_relative '../../client'
4
+
5
+ module RakeCircleCI
6
+ module Tasks
7
+ module EnvironmentVariables
8
+ class Destroy < RakeFactory::Task
9
+ default_name :destroy
10
+ default_description RakeFactory::DynamicValue.new { |t|
11
+ "Destroy environment variables on the #{t.project_slug} project"
12
+ }
13
+
14
+ parameter :project_slug, required: true
15
+ parameter :api_token, required: true
16
+ parameter :base_url, default: 'https://circleci.com/api'
17
+
18
+ action do |t|
19
+ client = Client.new(
20
+ base_url: t.base_url,
21
+ api_token: t.api_token,
22
+ project_slug: t.project_slug)
23
+
24
+ print "Destroying all environment variables on the " +
25
+ "'#{t.project_slug}' project... "
26
+ client.delete_env_vars
27
+ puts "Done."
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,4 +1,5 @@
1
1
  require_relative 'environment_variables/provision'
2
+ require_relative 'environment_variables/destroy'
2
3
 
3
4
  module RakeCircleCI
4
5
  module Tasks
@@ -1,3 +1,3 @@
1
1
  module RakeCircleCI
2
- VERSION = '0.2.0.pre.2'
2
+ VERSION = '0.2.0.pre.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_circle_ci
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.pre.2
4
+ version: 0.2.0.pre.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
@@ -201,6 +201,7 @@ files:
201
201
  - lib/rake_circle_ci/client.rb
202
202
  - lib/rake_circle_ci/tasks.rb
203
203
  - lib/rake_circle_ci/tasks/environment_variables.rb
204
+ - lib/rake_circle_ci/tasks/environment_variables/destroy.rb
204
205
  - lib/rake_circle_ci/tasks/environment_variables/provision.rb
205
206
  - lib/rake_circle_ci/version.rb
206
207
  - rake_circle_ci.gemspec