rake_circle_ci 0.10.0.pre.5 → 0.10.0.pre.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../tasks'
@@ -33,86 +35,85 @@ module RakeCircleCI
33
35
  parameter :project_follow_task_name, default: :follow
34
36
 
35
37
  task Tasks::EnvironmentVariables::Provision,
36
- name: RakeFactory::DynamicValue.new { |ts|
37
- ts.env_vars_provision_task_name
38
- }
38
+ name: RakeFactory::DynamicValue.new { |ts|
39
+ ts.env_vars_provision_task_name
40
+ }
39
41
  task Tasks::EnvironmentVariables::Destroy,
40
- name: RakeFactory::DynamicValue.new { |ts|
41
- ts.env_vars_destroy_task_name
42
- }
42
+ name: RakeFactory::DynamicValue.new { |ts|
43
+ ts.env_vars_destroy_task_name
44
+ }
43
45
  task Tasks::EnvironmentVariables::Ensure,
44
- name: RakeFactory::DynamicValue.new { |ts|
45
- ts.env_vars_ensure_task_name
46
- },
47
- destroy_task_name: RakeFactory::DynamicValue.new { |ts|
48
- ts.env_vars_destroy_task_name
49
- },
50
- provision_task_name: RakeFactory::DynamicValue.new { |ts|
51
- ts.env_vars_provision_task_name
52
- }
46
+ name: RakeFactory::DynamicValue.new { |ts|
47
+ ts.env_vars_ensure_task_name
48
+ },
49
+ destroy_task_name: RakeFactory::DynamicValue.new { |ts|
50
+ ts.env_vars_destroy_task_name
51
+ },
52
+ provision_task_name: RakeFactory::DynamicValue.new { |ts|
53
+ ts.env_vars_provision_task_name
54
+ }
53
55
  task Tasks::SSHKeys::Provision,
54
- name: RakeFactory::DynamicValue.new { |ts|
55
- ts.ssh_keys_provision_task_name
56
- }
56
+ name: RakeFactory::DynamicValue.new { |ts|
57
+ ts.ssh_keys_provision_task_name
58
+ }
57
59
  task Tasks::SSHKeys::Destroy,
58
- name: RakeFactory::DynamicValue.new { |ts|
59
- ts.ssh_keys_destroy_task_name
60
- }
60
+ name: RakeFactory::DynamicValue.new { |ts|
61
+ ts.ssh_keys_destroy_task_name
62
+ }
61
63
  task Tasks::SSHKeys::Ensure,
62
- name: RakeFactory::DynamicValue.new { |ts|
63
- ts.ssh_keys_ensure_task_name
64
- },
65
- destroy_task_name: RakeFactory::DynamicValue.new { |ts|
66
- ts.ssh_keys_destroy_task_name
67
- },
68
- provision_task_name: RakeFactory::DynamicValue.new { |ts|
69
- ts.ssh_keys_provision_task_name
70
- }
64
+ name: RakeFactory::DynamicValue.new { |ts|
65
+ ts.ssh_keys_ensure_task_name
66
+ },
67
+ destroy_task_name: RakeFactory::DynamicValue.new { |ts|
68
+ ts.ssh_keys_destroy_task_name
69
+ },
70
+ provision_task_name: RakeFactory::DynamicValue.new { |ts|
71
+ ts.ssh_keys_provision_task_name
72
+ }
71
73
  task Tasks::CheckoutKeys::Provision,
72
- name: RakeFactory::DynamicValue.new { |ts|
73
- ts.checkout_keys_provision_task_name
74
- }
74
+ name: RakeFactory::DynamicValue.new { |ts|
75
+ ts.checkout_keys_provision_task_name
76
+ }
75
77
  task Tasks::CheckoutKeys::Destroy,
76
- name: RakeFactory::DynamicValue.new { |ts|
77
- ts.checkout_keys_destroy_task_name
78
- }
78
+ name: RakeFactory::DynamicValue.new { |ts|
79
+ ts.checkout_keys_destroy_task_name
80
+ }
79
81
  task Tasks::CheckoutKeys::Ensure,
80
- name: RakeFactory::DynamicValue.new { |ts|
81
- ts.checkout_keys_ensure_task_name
82
- },
83
- destroy_task_name: RakeFactory::DynamicValue.new { |ts|
84
- ts.checkout_keys_destroy_task_name
85
- },
86
- provision_task_name: RakeFactory::DynamicValue.new { |ts|
87
- ts.checkout_keys_provision_task_name
88
- }
82
+ name: RakeFactory::DynamicValue.new { |ts|
83
+ ts.checkout_keys_ensure_task_name
84
+ },
85
+ destroy_task_name: RakeFactory::DynamicValue.new { |ts|
86
+ ts.checkout_keys_destroy_task_name
87
+ },
88
+ provision_task_name: RakeFactory::DynamicValue.new { |ts|
89
+ ts.checkout_keys_provision_task_name
90
+ }
89
91
  task Tasks::Projects::Follow,
