firespring_dev_commands 2.1.27.pre.alpha.2 → 2.1.27.pre.alpha.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: fce5da47cf928179b220c2d30c295fb5c853aee03ca1cad7bbf9684f8b8aea3a
4
- data.tar.gz: 33100d5b2127c7cb422f6695e19e85b3f8bfe41d0dd13f7f0ab4f4721351286b
3
+ metadata.gz: 74cb8d292f6a24d8229db1785ba9911e31b88a73dd102fb192266ed12834cdfb
4
+ data.tar.gz: 533e6747c1b5262c3a417f4bff11297dc9401fb116cd3c4dc142c3b1c0e13540
5
5
  SHA512:
6
- metadata.gz: fb735b569248c55a15bd51bb971054107ea1d885fb08e4a2da43bafdc3093b86daf00c42962fcb0ce4aeb543e76afff8ca06be4359bbbd4c489dc83c09d46bc6
7
- data.tar.gz: 4e43a5eee15f6dbbbeab27c006a0dbdb1802be2c882008627b4d1025f99e72a52d3855c8121eba967b21fba4f766daf1e2f0e90e11bb06ab32f7c6e110f86d7e
6
+ metadata.gz: 525c93fe98d0301a321b1fbfa6c0133be6fdab762943d46d751cb5d50ed8ec59ee563c292afee118c66aa72c71cdd000e4dcff20b82de68aa9c33012c9203252
7
+ data.tar.gz: 7e8be2aa9d3f174d77a49a70430a7282203beadb12ac3672ccf4e1220a8091084c5a433308d96da413f2212e1f4196ae4a54970635b216d4fe98b7cba60d01f4
@@ -187,5 +187,14 @@ module Dev
187
187
  return false
188
188
  end
189
189
  end
190
+
191
+ # Center the string and pad on either side with the given padding character
192
+ def center_pad(string = '', pad: '-', len: 80)
193
+ string = " #{string} " unless string.strip.empty?
194
+ center_dash = len / 2
195
+ string = string.to_s
196
+ center_str = string.length / 2
197
+ string.rjust(center_dash + center_str - 1, pad).ljust(len - 1, pad)
198
+ end
190
199
  end
191
200
  end
@@ -46,13 +46,23 @@ module Dev
46
46
  @products
47
47
  end
48
48
 
49
+ # Prints all of the product version statuses
50
+ def status
51
+ product_versions.sort_by(&:name).each(&:print_status)
52
+ end
53
+
54
+ # Returns true if any of the products are EOL
55
+ def eol?
56
+ product_versions.any?(&:eol)
57
+ end
58
+
49
59
  # Prints all of the product version statuses
50
60
  # Raises an error if any products are EOL
51
61
  def check
52
62
  puts
53
- product_versions.sort_by(&:name).each(&:print_status)
63
+ status
54
64
  puts
55
- raise 'found EOL versions' if product_versions.any?(&:eol)
65
+ raise 'found EOL versions' if eol?
56
66
  end
57
67
  end
58
68
  end
@@ -113,10 +113,10 @@ module Dev
113
113
  next unless File.exist?(project_dir)
114
114
 
115
115
  repo_basename = File.basename(File.realpath(project_dir))
116
- header = " #{repo_basename} (#{original_branches[project_dir]}) "
117
- puts center_pad(header).light_green
116
+ header = "#{repo_basename} (#{original_branches[project_dir]})"
117
+ puts Dev::Common.new.center_pad(header).light_green
118
118
  @success &= status(dir: project_dir)
119
- puts center_pad.light_green
119
+ puts Dev::Common.new.center_pad.light_green
120
120
  end
121
121
  puts
122
122
 
@@ -165,10 +165,10 @@ module Dev
165
165
  next unless File.exist?(project_dir)
166
166
 
167
167
  repo_basename = File.basename(File.realpath(project_dir))
168
- header = " #{repo_basename} (#{original_branches[project_dir]}) "
169
- puts center_pad(header).light_green
168
+ header = "#{repo_basename} (#{original_branches[project_dir]})"
169
+ puts Dev::Common.new.center_pad(header).light_green
170
170
  reset(dir: project_dir)
171
- puts center_pad.light_green
171
+ puts Dev::Common.new.center_pad.light_green
172
172
  end
173
173
  puts
174
174
  end
@@ -191,10 +191,9 @@ module Dev
191
191
  next unless File.exist?(project_dir)
192
192
 
193
193
  repo_basename = File.basename(File.realpath(project_dir))
194
- header = " #{repo_basename} "
195
- puts center_pad(header).light_green
194
+ puts Dev::Common.new.center_pad(repo_basename).light_green
196
195
  @success &= checkout(branch, dir: project_dir)
197
- puts center_pad.light_green
196
+ puts Dev::Common.new.center_pad.light_green
198
197
  end
199
198
  puts
200
199
 
@@ -285,10 +284,9 @@ module Dev
285
284
  next unless File.exist?(project_dir)
286
285
 
287
286
  repo_basename = File.basename(File.realpath(project_dir))
288
- header = " #{repo_basename} "
289
- puts center_pad(header).light_green
287
+ puts Dev::Common.new.center_pad(repo_basename).light_green
290
288
  @success &= merge(branch, dir: project_dir)
291
- puts center_pad.light_green
289
+ puts Dev::Common.new.center_pad.light_green
292
290
  end
293
291
  puts
294
292
 
@@ -334,10 +332,9 @@ module Dev
334
332
  next unless File.exist?(project_dir)
335
333
 
336
334
  repo_basename = File.basename(File.realpath(project_dir))
337
- header = " #{repo_basename} "
338
- puts center_pad(header).light_green
335
+ puts Dev::Common.new.center_pad(repo_basename).light_green
339
336
  @success &= pull(dir: project_dir)
340
- puts center_pad.light_green
337
+ puts Dev::Common.new.center_pad.light_green
341
338
  end
342
339
  puts
343
340
 
@@ -373,10 +370,9 @@ module Dev
373
370
  next unless File.exist?(project_dir)
374
371
 
375
372
  repo_basename = File.basename(File.realpath(project_dir))
376
- header = " #{repo_basename} "
377
- puts center_pad(header).light_green
373
+ puts Dev::Common.new.center_pad(repo_basename).light_green
378
374
  @success &= push(dir: project_dir)
379
- puts center_pad.light_green
375
+ puts Dev::Common.new.center_pad.light_green
380
376
  end
381
377
  puts
382
378
 
@@ -439,11 +435,10 @@ module Dev
439
435
  end
440
436
 
441
437
  # Center the string and pad on either side with the given padding character
438
+ # @deprecated Please use {Dev::Common#center_pad} instead
442
439
  def center_pad(string = '', pad: '-', len: 80)
443
- center_dash = len / 2
444
- string = string.to_s
445
- center_str = string.length / 2
446
- string.rjust(center_dash + center_str - 1, pad).ljust(len - 1, pad)
440
+ warn '[DEPRECATION] `Dev::Git#center_pad` is deprecated. Please use `Dev::Common#center_pad` instead.'
441
+ Dev::Common.new.center_pad(string, pad:, len:)
447
442
  end
448
443
 
449
444
  # Exclude the command from the message and print all error lines
@@ -90,14 +90,16 @@ module Dev
90
90
 
91
91
  # Build the bundle lint command
92
92
  def lint_command
93
- lint = ['rubocop']
93
+ lint = base_command
94
+ lint << 'exec' << 'rubocop'
94
95
  lint.concat(Dev::Common.new.tokenize(ENV['OPTS'].to_s))
95
96
  lint
96
97
  end
97
98
 
98
99
  # Build the bundle lint fix command
99
100
  def lint_fix_command
100
- lint_fix = ['rubocop']
101
+ lint_fix = base_command
102
+ lint_fix << 'exec' << 'rubocop'
101
103
  lint_fix << '-A'
102
104
  lint_fix.concat(Dev::Common.new.tokenize(ENV['OPTS'].to_s))
103
105
  lint_fix
@@ -105,7 +107,8 @@ module Dev
105
107
 
106
108
  # Build the bundle test command
107
109
  def test_command
108
- test = ['rspec']
110
+ test = base_command
111
+ test << 'exec' << 'rspec'
109
112
  test.concat(Dev::Common.new.tokenize(ENV['OPTS'].to_s))
110
113
  test
111
114
  end
@@ -101,14 +101,22 @@ module Dev
101
101
 
102
102
  DEV_COMMANDS_TOP_LEVEL.instance_eval do
103
103
  return if exclude.include?(:eol)
104
+ return if ENV.fetch('CHECK_AWS', nil).to_s.strip == 'false'
104
105
 
105
- desc 'Compares the current date to the EOL date for supported resources'
106
- task eol: %w(init ensure_aws_credentials) do
107
- account_id = Dev::Aws::Profile.new.current
108
- account_name = Dev::Aws::Account.new.name_by_account(account_id)
109
- LOG.info " Current AWS Account is #{account_name} (#{account_id})".light_yellow
106
+ task eol: [:'eol:aws'] do
107
+ # This is just a placeholder to execute the dependencies
108
+ end
110
109
 
111
- Dev::EndOfLife.new(product_versions: Dev::EndOfLife::Aws.new.default_products).check
110
+ namespace :eol do
111
+ desc 'Compares the current date to the EOL date for supported aws resources'
112
+ task aws: %w(init ensure_aws_credentials) do
113
+ account_id = Dev::Aws::Profile.new.current
114
+ account_name = Dev::Aws::Account.new.name_by_account(account_id)
115
+ LOG.info " Current AWS Account is #{account_name} (#{account_id})".light_yellow
116
+ puts
117
+ Dev::EndOfLife.new(product_versions: Dev::EndOfLife::Aws.new.default_products).status
118
+ puts
119
+ end
112
120
  end
113
121
  end
114
122
  end
@@ -29,6 +29,7 @@ module Dev
29
29
  end
30
30
 
31
31
  # Create the rake task which runs linting for the application name
32
+ # rubocop:disable Metrics/MethodLength
32
33
  def create_lint_task!
33
34
  application = @name
34
35
  node = @node
@@ -42,6 +43,13 @@ module Dev
42
43
  # This is just a placeholder to execute the dependencies
43
44
  end
44
45
 
46
+ namespace :lint do
47
+ desc 'Run all linting software and apply all available fixes'
48
+ task fix: %w(node:lint:fix) do
49
+ # This is just a placeholder to execute the dependencies
50
+ end
51
+ end
52
+
45
53
  namespace :node do
46
54
  desc "Run the node linting software against the #{application}'s codebase"
47
55
  task lint: %w(init_docker up_no_deps) do
@@ -66,6 +74,7 @@ module Dev
66
74
  end
67
75
  end
68
76
  end
77
+ # rubocop:enable Metrics/MethodLength
69
78
 
70
79
  # Create the rake task which runs all tests for the application name
71
80
  def create_test_task!
@@ -74,6 +74,7 @@ module Dev
74
74
  end
75
75
 
76
76
  # Create the rake task which runs linting for the application name
77
+ # rubocop:disable Metrics/MethodLength
77
78
  def create_lint_task!
78
79
  application = @name
79
80
  php = @php
@@ -87,6 +88,13 @@ module Dev
87
88
  # This is just a placeholder to execute the dependencies
88
89
  end
89
90
 
