minfra-cli 4.3.1 → 4.4.0

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: f391beecc0c949b1d7c1858dc6ccfdcabe22b975fa8e9cd2c610cdd410debc72
4
- data.tar.gz: 7bf5463712d8846e987f18c2a28a26972278abc60b5b04014573676a5ff4db37
3
+ metadata.gz: 06e100d0667dba3e52f6e1f38633a72d47e3ec18ba8f0fb679abf871eabcef50
4
+ data.tar.gz: da63967be82772cdfe504a59dabc25f38a72ad061ca669e9b695e0c44b5b6629
5
5
  SHA512:
6
- metadata.gz: 69e60f521c841f05498f7fb3d63190058826f8f95ffa9c5fbdb8e17607ef2f165491edad8a4e5c0a8459099706872d2299e0664d0f9daa013825aaead7767170
7
- data.tar.gz: 8b84fb6a9c24b756a090f772cf5faa3733b3f3e10109701791e45997cb104f7f43c63799bc6f3a76a816047ae511701a9b606cc09412cc95e99c2114edd4ef45
6
+ metadata.gz: 95b34f5effb48354fd5eb02a93317a0cb31d849841c842875d3d58e8575316a7e90b399252e0eb6cc83b71529ecf0f81ec719657ba3ef1fc15c54bd3b9ce49b2
7
+ data.tar.gz: 0a8cf48b7e6148eb1713383d3ec2292de0436b01e5278fc3a2bd650eedfc01b0c130d8fd3ab33ab46dcdc7ceb4289d32e431f49a830b1819f4197d3063a745e9
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 4.4.0
2
+ * adding test option to runner to not run any command
3
+ * adding option tag to project branch create to fully override tag generation logic
4
+ * adding test options to project branch create to not run the final git command
1
5
  # 4.3.1
2
6
  * hashie mash hashes for helm values are now type converted correctl
3
7
  # 4.3.0
@@ -7,15 +7,27 @@ module Minfra
7
7
  desc "create 'story desc'", 'create branch'
8
8
  option :prefix, type: :string,
9
9
  desc: "don't use your git email address or project.branch.create.prefix or identity.email"
10
+ option :tag, type: :string, desc: 'overwrite default tag generation'
11
+ option :test, type: :boolean, default: false, desc: "don't create the tag just show the command"
12
+
10
13
  def create(story_desc)
11
- story_desc = story_desc.gsub(/[^0-9a-z-]/i, '_')
12
- prefix = options[:prefix] || Minfra::Cli.config.project.dig('project', 'branch', 'create', 'prefix')
13
- unless prefix
14
- email = Minfra::Cli.config.project.dig('identity', 'email') || `git config user.email`
15
- fullname = email.split('@').first
16
- prefix = fullname[0] + fullname.split('.').last
14
+ if options[:tag]
15
+ tag = options[:tag]
16
+ else
17
+ story_desc = story_desc.gsub(/[^0-9a-z-]/i, '_')
18
+
19
+ prefix = options[:prefix] || Minfra::Cli.config.project.dig('project', 'branch', 'create', 'prefix')
20
+ unless prefix
21
+ email = Minfra::Cli.config.project.dig('identity', 'email') || `git config user.email`
22
+ fullname = email.split('@').first
23
+ prefix = fullname[0] + fullname.split('.').last
24
+ end
25
+
26
+ now = Time.now.utc.strftime('%Y%m%d')
27
+ tag = options[:tag] || "#{prefix}_#{story_desc}_#{now}"
17
28
  end
18
- Runner.run("git checkout -b #{prefix}_#{story_desc}_$(date +%Y%m%d)")
29
+
30
+ Runner.run("git checkout -b #{tag}", test: options[:test])
19
31
  end
20
32
  end
21
33
  end
@@ -64,16 +64,18 @@ module Minfra
64
64
 
65
65
  attr_reader :exit_on_error, :runner, :cmd, :on_output
66
66
 
67
- def initialize(cmd, exit_on_error: true, runner: :popen, on_output: nil)
67
+ def initialize(cmd, exit_on_error: true, runner: :popen, on_output: nil, test: false)
68
68
  @cmd = cmd
69
69
  @exit_on_error = exit_on_error
70
70
  @runner = runner
71
71
  @on_output = on_output
72
+ @test = test
72
73
  end
73
74
 
74
75
  def run
75
76
  debug("running (#{@runner}): #{@cmd}")
76
77
  res = Result.new(on_output:)
78
+ return res if @test
77
79
  case @runner
78
80
  when :system
79
81
  run_system(res)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Minfra
4
4
  module Cli
5
- VERSION = '4.3.1'
5
+ VERSION = '4.4.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minfra-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.1
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Schrammel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-29 00:00:00.000000000 Z
11
+ date: 2024-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor