rake_circle_ci 0.2.0.pre.2 → 0.2.0.pre.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
  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