dude-cli 1.0.0 → 1.0.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
  SHA256:
3
- metadata.gz: 5904c4dd617325bea4ff97cb06dc2a7bffdee86e161d93af363f1560950c9cf8
4
- data.tar.gz: a719bba9748a8c6b8a5a6e61ef3bf1fe6705ccdfb1f0432a612fb30675bd8b33
3
+ metadata.gz: 4d7b33756ee3654e77f09fe5b1a322c906c5187a0f578743f092379b676bfe8d
4
+ data.tar.gz: 8b98c267ce9cb2f6080af1a7a59dc99518fc30c6e77b15fd275fe33ffe48a471
5
5
  SHA512:
6
- metadata.gz: 3f8a6ec19afac6ec4e9887fdb24920c4652c53d252e5e02c37ac23d6d04e687cddedc0a03069887c8846942dd0510c72ba4de2b8b43b84c276aa9e6cff84b115
7
- data.tar.gz: 90c7b6d18a998f4fc0f7657d17dd808b74ed1faecc94633d5eab44144b435eae993e6314c434edbe140f81e1dd228907e4aa040b8ca071315c5093c9efc7d63b
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.6.1)
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
- byebug (9.1.0)
14
+ coderay (1.1.2)
15
15
  colorize (0.8.1)
16
16
  diff-lcs (1.3)
17
- domain_name (0.5.20170404)
17
+ domain_name (0.5.20180417)
18
18
  unf (>= 0.0.5, < 1.0.0)
19
- git (1.3.0)
20
- gitlab (4.3.0)
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.3.0)
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.1
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 = ["lazynick7@gmail.com"]
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/Random4405/dude"
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 "byebug", "~> 9.1"
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"
@@ -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
- start_date: '2013-03-10T15:42:46+02:00'
12
+ since: Date.today.prev_year,
13
+ until: Date.today.to_s
13
14
  }
14
15
  end
15
16
 
16
17
  def response
17
- toggl_api['time_entries'].get params
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 current_issue_time_entries
25
- time_entries.select { |entry| match_project_id?(entry) && match_issue_id?(entry) }
25
+ def all_project_issues
26
+ time_entries.find { |project| project['id'].eql? project_id }['items']
26
27
  end
27
28
 
28
- def match_project_id?(time_entry)
29
- time_entry['pid'].eql? project_id
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
- # TODO: Deprecated behaviour
34
- time_entry['description'].match?(/\(##{options[:issue_id]}\)/) ||
35
- time_entry['description'].match?(/##{options[:issue_id]}\s/)
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
- current_issue_time_entries.map {|a| a['duration'] }.sum
40
+ current_issue_time_entry['time']
44
41
  end
45
42
 
46
43
  def project_id
data/lib/dude/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dude
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
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.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-05-21 00:00:00.000000000 Z
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: byebug
42
+ name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '9.1'
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: '9.1'
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
- - lazynick7@gmail.com
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/Random4405/dude
184
+ homepage: https://github.com/npupko/dude
185
185
  licenses:
186
186
  - MIT
187
187
  metadata: {}