mushy 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mushy/fluxs/git_log.rb +86 -0
- data/mushy.gemspec +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92ba64469be678fe9889628ae7b6897f78935605605c83652d257f2c4a948d3d
|
4
|
+
data.tar.gz: 1fa13be3acb6a38f8062536d416630f92867ed93b8f28ac3c140f91a6dfd1385
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9aaebd4c3a70c7e64417eb515d719ad6e0bd0c6ccacdde4a2b8ae21845e77b63ee2ca0639d1207aa2d064c8aa3bda48f282a3f640e07b26c171cd1819191416
|
7
|
+
data.tar.gz: ba95b540eb1746ae7b525221c746aee163861c62956e3ac08e5405738bdf329eea32c0d8378283b6c625a1d1919d6f1fd11b936548822ce2a15c438651112a6f
|
@@ -0,0 +1,86 @@
|
|
1
|
+
module Mushy
|
2
|
+
|
3
|
+
class GitLog < Bash
|
4
|
+
|
5
|
+
def self.details
|
6
|
+
{
|
7
|
+
name: 'GitLog',
|
8
|
+
description: 'Return git logs.',
|
9
|
+
config: {
|
10
|
+
directory: {
|
11
|
+
description: 'The working directory in which the command will be run.',
|
12
|
+
type: 'text',
|
13
|
+
shrink: true,
|
14
|
+
value: '',
|
15
|
+
},
|
16
|
+
after: {
|
17
|
+
description: 'Filter for commits after this',
|
18
|
+
type: 'text',
|
19
|
+
shrink: true,
|
20
|
+
value: '',
|
21
|
+
},
|
22
|
+
before: {
|
23
|
+
description: 'Filter for commits before this',
|
24
|
+
type: 'text',
|
25
|
+
shrink: true,
|
26
|
+
value: '',
|
27
|
+
},
|
28
|
+
author: {
|
29
|
+
description: 'Filter for commits by this author',
|
30
|
+
type: 'text',
|
31
|
+
shrink: true,
|
32
|
+
value: '',
|
33
|
+
},
|
34
|
+
committer: {
|
35
|
+
description: 'Filter for commits by this committer',
|
36
|
+
type: 'text',
|
37
|
+
shrink: true,
|
38
|
+
value: '',
|
39
|
+
},
|
40
|
+
},
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
def process event, config
|
45
|
+
|
46
|
+
config[:command] = 'git log'
|
47
|
+
|
48
|
+
if config[:directory].to_s != ''
|
49
|
+
config[:command] = "cd \"#{config[:directory]}\";#{config[:command]}"
|
50
|
+
end
|
51
|
+
|
52
|
+
[:after, :before, :author, :committer]
|
53
|
+
.select { |x| config[x].to_s != ''}
|
54
|
+
.each { |k| config[:command] = "#{config[:command]} --#{k}=\"#{config[k]}\"" }
|
55
|
+
|
56
|
+
result = super event, config
|
57
|
+
|
58
|
+
return result unless result[:success]
|
59
|
+
|
60
|
+
result[:text].split("\n\n").reduce([]) do |results, line|
|
61
|
+
if line.start_with? 'commit'
|
62
|
+
results << { message: line.sub('commit', 'commit:') }
|
63
|
+
else
|
64
|
+
results[-1][:message] = results[-1][:message] + "\nMessage: " + line.strip
|
65
|
+
end
|
66
|
+
results
|
67
|
+
end.map { |x| x[:message] }.map do |line|
|
68
|
+
line.split("\n").reduce({}) do |t, i|
|
69
|
+
segments = i.split ':'
|
70
|
+
key = segments.shift.strip.downcase.to_sym
|
71
|
+
t[key] = segments.map { |y| y.strip }.join ':'
|
72
|
+
t
|
73
|
+
end
|
74
|
+
end.map do |commit|
|
75
|
+
commit.tap do |x|
|
76
|
+
segments = x[:author].split '<'
|
77
|
+
x[:author_name] = segments.shift.strip
|
78
|
+
x[:author_email] = segments.join('').strip.gsub('>', '')
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
data/mushy.gemspec
CHANGED
@@ -4,7 +4,7 @@ require 'mushy/version'
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = 'mushy'
|
7
|
-
s.version = '0.2.
|
7
|
+
s.version = '0.2.7'
|
8
8
|
s.date = '2020-11-23'
|
9
9
|
s.summary = 'Process streams of work using common modules.'
|
10
10
|
s.description = 'This tool assists in the creation and processing of workflows.'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mushy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Cauthon
|
@@ -162,6 +162,7 @@ files:
|
|
162
162
|
- lib/mushy/fluxs/filter.rb
|
163
163
|
- lib/mushy/fluxs/format.rb
|
164
164
|
- lib/mushy/fluxs/get.rb
|
165
|
+
- lib/mushy/fluxs/git_log.rb
|
165
166
|
- lib/mushy/fluxs/ls.rb
|
166
167
|
- lib/mushy/fluxs/parse_html.rb
|
167
168
|
- lib/mushy/fluxs/pdf.rb
|