intercom-rails 0.2.18 → 0.2.19
Sign up to get free protection for your applications and to get access to all the features.
data/lib/intercom-rails.rb
CHANGED
@@ -0,0 +1,9 @@
|
|
1
|
+
module IntercomRails
|
2
|
+
class DateHelper
|
3
|
+
def self.convert_dates_to_unix_timestamps(object)
|
4
|
+
return Hash[object.map { |k, v| [k, convert_dates_to_unix_timestamps(v)] }] if object.is_a?(Hash)
|
5
|
+
return object.to_i if object.is_a?(Time) || object.is_a?(DateTime)
|
6
|
+
object
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
data/lib/intercom-rails/proxy.rb
CHANGED
@@ -51,7 +51,7 @@ module IntercomRails
|
|
51
51
|
|
52
52
|
private
|
53
53
|
def user_details=(user_details)
|
54
|
-
@user_details = convert_dates_to_unix_timestamps(user_details || {})
|
54
|
+
@user_details = DateHelper.convert_dates_to_unix_timestamps(user_details || {})
|
55
55
|
@user_details = @user_details.with_indifferent_access.tap do |u|
|
56
56
|
[:email, :name, :user_id].each { |k| u.delete(k) if u[k].nil? }
|
57
57
|
|
@@ -68,7 +68,7 @@ module IntercomRails
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def company_details=(company_details)
|
71
|
-
@company_details = convert_dates_to_unix_timestamps(company_details || {})
|
71
|
+
@company_details = DateHelper.convert_dates_to_unix_timestamps(company_details || {})
|
72
72
|
@company_details = @company_details.with_indifferent_access.tap do |c|
|
73
73
|
[:id, :name].each { |k| c.delete(k) if c[k].nil? }
|
74
74
|
end
|
@@ -109,13 +109,6 @@ module IntercomRails
|
|
109
109
|
|
110
110
|
config
|
111
111
|
end
|
112
|
-
|
113
|
-
def convert_dates_to_unix_timestamps(object)
|
114
|
-
return Hash[object.map { |k, v| [k, convert_dates_to_unix_timestamps(v)] }] if object.is_a?(Hash)
|
115
|
-
return object.to_i if object.is_a?(Time) || object.is_a?(DateTime)
|
116
|
-
object
|
117
|
-
end
|
118
|
-
|
119
112
|
end
|
120
113
|
|
121
114
|
end
|
@@ -82,6 +82,22 @@ class UserTest < MiniTest::Unit::TestCase
|
|
82
82
|
assert_equal 'pro', @user_proxy.to_hash['plan']
|
83
83
|
end
|
84
84
|
|
85
|
+
def test_converts_dates_to_timestamps
|
86
|
+
plan_dummy_user = DUMMY_USER.dup
|
87
|
+
plan_dummy_user.instance_eval do
|
88
|
+
def some_date
|
89
|
+
Time.at(5)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
IntercomRails.config.user.custom_data = {
|
94
|
+
'some_date' => :some_date
|
95
|
+
}
|
96
|
+
|
97
|
+
@user_proxy = User.new(plan_dummy_user)
|
98
|
+
assert_equal 5, @user_proxy.to_hash['some_date']
|
99
|
+
end
|
100
|
+
|
85
101
|
def test_valid_returns_true_if_user_id_or_email
|
86
102
|
assert_equal true, User.new(DUMMY_USER).valid?
|
87
103
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: intercom-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.19
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-
|
14
|
+
date: 2013-05-07 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|
@@ -156,6 +156,7 @@ files:
|
|
156
156
|
- lib/intercom-rails/auto_include_filter.rb
|
157
157
|
- lib/intercom-rails/config.rb
|
158
158
|
- lib/intercom-rails/custom_data_helper.rb
|
159
|
+
- lib/intercom-rails/date_helper.rb
|
159
160
|
- lib/intercom-rails/exceptions.rb
|
160
161
|
- lib/intercom-rails/import.rb
|
161
162
|
- lib/intercom-rails/intercom.rake
|
@@ -194,18 +195,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
194
195
|
- - ! '>='
|
195
196
|
- !ruby/object:Gem::Version
|
196
197
|
version: '0'
|
197
|
-
segments:
|
198
|
-
- 0
|
199
|
-
hash: -3918465583784430054
|
200
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
199
|
none: false
|
202
200
|
requirements:
|
203
201
|
- - ! '>='
|
204
202
|
- !ruby/object:Gem::Version
|
205
203
|
version: '0'
|
206
|
-
segments:
|
207
|
-
- 0
|
208
|
-
hash: -3918465583784430054
|
209
204
|
requirements: []
|
210
205
|
rubyforge_project: intercom-rails
|
211
206
|
rubygems_version: 1.8.23
|
@@ -224,3 +219,4 @@ test_files:
|
|
224
219
|
- test/intercom-rails/script_tag_helper_test.rb
|
225
220
|
- test/intercom-rails/script_tag_test.rb
|
226
221
|
- test/test_setup.rb
|
222
|
+
has_rdoc:
|