rake_git 0.1.0.pre.1 → 0.1.0.pre.3

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: 356fffe3afc40a729723093062c4df0c432691e8e228e64f566255bffc81e60c
4
- data.tar.gz: 77302c335cbb3b64840cff938c83720d10d52ab2e5961f515866d8fbaff627c8
3
+ metadata.gz: '097af0d8ffc07be694fb8a0d952fbd25b177e47e91709973e977c0c36ce03f5f'
4
+ data.tar.gz: 1e2901966720528d16af0bbc9696ccfd5ee2f04efb69ffcb541e28ac6cb84f84
5
5
  SHA512:
6
- metadata.gz: 0ca7d68d60bcf18b4730f7843962f80e4d1b8f6fb41ac4e3b1398d9a50a770f669efb0e518667cce42e918c12807bc8fe13bcf26bfd66c12871deae15e0cb8b5
7
- data.tar.gz: d49987c1abbfa262d9739543adda020bb6e6b2c0adccaeacbfdc2f68c774d0c37f73c50a9795109d2414ecf723ce8ccaa1988d55caadc786be996d39875142bc
6
+ metadata.gz: 2fecd4079ac3fac3dbe5c101602f23859c700db5b13160a94116b05febfca820e772df46d08249648daccc80180f57a2e12ac02b5790d30e412ea84e816da02c
7
+ data.tar.gz: da1d0dac9484c9fab0b2ee961c7f8706e50bea91f81b5b73383140fabd1bc8867642251903998d77ccd1e6ae4706ee03595c53a4afc778d92eac8bb332bb64b2
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_git (0.1.0.pre.1)
4
+ rake_git (0.1.0.pre.3)
5
5
  colored2 (~> 3.1)
6
+ git (~> 1.13, >= 1.13.2)
6
7
  rake_factory (= 0.32.0.pre.2)
7
8
 
8
9
  GEM
@@ -26,6 +27,9 @@ GEM
26
27
  ruby2_keywords (>= 0.0.4)
27
28
  faraday-net_http (3.0.2)
28
29
  gem-release (2.2.2)
30
+ git (1.13.2)
31
+ addressable (~> 2.8)
32
+ rchardet (~> 1.8)
29
33
  hamster (3.0.0)
30
34
  concurrent-ruby (~> 1.0)
31
35
  i18n (1.12.0)
@@ -55,7 +59,7 @@ GEM
55
59
  rake_factory (0.32.0.pre.2)
56
60
  activesupport (>= 4)
57
61
  rake (~> 13.0)
58
- rake_git_crypt (0.1.0.pre.25)
62
+ rake_git_crypt (0.1.0.pre.26)
59
63
  colored2 (~> 3.1)
60
64
  rake_factory (= 0.32.0.pre.2)
61
65
  ruby_git_crypt (= 0.1.0.pre.2)
@@ -72,6 +76,7 @@ GEM
72
76
  colored2 (~> 3.1)
73
77
  rake_factory (~> 0.23)
74
78
  sshkey (~> 2.0)
79
+ rchardet (1.8.0)
75
80
  regexp_parser (2.6.2)
76
81
  rexml (3.2.5)
77
82
  rspec (3.12.0)
@@ -1,15 +1,55 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rake_factory'
4
+ require 'git'
4
5
 
5
6
  module RakeGit
6
7
  module Tasks
7
8
  class Commit < RakeFactory::Task
8
9
  default_name :commit
9
- default_description 'Produce a commit on the current branch.'
10
+ default_description 'Commit changes to git.'
11
+
12
+ parameter :message, required: true
13
+
14
+ parameter :stage_tracked_files, default: true
15
+ parameter :stage_untracked_files, default: true
16
+
17
+ parameter :working_directory, default: '.'
10
18
 
11
19
  action do
12
- puts('Committing...')
20
+ puts('Committing changes to git...')
21
+ base = Git.open(working_directory)
22
+
23
+ maybe_stage_tracked_files(base)
24
+ maybe_stage_untracked_files(base)
25
+ commit(base)
26
+ end
27
+
28
+ private
29
+
30
+ def maybe_stage_tracked_files(base)
31
+ return unless stage_tracked_files
32
+
33
+ status = base.status
34
+ base.add(
35
+ [
36
+ *status.added.keys,
37
+ *status.changed.keys,
38
+ *status.deleted.keys
39
+ ],
40
+ all: true
41
+ )
42
+ end
43
+
44
+ def maybe_stage_untracked_files(base)
45
+ return unless stage_untracked_files
46
+
47
+ status = base.status
48
+ base.add(status.untracked.keys, all: true)
49
+ end
50
+
51
+ def commit(base)
52
+ base.commit(message)
13
53
  end
14
54
  end
15
55
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RakeGit
4
- VERSION = '0.1.0.pre.1'
4
+ VERSION = '0.1.0.pre.3'
5
5
  end
data/rake_git.gemspec CHANGED
@@ -37,6 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.required_ruby_version = '>= 2.7'
38
38
 
39
39
  spec.add_dependency 'colored2', '~> 3.1'
40
+ spec.add_dependency 'git', '~> 1.13', '>= 1.13.2'
40
41
  spec.add_dependency 'rake_factory', '0.32.0.pre.2'
41
42
 
42
43
  spec.metadata['rubygems_mfa_required'] = 'false'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.1
4
+ version: 0.1.0.pre.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-04 00:00:00.000000000 Z
11
+ date: 2023-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored2
@@ -24,6 +24,26 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: git
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.13'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 1.13.2
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.13'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.13.2
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: rake_factory
29
49
  requirement: !ruby/object:Gem::Requirement