idonethis-cli 0.4.0 → 0.4.1
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 +4 -4
- data/README.md +19 -0
- data/idonethis-cli.gemspec +1 -0
- data/lib/adapters/cli.rb +1 -0
- data/lib/idonethis/cli/version.rb +1 -1
- data/lib/idonethis/use_cases/git.rb +35 -0
- metadata +16 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bda89ed27842d421531a71f5350641a120df46ed
|
4
|
+
data.tar.gz: 4c1d5b92d91fa27a9301e3d3362f1547572c42db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56f23820c954a12435dd8e24c1bfb77d894d0c5aa4a7d5d8bd4cbd31b788ba152a373f1139d624d0e87fd374229d019429cf5c983cfca68de1520fdb8702c0e0
|
7
|
+
data.tar.gz: d5e993483dae7409db46f00d9d9234071b0e069fcf3652b20403dec778528e4e519bedf3bb6f0c39ab0e11485cbfb0eb554753d9ceddcbcd6a3a81582ffc44b4
|
data/README.md
CHANGED
@@ -45,6 +45,25 @@ $ idonethis list today
|
|
45
45
|
$ bin/idonethis new -m "Ricky Bizzness"
|
46
46
|
```
|
47
47
|
|
48
|
+
### Add dones based on commit activity [alpha]
|
49
|
+
|
50
|
+
```
|
51
|
+
$ bin/idonethis git
|
52
|
+
Scanning dir </home/ben/sauce>, which has <1> repositories that have changed
|
53
|
+
|
54
|
+
idonethis-cli (10):
|
55
|
+
-- [22:07] `idonethis git` prints an activity summary
|
56
|
+
-- [21:16] v0.4.0
|
57
|
+
-- [21:16] Use raw text for CLI display
|
58
|
+
-- [21:14] Document `list week`
|
59
|
+
-- [21:12] Add build status icon
|
60
|
+
-- [21:09] Enable `rake` (runs tests)
|
61
|
+
-- [21:07] v0.3.0 -- `list week`
|
62
|
+
-- [21:06] Enable `idonethis list week`
|
63
|
+
-- [20:55] Refactor: simplified
|
64
|
+
-- [20:48] Refactor: extract function"
|
65
|
+
|
66
|
+
```
|
48
67
|
|
49
68
|
## Development
|
50
69
|
|
data/idonethis-cli.gemspec
CHANGED
data/lib/adapters/cli.rb
CHANGED
@@ -21,6 +21,7 @@ module Idonethis::Adapters
|
|
21
21
|
list: Idonethis::UseCases::List.method(:apply),
|
22
22
|
new: Idonethis::UseCases::New.method(:apply),
|
23
23
|
config: Idonethis::UseCases::Config.method(:apply),
|
24
|
+
git: Idonethis::UseCases::Git.method(:apply),
|
24
25
|
help: ->(credential, args) { puts "TODO: implement help" }
|
25
26
|
}
|
26
27
|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Idonethis::UseCases
|
2
|
+
module Git
|
3
|
+
class << self
|
4
|
+
def apply(credential, args={})
|
5
|
+
log = args[:log] || fail("You need to supply :log adapter")
|
6
|
+
|
7
|
+
dir = File.expand_path("..")
|
8
|
+
|
9
|
+
all_dirs = Dir.entries(dir).reject{|it| ["..", "."].include?(it) }.select{|it| File.directory?(File.join(dir, it))}.map{|it| File.join(dir, it)}
|
10
|
+
|
11
|
+
dirs_that_have_changed_today = all_dirs.select{|it| today?(File.mtime(it)) }
|
12
|
+
|
13
|
+
puts "Scanning dir <#{dir}>, which has <#{dirs_that_have_changed_today.size}> repositories that have changed\n\n"
|
14
|
+
|
15
|
+
dirs_that_have_changed_today.each do |dir|
|
16
|
+
summary = commit_summary(dir)
|
17
|
+
puts %Q{#{Pathname.new(dir).basename} (#{summary.size}):\n-- #{summary.join("\n-- ")}"}
|
18
|
+
end
|
19
|
+
|
20
|
+
puts ""
|
21
|
+
end
|
22
|
+
|
23
|
+
def today?(time)
|
24
|
+
now = Time.now
|
25
|
+
time.year == now.year && time.month == now.month && time.day == now.day
|
26
|
+
end
|
27
|
+
|
28
|
+
def commit_summary(dir)
|
29
|
+
require 'git'
|
30
|
+
git = ::Git.open(dir)
|
31
|
+
git.log.since('1am').take(10).map{|it| %Q{[#{it.date.strftime("%H:%M")}] #{it.message}}}
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: idonethis-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Biddington
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: git
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1'
|
69
83
|
description: Command line interface for idonethis
|
70
84
|
email:
|
71
85
|
- ben.biddington@gmail.com
|
@@ -93,6 +107,7 @@ files:
|
|
93
107
|
- lib/idonethis/index.rb
|
94
108
|
- lib/idonethis/settings_file.rb
|
95
109
|
- lib/idonethis/use_cases/config.rb
|
110
|
+
- lib/idonethis/use_cases/git.rb
|
96
111
|
- lib/idonethis/use_cases/list.rb
|
97
112
|
- lib/idonethis/use_cases/new.rb
|
98
113
|
homepage: https://github.com/ben-biddington/idonethis-cli
|