91
+ namespace :lint do
92
+ desc 'Run all linting software and apply all available fixes'
93
+ task fix: %w(php:lint:fix) do
94
+ # This is just a placeholder to execute the dependencies
95
+ end
96
+ end
97
+
90
98
  namespace :php do
91
99
  desc "Run the php linting software against the #{application}'s codebase"
92
100
  task lint: %w(init_docker up_no_deps) do
@@ -111,6 +119,7 @@ module Dev
111
119
  end
112
120
  end
113
121
  end
122
+ # rubocop:enable Metrics/MethodLength
114
123
 
115
124
  # Create the rake task which runs all tests for the application name
116
125
  def create_test_task!
@@ -28,6 +28,7 @@ module Dev
28
28
  end
29
29
 
30
30
  # Create the rake task which runs linting for the application name
31
+ # rubocop:disable Metrics/MethodLength
31
32
  def create_lint_task!
32
33
  application = @name
33
34
  ruby = @ruby
@@ -41,6 +42,13 @@ module Dev
41
42
  # This is just a placeholder to execute the dependencies
42
43
  end
43
44
 
45
+ namespace :lint do
46
+ desc 'Run all linting software and apply all available fixes'
47
+ task fix: %w(ruby:lint:fix) do
48
+ # This is just a placeholder to execute the dependencies
49
+ end
50
+ end
51
+
44
52
  namespace :ruby do
45
53
  desc "Run the ruby linting software against the #{application}'s codebase"
46
54
  task lint: %w(init_docker up_no_deps) do
@@ -65,6 +73,7 @@ module Dev
65
73
  end
66
74
  end
67
75
  end
76
+ # rubocop:enable Metrics/MethodLength
68
77
 
69
78
  # Create the rake task which runs all tests for the application name
70
79
  def create_test_task!
@@ -12,9 +12,10 @@ module Dev
12
12
  DEV_COMMANDS_TOP_LEVEL.instance_eval do
13
13
  return if exclude.include?(:eol)
14
14
 
15
- desc 'Compares the current date to the EOL date for all configured projects'
15
+ desc 'Compares the current date to the EOL date for all configured projects' \
16
+ "\n\toptionally specify CHECK_AWS=<true/false> to toggle whether AWS resources are checked for EOL (defaults to true)"
16
17
  task eol: %w(init) do
17
- Dev::EndOfLife.new.check
18
+ Dev::EndOfLife.new.status
18
19
  end
19
20
  end
20
21
  end
@@ -4,6 +4,23 @@ module Dev
4
4
  module Template
5
5
  # Class contains rake templates for managing your git project
6
6
  class Git < Dev::Template::BaseInterface
7
+ # Create the rake task for cloning all defined repos
8
+ def create_clone_task!
9
+ # Have to set a local variable to be accessible inside of the instance_eval block
10
+ exclude = @exclude
11
+
12
+ DEV_COMMANDS_TOP_LEVEL.instance_eval do
13
+ namespace :git do
14
+ return if exclude.include?(:clone)
15
+
16
+ desc 'Make sure all repos are cloned'
17
+ task :clone do
18
+ Dev::Git.new.clone_repos
19
+ end
20
+ end
21
+ end
22
+ end
23
+
7
24
  # Create the rake task for the git checkout method
8
25
  def create_checkout_task!
9
26
  # Have to set a local variable to be accessible inside of the instance_eval block
@@ -6,6 +6,6 @@ module Dev
6
6
  # Use 'v.v.v.pre.alpha.v' for pre-release vesions
7
7
  # Use 'v.v.v.beta.v for beta versions
8
8
  # Use semantic versioning for any releases (https://semver.org/)
9
- VERSION = '2.1.27.pre.alpha.2'.freeze
9
+ VERSION = '2.1.27.pre.alpha.3'.freeze
10
10
  end
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firespring_dev_commands
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.27.pre.alpha.2
4
+ version: 2.1.27.pre.alpha.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Firespring
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-19 00:00:00.000000000 Z
11
+ date: 2024-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport