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