dude-cli 1.0.0 → 1.0.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/Gemfile.lock +14 -10
- data/dude.gemspec +3 -3
- data/lib/dude/toggl/base.rb +8 -0
- data/lib/dude/toggl/issue_spend_time.rb +12 -15
- data/lib/dude/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d7b33756ee3654e77f09fe5b1a322c906c5187a0f578743f092379b676bfe8d
|
4
|
+
data.tar.gz: 8b98c267ce9cb2f6080af1a7a59dc99518fc30c6e77b15fd275fe33ffe48a471
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e870cfe4f19e37ed56b79f3cdbb9c4e1256470aeb291d2cf97168b9607880e1cf7141e6d754fe248c3e83bb09e9bb0fbef62178458f8b00e0e14a308d01b0f4
|
7
|
+
data.tar.gz: 56d2bd2a5767aa14a17bba4f810a40451a92220f8e7612cb6f26976220e1686bca13e8846b946d975e8bf9aeb5787ce9731a82ad41bfb7735f3fc43ac7c319f5
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dude-cli (0.
|
4
|
+
dude-cli (1.0.1)
|
5
5
|
colorize (~> 0.8)
|
6
6
|
git (~> 1.3)
|
7
7
|
gitlab (~> 4.3)
|
@@ -11,24 +11,28 @@ PATH
|
|
11
11
|
GEM
|
12
12
|
remote: https://rubygems.org/
|
13
13
|
specs:
|
14
|
-
|
14
|
+
coderay (1.1.2)
|
15
15
|
colorize (0.8.1)
|
16
16
|
diff-lcs (1.3)
|
17
|
-
domain_name (0.5.
|
17
|
+
domain_name (0.5.20180417)
|
18
18
|
unf (>= 0.0.5, < 1.0.0)
|
19
|
-
git (1.
|
20
|
-
gitlab (4.
|
21
|
-
httparty
|
22
|
-
terminal-table
|
19
|
+
git (1.4.0)
|
20
|
+
gitlab (4.4.0)
|
21
|
+
httparty (>= 0.14.0)
|
22
|
+
terminal-table (>= 1.5.1)
|
23
23
|
http-cookie (1.0.3)
|
24
24
|
domain_name (~> 0.5)
|
25
25
|
httparty (0.16.2)
|
26
26
|
multi_xml (>= 0.5.2)
|
27
|
+
method_source (0.9.0)
|
27
28
|
mime-types (3.1)
|
28
29
|
mime-types-data (~> 3.2015)
|
29
30
|
mime-types-data (3.2016.0521)
|
30
31
|
multi_xml (0.6.0)
|
31
32
|
netrc (0.11.0)
|
33
|
+
pry (0.11.3)
|
34
|
+
coderay (~> 1.1.0)
|
35
|
+
method_source (~> 0.9.0)
|
32
36
|
rake (10.0.4)
|
33
37
|
rest-client (2.0.2)
|
34
38
|
http-cookie (>= 1.0.2, < 2.0)
|
@@ -53,17 +57,17 @@ GEM
|
|
53
57
|
unf (0.1.4)
|
54
58
|
unf_ext
|
55
59
|
unf_ext (0.0.7.5)
|
56
|
-
unicode-display_width (1.
|
60
|
+
unicode-display_width (1.4.0)
|
57
61
|
|
58
62
|
PLATFORMS
|
59
63
|
ruby
|
60
64
|
|
61
65
|
DEPENDENCIES
|
62
66
|
bundler (~> 1.16)
|
63
|
-
byebug (~> 9.1)
|
64
67
|
dude-cli!
|
68
|
+
pry (~> 0.11.3)
|
65
69
|
rake (~> 10.0)
|
66
70
|
rspec (~> 3.0)
|
67
71
|
|
68
72
|
BUNDLED WITH
|
69
|
-
1.16.
|
73
|
+
1.16.3
|
data/dude.gemspec
CHANGED
@@ -6,10 +6,10 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = "dude-cli"
|
7
7
|
spec.version = Dude::VERSION
|
8
8
|
spec.authors = ["Nikita Pupko"]
|
9
|
-
spec.email = ["
|
9
|
+
spec.email = ["work.pupko@gmail.com"]
|
10
10
|
spec.summary = %q{A daily assistant in the hard work of a programmer.}
|
11
11
|
spec.description = %q{This program helps to combine such services as Gitlab, Toggl and git and replace most routine activities with one simple CLI utility.}
|
12
|
-
spec.homepage = "https://github.com/
|
12
|
+
spec.homepage = "https://github.com/npupko/dude"
|
13
13
|
spec.license = "MIT"
|
14
14
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
15
15
|
f.match(%r{^(test|spec|features)/})
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.16"
|
23
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
|
-
spec.add_development_dependency "
|
24
|
+
spec.add_development_dependency "pry", "~> 0.11.3"
|
25
25
|
spec.add_development_dependency "rspec", "~> 3.0"
|
26
26
|
|
27
27
|
spec.add_runtime_dependency "thor", "~> 0.20"
|
data/lib/dude/toggl/base.rb
CHANGED
@@ -20,6 +20,14 @@ module Dude
|
|
20
20
|
)
|
21
21
|
end
|
22
22
|
|
23
|
+
def toggl_summary
|
24
|
+
@toggl_summary ||= RestClient::Resource.new(
|
25
|
+
'https://www.toggl.com/reports/api/v2/summary',
|
26
|
+
settings['TOGGL_TOKEN'],
|
27
|
+
'api_token'
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
23
31
|
def projects_response
|
24
32
|
toggl_api["workspaces/#{settings['TOGGL_WORKSPACE_ID']}/projects"].get
|
25
33
|
end
|
@@ -9,38 +9,35 @@ module Dude
|
|
9
9
|
{
|
10
10
|
workspace_id: settings['TOGGL_WORKSPACE_ID'],
|
11
11
|
user_agent: settings['TOGGL_EMAIL'],
|
12
|
-
|
12
|
+
since: Date.today.prev_year,
|
13
|
+
until: Date.today.to_s
|
13
14
|
}
|
14
15
|
end
|
15
16
|
|
16
17
|
def response
|
17
|
-
|
18
|
+
toggl_summary.get params: params
|
18
19
|
end
|
19
20
|
|
20
21
|
def time_entries
|
21
|
-
JSON.parse(response.body)
|
22
|
+
JSON.parse(response.body)['data']
|
22
23
|
end
|
23
24
|
|
24
|
-
def
|
25
|
-
time_entries.
|
25
|
+
def all_project_issues
|
26
|
+
time_entries.find { |project| project['id'].eql? project_id }['items']
|
26
27
|
end
|
27
28
|
|
28
|
-
def
|
29
|
-
|
29
|
+
def current_issue_time_entry
|
30
|
+
all_project_issues.find { |entry| match_issue_id?(entry) }
|
30
31
|
end
|
31
32
|
|
32
33
|
def match_issue_id?(time_entry)
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
def formatted_time_entries
|
39
|
-
current_issue_time_entries.map {|a| [a['description'], a['duration']]}
|
34
|
+
title = time_entry.dig('title', 'time_entry')
|
35
|
+
title.match?(/\(##{options[:issue_id]}\)/) ||
|
36
|
+
title.match?(/##{options[:issue_id]}\s/)
|
40
37
|
end
|
41
38
|
|
42
39
|
def parse_time_entries_list
|
43
|
-
|
40
|
+
current_issue_time_entry['time']
|
44
41
|
end
|
45
42
|
|
46
43
|
def project_id
|
data/lib/dude/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dude-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikita Pupko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -39,19 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.11.3
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.11.3
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,7 +139,7 @@ dependencies:
|
|
139
139
|
description: This program helps to combine such services as Gitlab, Toggl and git
|
140
140
|
and replace most routine activities with one simple CLI utility.
|
141
141
|
email:
|
142
|
-
-
|
142
|
+
- work.pupko@gmail.com
|
143
143
|
executables:
|
144
144
|
- dude
|
145
145
|
extensions: []
|
@@ -181,7 +181,7 @@ files:
|
|
181
181
|
- lib/dude/toggl/start_time_entry.rb
|
182
182
|
- lib/dude/toggl/stop_time_entry.rb
|
183
183
|
- lib/dude/version.rb
|
184
|
-
homepage: https://github.com/
|
184
|
+
homepage: https://github.com/npupko/dude
|
185
185
|
licenses:
|
186
186
|
- MIT
|
187
187
|
metadata: {}
|