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 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: {}