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 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