90
- name: RakeFactory::DynamicValue.new { |ts|
91
- ts.project_follow_task_name
92
- }
92
+ name: RakeFactory::DynamicValue.new { |ts|
93
+ ts.project_follow_task_name
94
+ }
93
95
 
94
96
  def define_on(application)
95
97
  around_define(application) do
96
98
  self.class.tasks.each do |task_definition|
97
- ns = case task_definition.klass.to_s
98
- when /EnvironmentVariables/
99
- env_vars_namespace
100
- when /SSHKeys/
101
- ssh_keys_namespace
102
- when /CheckoutKeys/
103
- checkout_keys_namespace
104
- else
105
- project_namespace
106
- end
107
-
108
- application.in_namespace(ns) do
109
- task_definition
110
- .for_task_set(self)
111
- .define_on(application)
99
+ application.in_namespace(resolve_namespace(task_definition)) do
100
+ task_definition.for_task_set(self).define_on(application)
112
101
  end
113
102
  end
114
103
  end
115
104
  end
105
+
106
+ private
107
+
108
+ def resolve_namespace(task_definition)
109
+ case task_definition.klass.to_s
110
+ when /EnvironmentVariables/ then env_vars_namespace
111
+ when /SSHKeys/ then ssh_keys_namespace
112
+ when /CheckoutKeys/ then checkout_keys_namespace
113
+ else
114
+ project_namespace
115
+ end
116
+ end
116
117
  end
117
118
  end
118
119
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../tasks'
@@ -17,17 +19,17 @@ module RakeCircleCI
17
19
  parameter :ensure_task_name, default: :ensure
18
20
 
19
21
  task Tasks::SSHKeys::Provision,
20
- name: RakeFactory::DynamicValue.new { |ts|
21
- ts.provision_task_name
22
- }
22
+ name: RakeFactory::DynamicValue.new { |ts|
23
+ ts.provision_task_name
24
+ }
23
25
  task Tasks::SSHKeys::Destroy,
24
- name: RakeFactory::DynamicValue.new { |ts|
25
- ts.destroy_task_name
26
- }
26
+ name: RakeFactory::DynamicValue.new { |ts|
27
+ ts.destroy_task_name
28
+ }
27
29
  task Tasks::SSHKeys::Ensure,
28
- name: RakeFactory::DynamicValue.new { |ts|
29
- ts.ensure_task_name
30
- }
30
+ name: RakeFactory::DynamicValue.new { |ts|
31
+ ts.ensure_task_name
32
+ }
31
33
  end
32
34
  end
33
35
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'task_sets/environment_variables'
2
4
  require_relative 'task_sets/checkout_keys'
3
5
  require_relative 'task_sets/ssh_keys'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../../client'
@@ -7,9 +9,9 @@ module RakeCircleCI
7
9
  module CheckoutKeys
8
10
  class Destroy < RakeFactory::Task
9
11
  default_name :destroy
10
- default_description RakeFactory::DynamicValue.new { |t|
12
+ default_description(RakeFactory::DynamicValue.new do |t|
11
13
  "Destroy checkout keys in the #{t.project_slug} project"
12
- }
14
+ end)
13
15
 
14
16
  parameter :project_slug, required: true
15
17
  parameter :api_token, required: true
@@ -17,14 +19,15 @@ module RakeCircleCI
17
19
 
18
20
  action do |t|
19
21
  client = Client.new(
20
- base_url: t.base_url,
21
- api_token: t.api_token,
22
- project_slug: t.project_slug)
22
+ base_url: t.base_url,
23
+ api_token: t.api_token,
24
+ project_slug: t.project_slug
25
+ )
23
26
 
24
- print "Destroying all checkout keys in the '#{t.project_slug}' " +
25
- "project... "
27
+ print "Destroying all checkout keys in the '#{t.project_slug}' " \
28
+ 'project... '
26
29
  client.delete_checkout_keys
27
- puts "Done."
30
+ puts 'Done.'
28
31
  end
29
32
  end
30
33
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  module RakeCircleCI
@@ -5,10 +7,10 @@ module RakeCircleCI
5
7
  module CheckoutKeys
6
8
  class Ensure < RakeFactory::Task
7
9
  default_name :ensure
8
- default_description RakeFactory::DynamicValue.new { |t|
9
- 'Ensure checkout keys are configured on the ' +
10
- "#{t.project_slug} project"
11
- }
10
+ default_description(RakeFactory::DynamicValue.new do |t|
11
+ 'Ensure checkout keys are configured on the ' \
12
+ "#{t.project_slug} project"
13
+ end)
12
14
 
13
15
  parameter :project_slug, required: true
14
16
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../../client'
@@ -7,9 +9,9 @@ module RakeCircleCI
7
9
  module CheckoutKeys
8
10
  class Provision < RakeFactory::Task
9
11
  default_name :provision
10
- default_description RakeFactory::DynamicValue.new { |t|
12
+ default_description(RakeFactory::DynamicValue.new do |t|
11
13
  "Provision checkout keys on the #{t.project_slug} project"
12
- }
14
+ end)
13
15
 
14
16
  parameter :project_slug, required: true
15
17
  parameter :api_token, required: true
@@ -18,19 +20,20 @@ module RakeCircleCI
18
20
 
19
21
  action do |t|
20
22
  client = Client.new(
21
- base_url: t.base_url,
22
- api_token: t.api_token,
23
- project_slug: t.project_slug)
23
+ base_url: t.base_url,
24
+ api_token: t.api_token,
25
+ project_slug: t.project_slug
26
+ )
24
27
 
25
- puts "Provisioning all checkout keys to the '#{t.project_slug}' " +
26
- "project... "
28
+ puts "Provisioning all checkout keys to the '#{t.project_slug}' " \
29
+ 'project... '
27
30
 
28
31
  t.checkout_keys.each do |checkout_key|
29
32
  type = checkout_key[:type]
30
33
 
31
34
  print "Adding checkout key of type: '#{type}'..."
32
35
  client.create_checkout_key(type)
33
- puts "Done."
36
+ puts 'Done.'
34
37
  end
35
38
  end
36
39
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'checkout_keys/provision'
2
4
  require_relative 'checkout_keys/destroy'
3
5
  require_relative 'checkout_keys/ensure'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../../client'
@@ -7,9 +9,9 @@ module RakeCircleCI
7
9
  module EnvironmentVariables
8
10
  class Destroy < RakeFactory::Task
9
11
  default_name :destroy
10
- default_description RakeFactory::DynamicValue.new { |t|
12
+ default_description(RakeFactory::DynamicValue.new do |t|
11
13
  "Destroy environment variables on the #{t.project_slug} project"
12
- }
14
+ end)
13
15
 
14
16
  parameter :project_slug, required: true
15
17
  parameter :api_token, required: true
@@ -17,14 +19,15 @@ module RakeCircleCI
17
19
 
18
20
  action do |t|
19
21
  client = Client.new(
20
- base_url: t.base_url,
21
- api_token: t.api_token,
22
- project_slug: t.project_slug)
22
+ base_url: t.base_url,
23
+ api_token: t.api_token,
24
+ project_slug: t.project_slug
25
+ )
23
26
 
24
- print "Destroying all environment variables on the " +
25
- "'#{t.project_slug}' project... "
27
+ print 'Destroying all environment variables on the ' \
28
+ "'#{t.project_slug}' project... "
26
29
  client.delete_env_vars
27
- puts "Done."
30
+ puts 'Done.'
28
31
  end
29
32
  end
30
33
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  module RakeCircleCI
@@ -5,10 +7,10 @@ module RakeCircleCI
5
7
  module EnvironmentVariables
6
8
  class Ensure < RakeFactory::Task
7
9
  default_name :ensure
8
- default_description RakeFactory::DynamicValue.new { |t|
9
- 'Ensure environment variables are configured on the ' +
10
- "#{t.project_slug} project"
11
- }
10
+ default_description(RakeFactory::DynamicValue.new do |t|
11
+ 'Ensure environment variables are configured on the ' \
12
+ "#{t.project_slug} project"
13
+ end)
12
14
 
13
15
  parameter :project_slug, required: true
14
16
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../../client'
@@ -7,9 +9,9 @@ module RakeCircleCI
7
9
  module EnvironmentVariables
8
10
  class Provision < RakeFactory::Task
9
11
  default_name :provision
10
- default_description RakeFactory::DynamicValue.new { |t|
12
+ default_description(RakeFactory::DynamicValue.new do |t|
11
13
  "Provision environment variables on the #{t.project_slug} project"
12
- }
14
+ end)
13
15
 
