slimtimer4r 0.2.3 → 0.2.4

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.
Files changed (3) hide show
  1. data/History.txt +18 -5
  2. data/lib/slimtimer4r.rb +19 -5
  3. metadata +2 -2
@@ -1,22 +1,35 @@
1
+ == 0.2.4 / 2009-02-17
2
+
3
+ Enhancements:
4
+ * Added date/time sanitization to SlimTimer::Record
5
+ * You can now pass a custom timeout (in seconds) to the SlimTimer object to
6
+ bypass the default of 60 seconds (for most platforms).
7
+ * Thanks to Chris DeRose for these changes (http://www.derosetechnologies.com)
8
+
1
9
  == 0.2.3 / 2009-02-10
2
10
 
3
- * Switched to slimtimer.com instead of www.slimtimer.com due to a 301 Moved Permanently error
11
+ Bug Fixes:
12
+ * Switched to slimtimer.com instead of www.slimtimer.com due to a 301 Moved Permanently error
4
13
 
5
14
  == 0.2.2 / 2008-01-15
6
15
 
7
- * Fix the list_entries method to properly set the beginning time to midnight if a Date is passed in.
16
+ Bug Fixes:
17
+ * Fix the list_entries method to properly set the beginning time to midnight if a Date is passed in.
8
18
 
9
19
  == 0.2.1 / 2008-01-10
10
20
 
11
- * RDoc enhancements
21
+ Bug Fixes:
12
22
  * Update list_timeentries method to automatically append a Time of 23:59:59 to the ending range if a Date object was passed in.
13
23
 
24
+ Enhancements:
25
+ * RDoc enhancements
26
+
14
27
  == 0.2.0 / 2008-01-09
15
28
 
16
- * 1 major enhancement
29
+ Enhancements:
17
30
  * Not-so-ugly code thanks to borrowing from the 37 Signals / Basecamp sample Ruby wrappers
18
31
 
19
32
  == 0.1.0 / Sometime back in 2006...
20
33
 
21
- * Lots of UGLY code
34
+ * Initial release - Lots of UGLY code
22
35
 
@@ -2,7 +2,7 @@ require 'yaml'
2
2
  require 'net/http'
3
3
 
4
4
  class SlimTimer
5
- VERSION = '0.2.3'
5
+ VERSION = '0.2.4'
6
6
 
7
7
  #
8
8
  # The Record class is used to encapsulate the data returned from the SlimTimer API. This allows access
@@ -55,25 +55,38 @@ class SlimTimer
55
55
  to_s
56
56
  end
57
57
 
58
+ def updated_at
59
+ sanitize_time(super)
60
+ end
61
+
62
+ def created_at
63
+ sanitize_time(super)
64
+ end
65
+
58
66
  private
59
67
 
60
68
  def dashify(name)
61
69
  name.to_s.tr("_","-")
62
70
  end
71
+
72
+ def sanitize_time
73
+ Time.local(time.year, time.month, time.day, time.hour, time.min, time.sec) unless time.nil?
74
+ end
75
+
63
76
  end
64
77
 
65
78
  attr_accessor :email, :password, :api_key, :user_id, :access_token, :request
66
79
 
67
- # Creates a new SlimTimer object and obtains the +access_token+ and +user_id+ from the SlimTimer API by sending your +email+, +password+, and +api_key+. Raises a _RuntimeError_ if it can't authenticate.
80
+ # Creates a new SlimTimer object and obtains the +access_token+ and +user_id+ from the SlimTimer API by sending your +email+, +password+, and +api_key+. Raises a _RuntimeError_ if it can't authenticate. You can also optionally supply a +connection_timeout+ for the SlimTimer servers (the default is 60 seconds).
68
81
  #
69
82
  # slim_timer = SlimTimer.new("person@example.com", "password", "12345")
70
83
  # => #<SlimTimer:0x68bca8 @password="password"...>
71
84
  #
72
85
  # slim_timer = SlimTimer.new("bademail@example.com", "badpassword", "12345")
73
86
  # => RuntimeError: Error occurred (500)
74
- def initialize(email, password, api_key)
87
+ def initialize(email, password, api_key, connection_timeout=60)
75
88
  @email, @password, @api_key = email, password, api_key
76
- connect
89
+ connect(connection_timeout)
77
90
  get_token
78
91
  end
79
92
 
@@ -189,8 +202,9 @@ class SlimTimer
189
202
  @user_id = values.user_id
190
203
  end
191
204
 
192
- def connect
205
+ def connect(connection_timeout)
193
206
  @connection = Net::HTTP.new("slimtimer.com", 80)
207
+ @connection.read_timeout = connection_timeout
194
208
  end
195
209
 
196
210
  def request(method, path, parameters = {}, type="Result")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slimtimer4r
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dylan Markow
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-10 00:00:00 -08:00
12
+ date: 2009-02-17 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency