minfra-cli 4.3.1 → 4.4.0

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: 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