14
16
  parameter :project_slug, required: true
15
17
  parameter :api_token, required: true
@@ -18,17 +20,18 @@ module RakeCircleCI
18
20
 
19
21
  action do |t|
20
22
  client = Client.new(
21
- base_url: t.base_url,
22
- api_token: t.api_token,
23
- project_slug: t.project_slug)
23
+ base_url: t.base_url,
24
+ api_token: t.api_token,
25
+ project_slug: t.project_slug
26
+ )
24
27
 
25
- puts "Provisioning all environment variables to the " +
26
- "'#{t.project_slug}' project... "
28
+ puts 'Provisioning all environment variables to the ' \
29
+ "'#{t.project_slug}' project... "
27
30
 
28
31
  t.environment_variables.each do |name, value|
29
32
  print "Setting environment variable: '#{name}'... "
30
33
  client.create_env_var(name.to_s, value)
31
- puts "Done."
34
+ puts 'Done.'
32
35
  end
33
36
  end
34
37
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'environment_variables/provision'
2
4
  require_relative 'environment_variables/destroy'
3
5
  require_relative 'environment_variables/ensure'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../../client'
@@ -7,9 +9,9 @@ module RakeCircleCI
7
9
  module Projects
8
10
  class Follow < RakeFactory::Task
9
11
  default_name :follow
10
- default_description RakeFactory::DynamicValue.new { |t|
12
+ default_description(RakeFactory::DynamicValue.new do |t|
11
13
  "Follow the #{t.project_slug} project"
12
- }
14
+ end)
13
15
 
14
16
  parameter :project_slug, required: true
15
17
  parameter :api_token, required: true
@@ -17,13 +19,14 @@ module RakeCircleCI
17
19
 
18
20
  action do |t|
19
21
  client = Client.new(
20
- base_url: t.base_url,
21
- api_token: t.api_token,
22
- project_slug: t.project_slug)
22
+ base_url: t.base_url,
23
+ api_token: t.api_token,
24
+ project_slug: t.project_slug
25
+ )
23
26
 
24
27
  print "Following the '#{t.project_slug}' project... "
25
28
  client.follow_project
26
- puts "Done."
29
+ puts 'Done.'
27
30
  end
28
31
  end
29
32
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'projects/follow'
2
4
 
3
5
  module RakeCircleCI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../../client'
@@ -7,9 +9,9 @@ module RakeCircleCI
7
9
  module SSHKeys
8
10
  class Destroy < RakeFactory::Task
9
11
  default_name :destroy
10
- default_description RakeFactory::DynamicValue.new { |t|
12
+ default_description(RakeFactory::DynamicValue.new do |t|
11
13
  "Destroy SSH keys in the #{t.project_slug} project"
12
- }
14
+ end)
13
15
 
14
16
  parameter :project_slug, required: true
15
17
  parameter :api_token, required: true
@@ -18,14 +20,15 @@ module RakeCircleCI
18
20
 
19
21
  action do |t|
20
22
  client = Client.new(
21
- base_url: t.base_url,
22
- api_token: t.api_token,
23
- project_slug: t.project_slug)
23
+ base_url: t.base_url,
24
+ api_token: t.api_token,
25
+ project_slug: t.project_slug
26
+ )
24
27
 
25
- print "Destroying all SSH keys in the '#{t.project_slug}' " +
26
- "project... "
28
+ print "Destroying all SSH keys in the '#{t.project_slug}' " \
29
+ 'project... '
27
30
  client.delete_ssh_keys
28
- puts "Done."
31
+ puts 'Done.'
29
32
  end
30
33
  end
31
34
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  module RakeCircleCI
@@ -5,10 +7,10 @@ module RakeCircleCI
5
7
  module SSHKeys
6
8
  class Ensure < RakeFactory::Task
7
9
  default_name :ensure
8
- default_description RakeFactory::DynamicValue.new { |t|
9
- 'Ensure SSH keys are configured on the ' +
10
- "#{t.project_slug} project"
11
- }
10
+ default_description(RakeFactory::DynamicValue.new do |t|
11
+ 'Ensure SSH keys are configured on the ' \
12
+ "#{t.project_slug} project"
13
+ end)
12
14
 
13
15
  parameter :project_slug, required: true
14
16
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_factory'
2
4
 
3
5
  require_relative '../../client'
@@ -7,9 +9,9 @@ module RakeCircleCI
7
9
  module SSHKeys
8
10
  class Provision < RakeFactory::Task
9
11
  default_name :provision
