module Spritz
Public Class Methods
get_attribute_string(options)
click to toggle source
# File lib/spritz_for_jekyll/commons/spritz.rb, line 26 def self.get_attribute_string(options) attributes = "" options.each do |k, v| next unless k and v attributes += " " unless attributes.empty? attributes += "#{k} = '#{v}'" end attributes end
redicle_tag(options = {})
click to toggle source
# File lib/spritz_for_jekyll/commons/spritz.rb, line 19 def self.redicle_tag(options = {}) # Set default options options["data-role"] = "spritzer" attributes = Spritz::get_attribute_string(options) "<p><div #{attributes}></div></p>" end
sanitize_options(config)
click to toggle source
# File lib/spritz_for_jekyll/commons/spritz.rb, line 36 def self.sanitize_options(config) return unless config["spritz"] && config["spritz"]["url"] if config[config["spritz"]["url"]] config["spritz"]["url"] = config[config["spritz"]["url"]] end unless /https?:\/\// =~ config["spritz"]["url"] config["spritz"]["url"] = "http://" + config["spritz"]["url"] Jekyll.logger.warn "Spritz for Jekyll:", " URL does not contain protocol. We will use HTTP by default." end if /\/$/ =~ config["spritz"]["url"] config["spritz"]["url"].gsub!(/\/+$/, "") Jekyll.logger.warn "Spritz for Jekyll:", "URL ends with a forward slash. We will remove it for you." end end
script_tag(client_id, base_url, login_success)
click to toggle source
# File lib/spritz_for_jekyll/commons/spritz.rb, line 2 def self.script_tag(client_id, base_url, login_success) output = <<-HEREDOC <script> window.jQuery || document.write('<script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\">\\x3C/script>'); var SpritzSettings = { clientId: \"#{client_id}\", redirectUri: \"#{base_url}/#{login_success}\" }; if (!(/^https?:\\/\\//i.test(SpritzSettings.redirectUri))) { SpritzSettings.redirectUri = window.location.protocol + "//" + window.location.host + SpritzSettings.redirectUri; } </script> <script id=\"spritzjs\" type=\"text/javascript\" src=\"//sdk.spritzinc.com/js/1.0/js/spritz.min.js\"></script> HEREDOC output.gsub(/^\s*/, "") end
Private Instance Methods
get_options(config)
click to toggle source
# File lib/spritz_for_jekyll/commons/spritz.rb, line 55 def get_options(config) @options = {} Spritz::sanitize_options(config) @options[:client_id] = config["spritz"]["client_id"] @options[:url] = config["spritz"]["url"] @options[:login_success] = config["spritz"]["login_success_name"] @options[:selector] = config["spritz"]["selector"] @options[:automode] = config["spritz"]["auto_mode"] # Redicle options @options[:redicle] = {} return unless config["spritz"]["redicle"] @options[:redicle][:redicleWidth] = config["spritz"]["redicle"]["width"] @options[:redicle][:redicleHeight] = config["spritz"]["redicle"]["height"] @options[:redicle][:defaultSpeed] = config["spritz"]["redicle"]["default_speed"] @options[:redicle][:speedItems] = config["spritz"]["redicle"]["speed_items"] @options[:redicle][:controlButtons] = config["spritz"]["redicle"]["control_buttons"] @options[:redicle][:controlTitles] = config["spritz"]["redicle"]["control_titles"] end
warn_and_set_default()
click to toggle source
# File lib/spritz_for_jekyll/commons/spritz.rb, line 76 def warn_and_set_default if @options[:client_id].nil? Jekyll.logger.warn "Spritz for Jekyll:", "You need a client ID!" @options[:client_id] = "12345" end if @options[:url].nil? Jekyll.logger.warn "Spritz for Jekyll:", "URL not set. Will guess on client side." end if @options[:login_success].nil? @options[:login_success] = "login_success.html" end if @options[:automode].nil? @options[:automode] = true end unless @options[:redicle].nil? @options[:redicle].delete_if { |_,v| v.nil? } end end