class Preact::Configuration
Attributes
account_builder[RW]
autolog[RW]
autolog_ignored_actions[RW]
base_path[RW]
code[RW]
Preact
credentials
current_account_getter[RW]
current_user_getter[RW]
disabled[RW]
Default option settings
host[RW]
inject_javascript[RW]
logger[RW]
Logger settings
logging_mode[RW]
person_builder[RW]
request_timeout[RW]
scheme[RW]
The URL of the API server
secret[RW]
sidekiq_queue[RW]
Public Class Methods
new(defaults={})
click to toggle source
# File lib/preact/configuration.rb, line 32 def initialize(defaults={}) @scheme = 'https' @host = 'api.preact.io' @base_path = '/api/v2' @autolog = false @autolog_ignored_actions = [] @disabled = false @person_builder = nil @logging_mode = nil @sidekiq_queue = :default @request_timeout = 5 @inject_javascript = false @current_user_getter = :current_user @current_account_getter = nil @user_agent = "ruby-preact:#{Preact::VERSION}" if defaults && defaults.is_a?(Hash) defaults.each do |k,v| instance_variable_set("@#{k}", v) unless v.nil? end end end
Public Instance Methods
autolog_enabled?()
click to toggle source
# File lib/preact/configuration.rb, line 85 def autolog_enabled? autolog == true end
autolog_should_log?(controller, action)
click to toggle source
# File lib/preact/configuration.rb, line 89 def autolog_should_log?(controller, action) # check to see if we're ignoring this action if autolog_ignored_actions && autolog_ignored_actions.is_a?(Array) # check to see if we've ignored this specific action return false if autolog_ignored_actions.include?("#{controller}##{action}") # check to see if we've ignored all actions from this controller return false if autolog_ignored_actions.include?("#{controller}#*") end true end
base_uri()
click to toggle source
# File lib/preact/configuration.rb, line 77 def base_uri "#{scheme}://#{code}:#{secret}@#{host}#{base_path}" end
convert_to_account(account)
click to toggle source
# File lib/preact/configuration.rb, line 146 def convert_to_account(account) return nil if account.nil? if account_builder if account_builder.respond_to?(:call) hash = account_builder.call(account) else raise "account_builder must be callable" end elsif account.respond_to?(:to_preact) hash = account.to_preact elsif account.is_a? Hash hash = account else hash = default_account_to_preact_hash(account) end hash end
convert_to_person(user)
click to toggle source
# File lib/preact/configuration.rb, line 126 def convert_to_person(user) return nil if user.nil? if person_builder if person_builder.respond_to?(:call) hash = person_builder.call(user) else raise "person_builder must be callable" end elsif user.respond_to?(:to_preact) hash = user.to_preact elsif user.is_a? Hash hash = user else hash = default_user_to_preact_hash(user) end hash end
disabled?()
click to toggle source
# File lib/preact/configuration.rb, line 69 def disabled? disabled == true end
enabled?()
click to toggle source
# File lib/preact/configuration.rb, line 65 def enabled? !disabled end
get_current_account(target)
click to toggle source
# File lib/preact/configuration.rb, line 115 def get_current_account(target) return nil if current_user_getter.nil? if current_account_getter.to_s.starts_with?("@") # instance var target.instance_variable_get(current_account_getter) rescue nil else target.send(current_account_getter) rescue nil end end
get_current_user(target)
click to toggle source
# File lib/preact/configuration.rb, line 104 def get_current_user(target) return nil if current_user_getter.nil? if current_user_getter.to_s.starts_with?("@") # instance var target.instance_variable_get(current_user_getter) rescue nil else target.send(current_user_getter) rescue nil end end
inject_javascript?()
click to toggle source
# File lib/preact/configuration.rb, line 81 def inject_javascript? inject_javascript == true end
prepare_account_hash(account)
click to toggle source
# File lib/preact/configuration.rb, line 187 def prepare_account_hash(account) # id for account should actually be passed as external_identifier # make that correction here before sending (LEGACY SUPPORT) external_id = account[:external_identifier] || account["external_identifier"] if account_id = account[:id] || account["id"] if external_id.nil? account[:external_identifier] = account_id account.delete(:id) account.delete("id") end end account end
prepare_event_hash(event)
click to toggle source
# File lib/preact/configuration.rb, line 202 def prepare_event_hash(event) event[:source] = Preact.configuration.user_agent event end
prepare_person_hash(person)
click to toggle source
# File lib/preact/configuration.rb, line 166 def prepare_person_hash(person) return nil if person.nil? if external_id = person[:external_identifier] || person["external_identifier"] person[:uid] ||= external_id person.delete(:external_identifier) person.delete("external_identifier") end if created_at = person[:created_at] || person["created_at"] if created_at.respond_to?(:to_i) created_at = created_at.to_i end person[:created_at] = created_at person.delete("created_at") end person end
user_agent()
click to toggle source
# File lib/preact/configuration.rb, line 73 def user_agent @user_agent end
valid?()
click to toggle source
# File lib/preact/configuration.rb, line 60 def valid? # we require both the API keys code && secret end
Private Instance Methods
default_account_to_preact_hash(account)
click to toggle source
# File lib/preact/configuration.rb, line 218 def default_account_to_preact_hash(account) { :id => account.id, :name => (account.name if account.respond_to?(:name)) } end
default_user_to_preact_hash(user)
click to toggle source
# File lib/preact/configuration.rb, line 209 def default_user_to_preact_hash(user) { :name => user.name, :email => user.email, :uid => user.id, :created_at => (user.created_at.to_i if user.respond_to?(:created_at)) } end