class SimpleAnalyticsRails::JavascriptScript
This outputs the HTML script with the configuration option added to the <script> tag.
Public Instance Methods
body_html()
click to toggle source
# File lib/simple_analytics_rails/javascript_script.rb, line 11 def body_html '<noscript><img src="https://' + configuration.noscript_domain + '/noscript.gif" alt="" referrerpolicy="no-referrer-when-downgrade" /></noscript>' end
head_html()
click to toggle source
# File lib/simple_analytics_rails/javascript_script.rb, line 4 def head_html [ sa_event_script, script_tag ].join end
Private Instance Methods
configuration()
click to toggle source
# File lib/simple_analytics_rails/javascript_script.rb, line 48 def configuration @configuration ||= SimpleAnalyticsRails.configuration end
configuration_to_html_attributes()
click to toggle source
# File lib/simple_analytics_rails/javascript_script.rb, line 42 def configuration_to_html_attributes configuration.to_h.collect do |key, value| "data-#{key.to_s.tr("_", "-")}=\"#{CGI.escapeHTML(value)}\"" end.join(" ") end
onload_callback()
click to toggle source
# File lib/simple_analytics_rails/javascript_script.rb, line 36 def onload_callback if configuration.onload_callback? "onload=\"#{configuration.onload_callback}\"" end end
sa_event_script()
click to toggle source
# File lib/simple_analytics_rails/javascript_script.rb, line 17 def sa_event_script [ "<script>", "window.#{configuration.sa_global}=window.#{configuration.sa_global}||function(){a=[].slice.call(arguments);#{configuration.sa_global}.q?#{configuration.sa_global}.q.push(a):#{configuration.sa_global}.q=[a]};", "</script>" ].join end
script_tag()
click to toggle source
# File lib/simple_analytics_rails/javascript_script.rb, line 25 def script_tag [ "<script", configuration_to_html_attributes, onload_callback, 'async defer src="https://' + configuration.script_domain + '/latest.js"></script>' ].compact .reject(&:blank?) .join(" ") end