class Netfira::WebConnect::Configuration

Attributes

amqp[R]
authenticator[RW]
custom_fields[RW]
db[R]
db_table_prefix[RW]
file_store[RW]
http_notifications[R]
logger[R]
materialize_when_db_changed[RW]
paranoia[RW]
session_lifetime[RW]
time_zone[RW]

Public Class Methods

new(defaults = nil) click to toggle source
# File lib/netfira/web_connect/configuration.rb, line 9
def initialize(defaults = nil)
  defaults.each{ |k, v| __send__ :"#{k}=", v } if defaults
end

Public Instance Methods

amqp=(value) click to toggle source
# File lib/netfira/web_connect/configuration.rb, line 38
def amqp=(value)
  return if value == @amqp
  allowed = %w[amqp amqps]
  uri = URI(value)
  raise "Scheme must be one of [ #{allowed.join ' | '} ]" unless allowed.include? uri.scheme
  @amqp = value
  AMQP.connect!
end
db=(details) click to toggle source
# File lib/netfira/web_connect/configuration.rb, line 19
def db=(details)
  @db = details
  if details
    Model.establish_connection details
    Models.materialize if materialize_when_db_changed && !Netfira::WebConnect.needs_migration?
  end
end
http_notifications=(value) click to toggle source
# File lib/netfira/web_connect/configuration.rb, line 32
def http_notifications=(value)
  allowed = %i[none sync async]
  raise "Valid values for `http_notifications` are #{allowed.map { |x| ":#{x}" }.join ', '}" unless allowed.include? value
  @http_notifications = value
end
logger=(logger) click to toggle source
# File lib/netfira/web_connect/configuration.rb, line 27
def logger=(logger)
  @logger = logger
  Model.logger = logger if logger
end
on_authenticate(proc = nil, &block) click to toggle source
# File lib/netfira/web_connect/configuration.rb, line 13
def on_authenticate(proc = nil, &block)
  authenticator = proc || block
  raise 'Authenticator must take exactly two arguments (shop ID and password)' unless authenticator.arity == 2
  self.authenticator = authenticator
end