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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20fd3e7441f13493e7a232787a5468f11acfd32f
4
- data.tar.gz: a0d30c426f67093a91c564cbfbf44f7ce4dafbf6
3
+ metadata.gz: bda89ed27842d421531a71f5350641a120df46ed
4
+ data.tar.gz: 4c1d5b92d91fa27a9301e3d3362f1547572c42db
5
5
  SHA512:
6
- metadata.gz: 777ba0e9b0fa857de7b8b24334830cb9a7e91cffe57b40735cd40962b7436ebcbe1a5ff2dae537dd94380a82b153f58c3262b605a374da830d8e3b40dbb164ee
7
- data.tar.gz: cc60b01da351d880de7976aef32c5d011b942b16b575542be8f9d481ca4551a3f5437ef25893493d5d2276047480ae328d8cf99ad835c6a88b0a3273a1e4e32f
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
 
@@ -31,4 +31,5 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency "rake" , "~> 10.0"
32
32
  spec.add_development_dependency "rspec" , "~> 3"
33
33
  spec.add_dependency "rest-client" , "~> 1"
34
+ spec.add_dependency "git" , "~> 1"
34
35
  end
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
 
@@ -1,5 +1,5 @@
1
1
  module Idonethis
2
2
  module Cli
3
- VERSION = "0.4.0"
3
+ VERSION = "0.4.1"
4
4
  end
5
5
  end
@@ -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.0
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