timeclock 0.1.1 → 0.7.3
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.
- data/bin/clock +8 -0
- data/config/schedule.rb +4 -4
- data/lib/timeclock/clock.rb +51 -3
- data/lib/timeclock/version.rb +1 -1
- data/templates/email.html.erb +14 -4
- metadata +3 -5
data/bin/clock
CHANGED
@@ -32,6 +32,14 @@ else
|
|
32
32
|
when "daily"
|
33
33
|
require 'pp'
|
34
34
|
pp Timeclock::Clock.daily_log
|
35
|
+
when "automate"
|
36
|
+
Timeclock::Clock.automate
|
37
|
+
when 'begin'
|
38
|
+
Timeclock::Clock.setup_automate
|
39
|
+
when 'end'
|
40
|
+
Timeclock::Clock.unsetup_automate
|
41
|
+
when "clay"
|
42
|
+
puts Timeclock::Clock.clay
|
35
43
|
else
|
36
44
|
help
|
37
45
|
end
|
data/config/schedule.rb
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
# Example:
|
7
7
|
#
|
8
|
-
|
8
|
+
set :output, "~/.timeclock.log"
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
every 1.minute do
|
11
|
+
command "clock automate"
|
12
|
+
end
|
13
13
|
|
14
14
|
# every 4.days do
|
15
15
|
# runner "AnotherModel.prune_old_records"
|
data/lib/timeclock/clock.rb
CHANGED
@@ -53,6 +53,19 @@ module Timeclock
|
|
53
53
|
puts "clocking in at #{Time.now}"
|
54
54
|
end
|
55
55
|
|
56
|
+
def automate_clock_in
|
57
|
+
string = get_log_string
|
58
|
+
array = string.split("\n")
|
59
|
+
if !array.empty?
|
60
|
+
if array.last.include? "in"
|
61
|
+
exit(1)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
array << "in del11009 #{Time.now}"
|
65
|
+
put_log_string array.join("\n")
|
66
|
+
puts "clocking in at #{Time.now}"
|
67
|
+
end
|
68
|
+
|
56
69
|
def clock_out
|
57
70
|
string = get_log_string
|
58
71
|
array = string.split("\n")
|
@@ -65,6 +78,17 @@ module Timeclock
|
|
65
78
|
puts "clocking out at #{Time.now.to_s}"
|
66
79
|
end
|
67
80
|
|
81
|
+
def automate_clock_out
|
82
|
+
string = get_log_string
|
83
|
+
array = string.split("\n")
|
84
|
+
if array.last.include? "out"
|
85
|
+
exit(1)
|
86
|
+
end
|
87
|
+
array << "out #{Time.now}"
|
88
|
+
put_log_string array.join("\n")
|
89
|
+
puts "clocking out at #{Time.now.to_s}"
|
90
|
+
end
|
91
|
+
|
68
92
|
def total
|
69
93
|
total = 0.0
|
70
94
|
collect.each {|value|total += value[:hours]}
|
@@ -120,7 +144,7 @@ module Timeclock
|
|
120
144
|
puts collect
|
121
145
|
print "who should I send this to: "
|
122
146
|
to = STDIN.gets.strip
|
123
|
-
begin
|
147
|
+
# begin
|
124
148
|
require 'pony'
|
125
149
|
require 'erb'
|
126
150
|
|
@@ -129,6 +153,7 @@ module Timeclock
|
|
129
153
|
:from => "Lyon <lyon@delorum.com>",
|
130
154
|
:subject => "Time card",
|
131
155
|
:content_type => 'text/html',
|
156
|
+
:domain => "localhost.localdomain",
|
132
157
|
:html_body => ERB.new(File.new("templates/email.html.erb").read).result(binding),
|
133
158
|
:body => "You are reading this because your email client sux and cant interperate html... fix it." #,
|
134
159
|
# :via => :smtp, :via_options => {
|
@@ -142,10 +167,33 @@ module Timeclock
|
|
142
167
|
# }
|
143
168
|
)
|
144
169
|
puts "Time card has been sent to #{to}."
|
145
|
-
rescue Exception => e
|
146
|
-
|
170
|
+
# rescue Exception => e
|
171
|
+
# puts "Time card not sent because pony is dumb."
|
172
|
+
# end
|
173
|
+
|
174
|
+
end
|
175
|
+
|
176
|
+
def setup_automate
|
177
|
+
puts `whenever -w config/schedule.rb`
|
178
|
+
end
|
179
|
+
|
180
|
+
def unsetup_automate
|
181
|
+
puts `whenever -c config/schedule.rb`
|
182
|
+
end
|
183
|
+
|
184
|
+
def automate
|
185
|
+
if `ps aux | grep Adium | grep -v grep`.split("\n").size > 0
|
186
|
+
puts "AUTOMATE CLOCK IN"
|
187
|
+
automate_clock_in
|
188
|
+
else
|
189
|
+
puts "AUTOMATE CLOCK OUT"
|
190
|
+
automate_clock_out
|
147
191
|
end
|
192
|
+
end
|
148
193
|
|
194
|
+
def clay
|
195
|
+
require 'erb'
|
196
|
+
ERB.new(File.new("templates/email.html.erb").read).result(binding)
|
149
197
|
end
|
150
198
|
|
151
199
|
def email
|
data/lib/timeclock/version.rb
CHANGED
data/templates/email.html.erb
CHANGED
@@ -1,4 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
<pre>
|
2
|
+
Hay. This is the best formatting I can do.. I'm just a meager programmer..
|
3
|
+
<% dl = daily_log %>
|
4
|
+
<% total = dl.delete(:total)%>
|
5
|
+
<% dl.each do |key, value| %>
|
6
|
+
on <%= key.to_s %> I got <%= value[:total] %> hours
|
7
|
+
<% value[:log].each do |ele| %>
|
8
|
+
<%= ele.to_s %>
|
9
|
+
<%end%>
|
10
|
+
<%end%>
|
11
|
+
For a total of <%= total %> hours
|
12
|
+
|
13
|
+
Thank you!
|
14
|
+
</pre>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timeclock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
13
|
-
default_executable:
|
12
|
+
date: 2011-07-27 00:00:00.000000000Z
|
14
13
|
dependencies: []
|
15
14
|
description: A simple console based clock in/clock out system.
|
16
15
|
email:
|
@@ -31,7 +30,6 @@ files:
|
|
31
30
|
- lib/timeclock/version.rb
|
32
31
|
- templates/email.html.erb
|
33
32
|
- timeclock.gemspec
|
34
|
-
has_rdoc: true
|
35
33
|
homepage: http://github.com/lyondhill/timeclock
|
36
34
|
licenses: []
|
37
35
|
post_install_message:
|
@@ -52,7 +50,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
52
50
|
version: '0'
|
53
51
|
requirements: []
|
54
52
|
rubyforge_project: timeclock
|
55
|
-
rubygems_version: 1.5
|
53
|
+
rubygems_version: 1.8.5
|
56
54
|
signing_key:
|
57
55
|
specification_version: 3
|
58
56
|
summary: Timeclock is a small but useful timeclock system that allows users to push
|