rake_circle_ci 0.2.0.pre.10 → 0.2.0.pre.11

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: e436cbd483130841e428a315c59fdd791d9fe540a014df7152267df13a3fdd64
4
- data.tar.gz: d1dff86690bdff0cde6853976eda3809926c04c582ec9428b315b26865100527
3
+ metadata.gz: 16542cf53d773ebcda487a68b9985b565507b90cfcc19fa7aba66233db0ce01d
4
+ data.tar.gz: 5c8bd33d45ca784422dc8c9992debe43b0d854de2ee514b92aac72f9b257912b
5
5
  SHA512:
6
- metadata.gz: e1ca284246645f3dbec643d2a2341ecd5baf6afcaafb9f0afd602c87e23abfa8ffb028cdfdb5cf7ecb852310fec265e46b65e725580b59bab23e387fd9d714d9
7
- data.tar.gz: 3c842bff229f1308170a15eee28a3aaf69904a75fc79a13264da25487e40fd36ad387b510d1c30025f9e9119b6b42db7d74c8bb83d068cc9583b1de4cb4b9ec5
6
+ metadata.gz: b6704dc617c774964eadaa6dff7d0e4dfbdfa4897f093026ab1359c0d2a882e4b51378b934f69414221e14b473e98a1d10ff7253ab9ccc72ee0231a603a27c56
7
+ data.tar.gz: 8188d9997732a83bb261dff50308308396900d4e0a0495459836dda3b7d66580a0e3e06bcb7c306bde637a539efeb2f7fca56c34003c50ba1550103592d5d086
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.10)
4
+ rake_circle_ci (0.2.0.pre.11)
5
5
  colored2 (~> 3.1)
6
6
  excon (~> 0.72)
7
7
  rake_factory (~> 0.23)
@@ -0,0 +1,85 @@
1
+ require 'rake_factory'
2
+
3
+ require_relative '../tasks'
4
+
5
+ module RakeCircleCI
6
+ module TaskSets
7
+ class Project < RakeFactory::TaskSet
8
+ prepend RakeFactory::Namespaceable
9
+
10
+ parameter :project_slug, required: true
11
+ parameter :api_token, required: true
12
+ parameter :base_url, default: 'https://circleci.com/api'
13
+ parameter :environment_variables, default: {}
14
+ parameter :ssh_keys, default: {}
15
+
16
+ parameter :env_vars_namespace, default: :env_vars
17
+ parameter :env_vars_destroy_task_name, default: :destroy
18
+ parameter :env_vars_provision_task_name, default: :provision
19
+ parameter :env_vars_ensure_task_name, default: :ensure
20
+
21
+ parameter :ssh_keys_namespace, default: :ssh_keys
22
+ parameter :ssh_keys_destroy_task_name, default: :destroy
23
+ parameter :ssh_keys_provision_task_name, default: :provision
24
+ parameter :ssh_keys_ensure_task_name, default: :ensure
25
+
26
+ task Tasks::EnvironmentVariables::Provision,
27
+ name: RakeFactory::DynamicValue.new { |ts|
28
+ ts.env_vars_provision_task_name
29
+ }
30
+ task Tasks::EnvironmentVariables::Destroy,
31
+ name: RakeFactory::DynamicValue.new { |ts|
32
+ ts.env_vars_destroy_task_name
33
+ }
34
+ task Tasks::EnvironmentVariables::Ensure,
35
+ name: RakeFactory::DynamicValue.new { |ts|
36
+ ts.env_vars_ensure_task_name
37
+ },
38
+ destroy_task_name: RakeFactory::DynamicValue.new { |ts|
39
+ ts.env_vars_destroy_task_name
40
+ },
41
+ provision_task_name: RakeFactory::DynamicValue.new { |ts|
42
+ ts.env_vars_provision_task_name
43
+ }
44
+ task Tasks::SSHKeys::Provision,
45
+ name: RakeFactory::DynamicValue.new { |ts|
46
+ ts.ssh_keys_provision_task_name
47
+ }
48
+ task Tasks::SSHKeys::Destroy,
49
+ name: RakeFactory::DynamicValue.new { |ts|
50
+ ts.ssh_keys_destroy_task_name
51
+ }
52
+ task Tasks::SSHKeys::Ensure,
53
+ name: RakeFactory::DynamicValue.new { |ts|
54
+ ts.ssh_keys_ensure_task_name
55
+ },
56
+ destroy_task_name: RakeFactory::DynamicValue.new { |ts|
57
+ ts.ssh_keys_destroy_task_name
58
+ },
59
+ provision_task_name: RakeFactory::DynamicValue.new { |ts|
60
+ ts.ssh_keys_provision_task_name
61
+ }
62
+
63
+ def define_on(application)
64
+ around_define(application) do
65
+ self.class.tasks.each do |task_definition|
66
+ ns = case task_definition.klass.to_s
67
+ when /EnvironmentVariables/
68
+ env_vars_namespace
69
+ when /SSHKeys/
70
+ ssh_keys_namespace
71
+ else
72
+ nil
73
+ end
74
+
75
+ application.in_namespace(ns) do
76
+ task_definition
77
+ .for_task_set(self)
78
+ .define_on(application)
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -1,5 +1,6 @@
1
1
  require_relative 'task_sets/environment_variables'
2
2
  require_relative 'task_sets/ssh_keys'
3
+ require_relative 'task_sets/project'
3
4
 
4
5
  module RakeCircleCI
5
6
  module TaskSets
@@ -22,7 +22,7 @@ module RakeCircleCI
22
22
  api_token: t.api_token,
23
23
  project_slug: t.project_slug)
24
24
 
25
- print "Destroying all SSH keys to the '#{t.project_slug}' " +
25
+ print "Destroying all SSH keys in the '#{t.project_slug}' " +
26
26
  "project... "
27
27
  client.delete_ssh_keys
28
28
  puts "Done."
@@ -1,3 +1,3 @@
1
1
  module RakeCircleCI
2
- VERSION = '0.2.0.pre.10'
2
+ VERSION = '0.2.0.pre.11'
3
3
  end
@@ -11,4 +11,8 @@ module RakeCircleCI
11
11
  def self.define_ssh_keys_tasks(opts = {}, &block)
12
12
  RakeCircleCI::TaskSets::SSHKeys.define(opts, &block)
13
13
  end
14
+
15
+ def self.define_project_tasks(opts = {}, &block)
16
+ RakeCircleCI::TaskSets::Project.define(opts, &block)
17
+ end
14
18
  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.10
4
+ version: 0.2.0.pre.11
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/task_sets.rb
203
203
  - lib/rake_circle_ci/task_sets/environment_variables.rb
204
+ - lib/rake_circle_ci/task_sets/project.rb
204
205
  - lib/rake_circle_ci/task_sets/ssh_keys.rb
205
206
  - lib/rake_circle_ci/tasks.rb
206
207
  - lib/rake_circle_ci/tasks/environment_variables.rb