togman 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/togman +25 -22
  2. data/lib/toggl.rb +1 -1
  3. 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
- opts = Trollop::options do
29
- opt :dryrun, "Preview time to be logged without saving to Mantis", :short => 'd'
30
- end
37
+ t = Toggl.new config['toggl_api_key'], config['nonbill']
38
+
39
+ display_time t
31
40
 
32
- if !opts.dryrun
33
- pass = ask('Password:') {|q| q.echo = '*'}
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
- if !opts.dryrun
40
- t.today.each do |ims, data|
41
- if !m.issue_exists ims
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
- if !opts.dryrun
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
@@ -48,8 +48,8 @@ class Toggl
48
48
  # round the final note???
49
49
 
50
50
  free = false
51
- if !@nonbill.member? ims.to_i
52
51
  orig = duration
52
+ if !@nonbill.member? ims.to_i
53
53
  duration = ((duration.to_f/10).ceil*10).round
54
54
  free = true
55
55
  end
metadata CHANGED
@@ -1,11 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: togman
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 15
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
- - 1
8
- version: "0.1"
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-03 00:00:00 +01:00
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.3.6
127
+ rubygems_version: 1.8.11
131
128
  signing_key:
132
129
  specification_version: 3
133
130
  summary: Transfer time from Toggl to Mantis