freshbooks.rb 3.0.16 → 3.0.17
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/lib/freshbooks.rb
CHANGED
@@ -60,7 +60,7 @@ require 'logger'
|
|
60
60
|
#
|
61
61
|
#==============================================================================
|
62
62
|
module FreshBooks
|
63
|
-
VERSION = '3.0.
|
63
|
+
VERSION = '3.0.17' # Gem version
|
64
64
|
API_VERSION = '2.1' # FreshBooks API version
|
65
65
|
SERVICE_URL = "/api/#{API_VERSION}/xml-in"
|
66
66
|
|
@@ -4,7 +4,7 @@ require 'logger'
|
|
4
4
|
|
5
5
|
module FreshBooks
|
6
6
|
class Connection
|
7
|
-
attr_reader :account_url, :auth_token, :request_headers
|
7
|
+
attr_reader :account_url, :auth_token, :utc_offset, :request_headers
|
8
8
|
|
9
9
|
@@logger = Logger.new(STDOUT)
|
10
10
|
def logger
|
@@ -16,13 +16,13 @@ module FreshBooks
|
|
16
16
|
end
|
17
17
|
self.log_level = Logger::WARN
|
18
18
|
|
19
|
-
def initialize(account_url, auth_token, request_headers = {})
|
19
|
+
def initialize(account_url, auth_token, request_headers = {}, options = {})
|
20
20
|
raise InvalidAccountUrlError.new unless account_url =~ /^[0-9a-zA-Z\-_]+\.freshbooks\.com$/
|
21
21
|
|
22
22
|
@account_url = account_url
|
23
23
|
@auth_token = auth_token
|
24
24
|
@request_headers = request_headers
|
25
|
-
|
25
|
+
@utc_offset = options[:utc_offset] || -4
|
26
26
|
@start_session_count = 0
|
27
27
|
end
|
28
28
|
|
@@ -96,16 +96,21 @@ module FreshBooks
|
|
96
96
|
class DateTimeSerializer
|
97
97
|
def self.to_node(member_name, value)
|
98
98
|
element = REXML::Element.new(member_name)
|
99
|
-
element.text = (value.utc
|
99
|
+
element.text = (value.utc + time_offset.to_i.hours).to_s(:db) # hack to convert to gmt-4, any better way?
|
100
100
|
element
|
101
101
|
end
|
102
102
|
|
103
103
|
def self.to_value(xml_val)
|
104
|
-
DateTime.parse(xml_val.text.to_s + "
|
104
|
+
DateTime.parse(xml_val.text.to_s + " #{time_offset}").utc # hack to convert from gmt-4 to utc
|
105
105
|
rescue ArgumentError => e
|
106
106
|
# Sometimes freshbooks gives dates that look like this 0000-00-00 00:00:00
|
107
107
|
nil
|
108
108
|
end
|
109
|
+
|
110
|
+
private
|
111
|
+
def self.time_offset
|
112
|
+
ENV['FRESHBOOKS_TIMEZONE'] || "-04:00"
|
113
|
+
end
|
109
114
|
end
|
110
115
|
end
|
111
116
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: freshbooks.rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Curren
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-11-01 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|