togman 0.1 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/togman +25 -22
- data/lib/toggl.rb +1 -1
- metadata +18 -21
data/bin/togman
CHANGED
@@ -1,58 +1,61 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require "rubygems"
|
3
3
|
require "patron"
|
4
|
-
require "pp"
|
5
4
|
require "json"
|
6
5
|
require 'savon'
|
7
6
|
require 'highline/import'
|
8
|
-
require 'trollop'
|
9
7
|
require 'yaml'
|
10
8
|
|
11
9
|
require 'toggl.rb'
|
12
10
|
require 'mantis.rb'
|
13
11
|
|
12
|
+
def display_time t
|
13
|
+
total = 0
|
14
|
+
puts "\n"
|
15
|
+
t.today.each do |ims, data|
|
16
|
+
data.each do |item|
|
17
|
+
puts ims.to_s + " " + item[:desc] + " " + item[:duration].to_s + "m (" + item[:orig].to_s + "m logged)"
|
18
|
+
total += item[:duration]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
puts "TOTAL: " + total.to_s
|
22
|
+
end
|
23
|
+
|
14
24
|
configfile = ENV['HOME'] + '/.togmanrc'
|
15
|
-
if !File.file? configfile
|
25
|
+
if !File.file? configfile
|
16
26
|
puts 'Cannot open ' + configfile
|
17
27
|
exit
|
18
28
|
end
|
19
29
|
|
20
30
|
config = YAML::load_file configfile
|
21
|
-
pp config
|
22
31
|
|
23
32
|
Savon.configure do |setting|
|
24
33
|
setting.log = false # disable logging
|
25
34
|
# config.log_level = :info # changing the log level
|
26
35
|
end
|
27
36
|
|
28
|
-
|
29
|
-
|
30
|
-
|
37
|
+
t = Toggl.new config['toggl_api_key'], config['nonbill']
|
38
|
+
|
39
|
+
display_time t
|
31
40
|
|
32
|
-
|
33
|
-
|
41
|
+
puts "\nEnter your Mantis password to log this time (Blank exits)"
|
42
|
+
pass = ask('Password:') {|q| q.echo = '*'}
|
43
|
+
|
44
|
+
if pass == ""
|
45
|
+
exit
|
34
46
|
end
|
35
47
|
|
36
|
-
t = Toggl.new config['toggl_api_key'], config['nonbill']
|
37
48
|
m = Mantis.new config['user'], pass, config['mantis_url']
|
38
49
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
raise "Issue not found #{ims}"
|
43
|
-
end
|
50
|
+
t.today.each do |ims, data|
|
51
|
+
if !m.issue_exists ims
|
52
|
+
raise "Issue not found #{ims}"
|
44
53
|
end
|
45
54
|
end
|
46
55
|
|
47
|
-
total = 0
|
48
56
|
free = []
|
49
57
|
t.today.each do |ims, data|
|
50
58
|
data.each do |item|
|
51
|
-
|
52
|
-
m.add_note ims, item[:desc], item[:duration]
|
53
|
-
end
|
54
|
-
p ims.to_s + " " + item[:desc] + " " + item[:duration].to_s + " " + item[:orig].to_s
|
55
|
-
total += item[:duration]
|
59
|
+
m.add_note ims, item[:desc], item[:duration]
|
56
60
|
end
|
57
61
|
end
|
58
|
-
p "TOTAL: " + total.to_s
|
data/lib/toggl.rb
CHANGED
metadata
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: togman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 15
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
-
version: "0.
|
8
|
+
- 2
|
9
|
+
version: "0.2"
|
9
10
|
platform: ruby
|
10
11
|
authors:
|
11
12
|
- Benjamin Johnson
|
@@ -13,16 +14,17 @@ autorequire:
|
|
13
14
|
bindir: bin
|
14
15
|
cert_chain: []
|
15
16
|
|
16
|
-
date: 2011-10-
|
17
|
-
default_executable: bin/togman
|
17
|
+
date: 2011-10-24 00:00:00 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: patron
|
21
21
|
prerelease: false
|
22
22
|
requirement: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
23
24
|
requirements:
|
24
25
|
- - ">="
|
25
26
|
- !ruby/object:Gem::Version
|
27
|
+
hash: 47
|
26
28
|
segments:
|
27
29
|
- 0
|
28
30
|
- 4
|
@@ -34,9 +36,11 @@ dependencies:
|
|
34
36
|
name: json
|
35
37
|
prerelease: false
|
36
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
37
40
|
requirements:
|
38
41
|
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 13
|
40
44
|
segments:
|
41
45
|
- 1
|
42
46
|
- 6
|
@@ -48,9 +52,11 @@ dependencies:
|
|
48
52
|
name: savon
|
49
53
|
prerelease: false
|
50
54
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
51
56
|
requirements:
|
52
57
|
- - ">="
|
53
58
|
- !ruby/object:Gem::Version
|
59
|
+
hash: 53
|
54
60
|
segments:
|
55
61
|
- 0
|
56
62
|
- 9
|
@@ -62,9 +68,11 @@ dependencies:
|
|
62
68
|
name: highline
|
63
69
|
prerelease: false
|
64
70
|
requirement: &id004 !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
65
72
|
requirements:
|
66
73
|
- - ">="
|
67
74
|
- !ruby/object:Gem::Version
|
75
|
+
hash: 11
|
68
76
|
segments:
|
69
77
|
- 1
|
70
78
|
- 6
|
@@ -72,20 +80,6 @@ dependencies:
|
|
72
80
|
version: 1.6.2
|
73
81
|
type: :runtime
|
74
82
|
version_requirements: *id004
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: trollop
|
77
|
-
prerelease: false
|
78
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
segments:
|
83
|
-
- 1
|
84
|
-
- 16
|
85
|
-
- 2
|
86
|
-
version: 1.16.2
|
87
|
-
type: :runtime
|
88
|
-
version_requirements: *id005
|
89
83
|
description: ""
|
90
84
|
email:
|
91
85
|
- ben@benpjohnson.com
|
@@ -99,7 +93,6 @@ files:
|
|
99
93
|
- bin/togman
|
100
94
|
- lib/mantis.rb
|
101
95
|
- lib/toggl.rb
|
102
|
-
has_rdoc: true
|
103
96
|
homepage: http://benpjohnson.com
|
104
97
|
licenses: []
|
105
98
|
|
@@ -109,16 +102,20 @@ rdoc_options: []
|
|
109
102
|
require_paths:
|
110
103
|
- lib
|
111
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
112
106
|
requirements:
|
113
107
|
- - ">="
|
114
108
|
- !ruby/object:Gem::Version
|
109
|
+
hash: 3
|
115
110
|
segments:
|
116
111
|
- 0
|
117
112
|
version: "0"
|
118
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
119
115
|
requirements:
|
120
116
|
- - ">="
|
121
117
|
- !ruby/object:Gem::Version
|
118
|
+
hash: 23
|
122
119
|
segments:
|
123
120
|
- 1
|
124
121
|
- 3
|
@@ -127,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
124
|
requirements: []
|
128
125
|
|
129
126
|
rubyforge_project:
|
130
|
-
rubygems_version: 1.
|
127
|
+
rubygems_version: 1.8.11
|
131
128
|
signing_key:
|
132
129
|
specification_version: 3
|
133
130
|
summary: Transfer time from Toggl to Mantis
|