intercom-rails 0.4.2 → 1.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 02ee9e097fd0d56647c686ee99951ffab111c4dbb557945724b2a0bc3fe4e5db
4
- data.tar.gz: d07d7828811fc2efa8e9de4396d6209de92b6b094e70ea29d999a3c717620abf
3
+ metadata.gz: e2fc85ba00358eada296192f07e67ba84f37424ba7a5d8ee9ea5f83e5a0bc60b
4
+ data.tar.gz: e3f4bfc29ba15e72c9f19c3c363abeb587ff6668637740edee063c69a329d648
5
5
  SHA512:
6
- metadata.gz: e4549531a669d19d6d2dae37bbb46ed70771a7bc5b3c4541ee5b194679d335346278a5bb65e2256ae402e72eff417f17bee27b6ecb0e7039225a608240b27c56
7
- data.tar.gz: 811c41ee91378ed52c256aa360d3f5c0bb01f44cdb18b617c3d8610f6b9ca1afcd54e6958525cbcbd4748c6116a3e90e61e2097de45363d00efde32f78033783
6
+ metadata.gz: eb3a484b71432a961158d13ee67bc43e867d74e4ecfad7d81b58607e7f09aeacb6f9e002df29b3028ac3e71717cece13a2251a0d7a5636ba67264c59465a5167
7
+ data.tar.gz: 689566c0e89a88620c018c41e8c49ff23e5aeedc32c180f0684e94d27b2112ba0ce13d5c691a89fa7db0a492352962e41be6e831a8855536fac5c6cfb557d782
data/README.md CHANGED
@@ -240,6 +240,23 @@ config.company.custom_data = {
240
240
  }
241
241
  ```
242
242
 
243
+ In some situations you'll want to set some custom company data attribute specific to a request.
244
+ You can do this similarly to user data attribute set by using the `intercom_custom_data` helper available in your controllers:
245
+
246
+ ```ruby
247
+ class AppsController < ActionController::Base
248
+ def activate
249
+ intercom_custom_data.company[:app_activated_at] = Time.now
250
+ ...
251
+ end
252
+
253
+ def destroy
254
+ intercom_custom_data.company[:app_deleted_at] = Time.now
255
+ ...
256
+ end
257
+ end
258
+ ```
259
+
243
260
  ### Messenger
244
261
  Intercom includes an in-app messenger which allows a user to read messages and start conversations.
245
262
 
@@ -11,10 +11,10 @@ module IntercomRails
11
11
 
12
12
  class Filter
13
13
  CLOSING_BODY_TAG = "</body>"
14
- BLACKLISTED_CONTROLLER_NAMES = %w{ Devise::PasswordsController }
14
+ BLOCKED_CONTROLLER_NAMES = %w{ Devise::PasswordsController }
15
15
 
16
16
  def self.filter(controller)
17
- return if BLACKLISTED_CONTROLLER_NAMES.include?(controller.class.name)
17
+ return if BLOCKED_CONTROLLER_NAMES.include?(controller.class.name)
18
18
  auto_include_filter = new(controller)
19
19
  return unless auto_include_filter.include_javascript?
20
20
 
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/json'
4
- require 'active_support/core_ext/hash/indifferent_access'
5
- require 'active_support/core_ext/string/output_safety'
3
+ require 'active_support/all'
6
4
  require 'action_view'
7
5
 
8
6
  module IntercomRails
@@ -72,6 +70,7 @@ module IntercomRails
72
70
  hsh[:company] = company_details if company_details.present?
73
71
  hsh[:hide_default_launcher] = Config.hide_default_launcher if Config.hide_default_launcher
74
72
  hsh[:api_base] = Config.api_base if Config.api_base
73
+ hsh[:installation_type] = 'rails'
75
74
  hsh
76
75
  end
77
76
 
@@ -111,7 +110,7 @@ module IntercomRails
111
110
  plaintext_javascript = ActiveSupport::JSON.encode(plaintext_settings).gsub('<', '\u003C')
112
111
  intercom_encrypted_payload_javascript = encrypted_mode.encrypted_javascript(intercom_settings)
113
112
 
114
- "window.intercomSettings = #{plaintext_javascript};#{intercom_encrypted_payload_javascript}(function(){var w=window;var ic=w.Intercom;if(typeof ic===\"function\"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='#{Config.library_url || "https://widget.intercom.io/widget/#{j app_id}"}';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}};})()"
113
+ "window.intercomSettings = #{plaintext_javascript};#{intercom_encrypted_payload_javascript}(function(){var w=window;var ic=w.Intercom;if(typeof ic===\"function\"){ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='#{Config.library_url || "https://widget.intercom.io/widget/#{j app_id}"}';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}};})()"
115
114
  end
116
115
 
117
116
  def user_details=(user_details)
@@ -1,3 +1,3 @@
1
1
  module IntercomRails
2
- VERSION = "0.4.2"
2
+ VERSION = "1.0.1"
3
3
  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.4.2
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben McRedmond
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-10-08 00:00:00.000000000 Z
13
+ date: 2024-04-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - ">"
20
20
  - !ruby/object:Gem::Version
21
- version: '3.0'
21
+ version: '4.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">"
27
27
  - !ruby/object:Gem::Version
28
- version: '3.0'
28
+ version: '4.0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rake
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -46,42 +46,42 @@ dependencies:
46
46
  requirements:
47
47
  - - ">"
48
48
  - !ruby/object:Gem::Version
49
- version: 3.2.12
49
+ version: '5.0'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - ">"
55
55
  - !ruby/object:Gem::Version
56
- version: 3.2.12
56
+ version: '5.0'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rspec
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '3.1'
63
+ version: '3.13'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '3.1'
70
+ version: '3.13'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rspec-rails
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '3.1'
77
+ version: '5.0'
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '3.1'
84
+ version: '5.0'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: pry
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -102,28 +102,28 @@ dependencies:
102
102
  requirements:
103
103
  - - "~>"
104
104
  - !ruby/object:Gem::Version
105
- version: 1.4.5
105
+ version: '2.0'
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - "~>"
111
111
  - !ruby/object:Gem::Version
112
- version: 1.4.5
112
+ version: '2.0'
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: thin
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
117
  - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: 1.7.0
119
+ version: 1.8.0
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - "~>"
125
125
  - !ruby/object:Gem::Version
126
- version: 1.7.0
126
+ version: 1.8.0
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: tzinfo
129
129
  requirement: !ruby/object:Gem::Requirement
@@ -202,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
202
202
  - !ruby/object:Gem::Version
203
203
  version: '0'
204
204
  requirements: []
205
- rubygems_version: 3.0.4
205
+ rubygems_version: 3.4.10
206
206
  signing_key:
207
207
  specification_version: 4
208
208
  summary: Rails helper for emitting javascript script tags for Intercom