idonethis-cli 0.15.0 → 0.19.0
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 +10 -1
- data/bin/idonethis +2 -7
- data/lib/adapters/git_adapter.rb +8 -6
- data/lib/adapters/internet.rb +6 -2
- data/lib/idonethis/calendar.rb +19 -0
- data/lib/idonethis/cli/version.rb +1 -1
- data/lib/idonethis/use_cases/app.rb +6 -2
- data/lib/idonethis/use_cases/git.rb +1 -1
- data/lib/idonethis/use_cases/new.rb +13 -4
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 246f3b44c2ed5428e74baaedcaa1ffed8c70b9f7
|
4
|
+
data.tar.gz: 5d58699bef08ac1736ee8f014fd9f17adb747713
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84e598fada179d5c3f037b2387aec4a8da3c1677099cbd9acc6e1bddaede82c71bbe44dcba349bf24bcb162433de5dd0d67ce3ce9022afd26de261ae6a07b140
|
7
|
+
data.tar.gz: 23ce96df5e21529fc9c1d14278d61c67f2999dd70a8b4e4d9aeebca448c4d229496dbd7ba848276ad0266344eae31fe356ea7ca9441be8a04ae3ff2e678c4885
|
data/README.md
CHANGED
@@ -42,10 +42,19 @@ You can also list dones for the past week:
|
|
42
42
|
$ idonethis list week
|
43
43
|
```
|
44
44
|
|
45
|
+
Dones are ordered by done date just like the GUI.
|
46
|
+
|
45
47
|
### Add done
|
46
48
|
|
47
49
|
```
|
48
|
-
$
|
50
|
+
$ idonethis new -m "Ricky Bizzness"
|
51
|
+
```
|
52
|
+
|
53
|
+
#### Add done with date
|
54
|
+
|
55
|
+
```
|
56
|
+
idonethis new -m "Dorris's birthday" --date 29-Sep-2015
|
57
|
+
|
49
58
|
```
|
50
59
|
|
51
60
|
### Choose team
|
data/bin/idonethis
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
ENV["BUNDLE_GEMFILE"] = gemfile_path
|
3
|
+
$:.unshift File.join(File.dirname(File.dirname(__FILE__)), "lib")
|
6
4
|
|
7
5
|
require "rubygems"
|
8
|
-
require "
|
9
|
-
require "idonethis"
|
10
|
-
|
11
|
-
Bundler.require(:default)
|
6
|
+
require File.join(File.dirname(File.dirname(__FILE__)), "lib", "idonethis")
|
12
7
|
|
13
8
|
Idonethis::Adapters::Cli.run ARGV
|
data/lib/adapters/git_adapter.rb
CHANGED
@@ -1,17 +1,19 @@
|
|
1
1
|
module Idonethis::Adapters
|
2
2
|
module Git
|
3
3
|
class << self
|
4
|
-
def commits(dir, since)
|
4
|
+
def commits(dir, since, how_many = 1000)
|
5
5
|
require 'git'
|
6
|
-
|
6
|
+
|
7
7
|
since_when = case since
|
8
8
|
when 'yesterday'
|
9
|
-
'1am yesterday'
|
9
|
+
'1am yesterday'
|
10
|
+
when 'today'
|
11
|
+
'1am'
|
10
12
|
else
|
11
|
-
|
13
|
+
since
|
12
14
|
end
|
13
|
-
|
14
|
-
::Git.open(dir).log.since(since_when)
|
15
|
+
|
16
|
+
::Git.open(dir).log(how_many).since(since_when)
|
15
17
|
end
|
16
18
|
|
17
19
|
def repo?(dir)
|
data/lib/adapters/internet.rb
CHANGED
@@ -4,11 +4,15 @@ module Idonethis::Adapters
|
|
4
4
|
require 'restclient'
|
5
5
|
|
6
6
|
def get(url, headers = {}, body = {})
|
7
|
-
RestClient.get(url, headers)
|
7
|
+
RestClient.get(url, headers) do |response, _, __|
|
8
|
+
response
|
9
|
+
end
|
8
10
|
end
|
9
11
|
|
10
12
|
def post(url, headers = {}, body = {})
|
11
|
-
RestClient.post(url, body, headers)
|
13
|
+
RestClient.post(url, body, headers) do |response, _, __|
|
14
|
+
response
|
15
|
+
end
|
12
16
|
end
|
13
17
|
end
|
14
18
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Calendar
|
2
|
+
class << self
|
3
|
+
def today
|
4
|
+
Time.now
|
5
|
+
end
|
6
|
+
|
7
|
+
def yesterday
|
8
|
+
Time.now - one_day_in_seconds
|
9
|
+
end
|
10
|
+
|
11
|
+
def day_string(time)
|
12
|
+
time.strftime("%F")
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def one_day_in_seconds; (60 * 60 * 24); end
|
18
|
+
end
|
19
|
+
end
|
@@ -36,8 +36,12 @@ module Idonethis::UseCases
|
|
36
36
|
list: List.method(:apply),
|
37
37
|
new: New.method(:apply),
|
38
38
|
config: Config.method(:apply),
|
39
|
-
git: ->(_, args) { Git.apply(
|
40
|
-
help: ->(credential, args)
|
39
|
+
git: ->(_, args) { Git.apply(args.merge(git: adapters[:git], view: ->(msg) { puts msg }, fs: adapters[:fs]))},
|
40
|
+
help: ->(credential, args) do
|
41
|
+
puts ""
|
42
|
+
puts "Usage:\n\n"
|
43
|
+
puts %Q{idonethis #{New.usage}}
|
44
|
+
end
|
41
45
|
}
|
42
46
|
|
43
47
|
if command == :list && opts.include?("teams")
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Idonethis::UseCases
|
2
2
|
module Git
|
3
3
|
class << self
|
4
|
-
def apply(
|
4
|
+
def apply(args={})
|
5
5
|
log = args[:log] || fail("You need to supply :log adapter")
|
6
6
|
git = args[:git] || fail("You need to supply :git adapter")
|
7
7
|
view = args[:view] || fail("You need to supply :view adapter")
|
@@ -1,8 +1,8 @@
|
|
1
|
-
module Idonethis::UseCases
|
1
|
+
module Idonethis::UseCases
|
2
2
|
module New
|
3
3
|
class << self
|
4
4
|
def apply(credential, args={})
|
5
|
-
log = args[:log]
|
5
|
+
log = args[:log] || fail("You need to supply :internet adapter")
|
6
6
|
internet = args[:internet] || fail("You need to supply :internet adapter")
|
7
7
|
team = args[:team]
|
8
8
|
date = args[:date]
|
@@ -15,8 +15,11 @@ module Idonethis::UseCases
|
|
15
15
|
"team" => (team || credential[:team])
|
16
16
|
}
|
17
17
|
|
18
|
-
|
19
|
-
|
18
|
+
if date
|
19
|
+
date = Calendar.yesterday.to_s if date == 'yesterday'
|
20
|
+
body = body.merge({"done_date" => Calendar.day_string(Time.parse(date))})
|
21
|
+
end
|
22
|
+
|
20
23
|
log.call body
|
21
24
|
|
22
25
|
parse internet.post(
|
@@ -25,12 +28,18 @@ module Idonethis::UseCases
|
|
25
28
|
body
|
26
29
|
)
|
27
30
|
end
|
31
|
+
|
32
|
+
def usage
|
33
|
+
%Q{new -m "Birthday shopping + sushi lunch" --date 1-Oct-2015}
|
34
|
+
end
|
28
35
|
|
29
36
|
private
|
30
37
|
|
31
38
|
def parse(reply)
|
32
39
|
require 'json'
|
33
40
|
|
41
|
+
fail reply.body unless reply.code == 201
|
42
|
+
|
34
43
|
JSON.parse(reply.body)
|
35
44
|
end
|
36
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: idonethis-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Biddington
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- lib/adapters/settings.rb
|
106
106
|
- lib/adapters/views/cli.rb
|
107
107
|
- lib/idonethis.rb
|
108
|
+
- lib/idonethis/calendar.rb
|
108
109
|
- lib/idonethis/cli/version.rb
|
109
110
|
- lib/idonethis/index.rb
|
110
111
|
- lib/idonethis/settings_file.rb
|
@@ -136,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
137
|
version: '0'
|
137
138
|
requirements: []
|
138
139
|
rubyforge_project:
|
139
|
-
rubygems_version: 2.4.
|
140
|
+
rubygems_version: 2.4.6
|
140
141
|
signing_key:
|
141
142
|
specification_version: 4
|
142
143
|
summary: Command line interface for idonethis
|