intercom-rails 0.2.27 → 0.2.28

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
  SHA1:
3
- metadata.gz: 6f58be9d0de209b0d290aa407beebc68ad2c1076
4
- data.tar.gz: 790375aec627e79a396437ed3c0bdce84ca5a259
3
+ metadata.gz: 141d27f9b5389539330869833167ba06547a9d47
4
+ data.tar.gz: a8dae5495febc5dda1d64187e90fd747a7039006
5
5
  SHA512:
6
- metadata.gz: 517b3b4d5b9d9514d88c7cda5786c1e29c6f187c287cadfda89d942cc891da5bc046d244c01db8da7be40aa28a4ea7c3c8a19f1635f7024d140255d64e49f84c
7
- data.tar.gz: 1262b4f8175737c25f292bb4f205191ba5d1f544801bdcd39e3630e5c54a9079c1c9451cd50fa3f5cde3c3fa18f86e79b2be5631868f98fd7fea5ab7f4204e2c
6
+ metadata.gz: 91d844a6dca6093fdf67361f98772de2fe4e76a833c989dac1597b755f2deaeadc9def4a4d241bc8dbd2292032b041030511d2a5e3f05fbcbccc5430b8840dd2
7
+ data.tar.gz: f9d24e5b3dffdd193d63f27032a3c37a26c5385151a838208d370336f2a01323d760eacd7f69c5b091d80e8359ec4cf94201c7e577e642fc2e41367ef744bce4
@@ -39,6 +39,7 @@ If it's not working make sure:
39
39
  * You've generated a config file with your `app_id` as detailed above.
40
40
  * Your user object responds to an `id` or `email` method.
41
41
  * Your current user is accessible in your controllers as `current_user` or `@user`, if not in `config/initializers/intercom.rb`:
