idonethis-cli 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|