10
- default_description RakeFactory::DynamicValue.new { |t|
12
+ default_description(RakeFactory::DynamicValue.new do |t|
11
13
  "Provision SSH keys on the #{t.project_slug} project"
12
- }
14
+ end)
13
15
 
14
16
  parameter :project_slug, required: true
15
17
  parameter :api_token, required: true
@@ -18,12 +20,13 @@ module RakeCircleCI
18
20
 
19
21
  action do |t|
20
22
  client = Client.new(
21
- base_url: t.base_url,
22
- api_token: t.api_token,
23
- project_slug: t.project_slug)
23
+ base_url: t.base_url,
24
+ api_token: t.api_token,
25
+ project_slug: t.project_slug
26
+ )
24
27
 
25
- puts "Provisioning all SSH keys to the '#{t.project_slug}' " +
26
- "project... "
28
+ puts "Provisioning all SSH keys to the '#{t.project_slug}' " \
29
+ 'project... '
27
30
 
28
31
  t.ssh_keys.each do |ssh_key|
29
32
  private_key = ssh_key[:private_key]
@@ -32,11 +35,11 @@ module RakeCircleCI
32
35
 
33
36
  print "Adding SSH key with fingerprint: '#{fingerprint}'"
34
37
  print " for hostname: '#{hostname}'" if hostname
35
- print "..."
36
- options = hostname && {hostname: hostname}
38
+ print '...'
39
+ options = hostname && { hostname: hostname }
37
40
  args = [private_key, options].compact
38
41
  client.create_ssh_key(*args)
39
- puts "Done."
42
+ puts 'Done.'
40
43
  end
41
44
  end
42
45
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'ssh_keys/provision'
2
4
  require_relative 'ssh_keys/destroy'
3
5
  require_relative 'ssh_keys/ensure'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'tasks/projects'
2
4
  require_relative 'tasks/environment_variables'
3
5
  require_relative 'tasks/ssh_keys'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RakeCircleCI
2
- VERSION = '0.10.0.pre.5'
4
+ VERSION = '0.10.0.pre.8'
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rake_circle_ci/version'
2
4
  require 'rake_circle_ci/client'
3
5
  require 'rake_circle_ci/tasks'
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'rake_circle_ci/version'
6
+
7
+ files = %w[
8
+ bin
9
+ lib
10
+ CODE_OF_CONDUCT.md
11
+ rake_circle_ci.gemspec
12
+ Gemfile
13
+ LICENSE.txt
14
+ Rakefile
15
+ README.md
16
+ ]
17
+
18
+ Gem::Specification.new do |spec|
19
+ spec.name = 'rake_circle_ci'
20
+ spec.version = RakeCircleCI::VERSION
21
+ spec.authors = ['InfraBlocks Maintainers']
22
+ spec.email = ['maintainers@infrablocks.io']
23
+
24
+ spec.summary = 'Rake tasks for CircleCI projects.'
25
+ spec.description = 'Allows managing environment variables and SSH keys.'
26
+ spec.homepage = 'https://github.com/infrablocks/rake_circle_ci'
27
+ spec.license = 'MIT'
28
+
29
+ spec.files = `git ls-files -z`.split("\x0").select do |f|
30
+ f.match(/^(#{files.map { |g| Regexp.escape(g) }.join('|')})/)
31
+ end
32
+ spec.bindir = 'exe'
33
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
34
+ spec.require_paths = ['lib']
35
+
36
+ spec.required_ruby_version = '>= 2.7'
37
+
38
+ spec.add_dependency 'colored2', '~> 3.1'
39
+ spec.add_dependency 'excon', '~> 0.72'
40
+ spec.add_dependency 'rake_factory', '~> 0.23'
41
+ spec.add_dependency 'sshkey', '~> 2.0'
42
+
43
+ spec.add_development_dependency 'activesupport'
44
+ spec.add_development_dependency 'bundler'
45
+ spec.add_development_dependency 'gem-release'
46
+ spec.add_development_dependency 'memfs'
47
+ spec.add_development_dependency 'rake'
48
+ spec.add_development_dependency 'rake_github'
49
+ spec.add_development_dependency 'rake_gpg'
50
+ spec.add_development_dependency 'rake_ssh'
51
+ spec.add_development_dependency 'rspec'
52
+ spec.add_development_dependency 'rubocop'
53
+ spec.add_development_dependency 'rubocop-rake'
54
+ spec.add_development_dependency 'rubocop-rspec'
55
+ spec.add_development_dependency 'simplecov'
56
+
57
+ spec.metadata['rubygems_mfa_required'] = 'false'
58
+ end