42
+ * If you want the Intercom Messenger to be available when there is no current user, set `config.include_for_logged_out_users = true` in your config and sign up for the [Acquire](https://www.intercom.io/live-chat) package.
42
43
 
43
44
  ```ruby
44
45
  config.user.current = Proc.new { current_user_object }
@@ -115,28 +116,29 @@ config.company.custom_data = {
115
116
  }
116
117
  ```
117
118
 
118
- ### Inbox
119
- Intercom includes an inbox which allows a user to read their past conversations with your app, and start new conversations. It's hidden by default, you can include a link to open it by adding a line to `config/initializers/intercom.rb`:
120
-
121
- To use the default link style, which requires no extra config and includes a small question mark icon in the bottom right corner of your app:
119
+ ### Live Chat / Acquire
120
+ With our [Acquire package](https://www.intercom.io/live-chat), Intercom Messenger now works with logged out users and visitors to your web site. Include the Intercom snippet on every page by setting:
122
121
 
123
122
  ```ruby
124
- config.inbox.style = :default
123
+ config.include_for_logged_out_users = true
125
124
  ```
126
125
 
127
- If you want to customize the style of the link that opens the inbox:
126
+ ### Messenger
127
+ Intercom includes an in-app messenger which allows a user to read messages and start conversations.
128
+
129
+ By default Intercom will add a button that opens the messenger to the page. If you want to customize the style of the link that opens the messenger:
128
130
 
129
131
  ```ruby
130
132
  config.inbox.style = :custom
131
133
  ```
132
134
 
133
- This option attaches the inbox open event to the click event of an element with an id of `Intercom`. So the simplest option here would be to add something like the following to your layout:
135
+ With this option enabled, clicks on any element with an id of `Intercom` will open the messenger. So the simplest option here would be to add something like the following to your layout:
134
136
 
135
137
  ```html
136
138
  <a id="Intercom">Support</a>
137
139
  ```
138
140
 
139
- You can read more about configuring the Inbox within Intercom (Config menu -> Inbox Link).
141
+ You can read more about configuring the messenger in your applications settings, within Intercom.
140
142
 
141
143
  ### Environments
142
144
 
@@ -54,7 +54,11 @@ module IntercomRails
54
54
  end
55
55
 
56
56
  def intercom_script_tag
57
- @script_tag ||= ScriptTag.new(:find_current_user_details => true, :find_current_company_details => true, :controller => controller)
57
+ @script_tag ||= ScriptTag.new(:find_current_user_details => true, :find_current_company_details => true, :controller => controller, :show_everywhere => show_everywhere?)
58
+ end
59
+
60
+ def show_everywhere?
61
+ IntercomRails.config.include_for_logged_out_users
58
62
  end
59
63
 
60
64
  def enabled_for_environment?
@@ -84,6 +84,7 @@ module IntercomRails
84
84
  config_accessor :api_key
85
85
  config_accessor :library_url
86
86
  config_accessor :enabled_environments, &ARRAY_VALIDATOR
87
+ config_accessor :include_for_logged_out_users
87
88
 
88
89
  config_group :user do
89
90
  config_accessor :current, &IS_PROC_VALIDATOR
@@ -10,13 +10,14 @@ module IntercomRails
10
10
  new(*args).output
11
11
  end
12
12
 
13
- attr_reader :user_details, :company_details
13
+ attr_reader :user_details, :company_details, :show_everywhere
14
14
  attr_accessor :secret, :widget_options, :controller
15
15
 
16
16
  def initialize(options = {})
17
17
  self.secret = options[:secret] || Config.api_secret
18
18
  self.widget_options = widget_options_from_config.merge(options[:widget] || {})
19
19
  self.controller = options[:controller]
20
+ @show_everywhere = options[:show_everywhere]
20
21
  self.user_details = options[:find_current_user_details] ? find_current_user_details : options[:user_details]
21
22
  self.company_details = if options[:find_current_company_details]
22
23
  find_current_company_details
@@ -26,7 +27,11 @@ module IntercomRails
26
27
  end
27
28
 
28
29
  def valid?
29
- user_details[:app_id].present? && (user_details[:user_id] || user_details[:email]).present?
30
+ valid = user_details[:app_id].present?
31
+ unless @show_everywhere
32
+ valid = valid && (user_details[:user_id] || user_details[:email]).present?
33
+ end
34
+ valid
30
35
  end
31
36
 
32
37
  def intercom_settings
@@ -1,3 +1,3 @@
1
1
  module IntercomRails
2
- VERSION = "0.2.27"
2
+ VERSION = "0.2.28"
3
3
  end
@@ -15,6 +15,7 @@ module Intercom
15
15
  @app_id = app_id
16
16
  @api_secret = api_secret
17
17
  @api_key = api_key
18
+ @include_for_logged_out_users = false
18
19
 
19
20
  introduction = <<-desc
20
21
  Intercom will automatically insert its javascript before the closing '</body>'
@@ -4,8 +4,8 @@ IntercomRails.config do |config|
4
4
  config.app_id = ENV["INTERCOM_APP_ID"] || "<%= @app_id %>"
5
5
 
6
6
  # == Intercom secret key
7
- # This is required to enable secure mode, you can find it on your Intercom
8
- # "security" configuration page.
7
+ # This is required to enable secure mode, you can find it on your Setup
8
+ # guide in the "Secure Mode" step.
9
9
  #
10
10
  <%- if @api_secret -%>
11
11
  config.api_secret = "<%= @api_secret %>"
@@ -38,6 +38,15 @@ IntercomRails.config do |config|
38
38
  # config.user.current = Proc.new { current_user }
39
39
  <%- end -%>
40
40
 
41
+ # == Include for logged out Users
42
+ # If set to true, include the Intercom messenger on all pages, regardless of whether
43
+ # The user model class (set below) is present. Only available for Apps on the Acquire plan.
44
+ <%- if @include_for_logged_out_users -%>
45
+ config.include_for_logged_out_users = true
46
+ <%- else -%>
47
+ # config.include_for_logged_out_users = true
48
+ <%- end -%>
49
+
41
50
  # == User model class
42
51
  # The class which defines your user model
43
52
  #
@@ -95,14 +104,11 @@ IntercomRails.config do |config|
95
104
  # config.company.monthly_spend = Proc.new { |current_company| current_company.plan.price }
96
105
  # config.company.monthly_spend = Proc.new { |current_company| (current_company.plan.price - current_company.subscription.discount) }
97
106
 
98
- # == Inbox Style
99
- # This enables the Intercom inbox which allows your users to read their
100
- # past conversations with your app, as well as start new ones. It is
101
- # disabled by default.
102
- # * :default shows a small tab with a question mark icon on it
103
- # * :custom attaches the inbox open event to an anchor with an
104
- # id of #Intercom.
107
+ # == Custom Style
108
+ # By default, Intercom will add a button that opens the messenger to
109
+ # the page. If you'd like to use your own link to open the messenger,
110
+ # uncomment this line and clicks on any element with id 'Intercom' will
111
+ # open the messenger.
105
112
  #
106
- # config.inbox.style = :default
107
113
  # config.inbox.style = :custom
108
114
  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.27
4
+ version: 0.2.28
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: 2014-10-28 00:00:00.000000000 Z
13
+ date: 2015-04-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -207,3 +207,4 @@ signing_key:
207
207
  specification_version: 4
208
208
  summary: Rails helper for emitting javascript script tags for Intercom
209
209
  test_files: []
210
+ has_rdoc: