Class: Datastar::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/datastar/configuration.rb

Overview

Datastar configuration You’d normally do this on app initialization For example in a Rails initializer

Examples:


Datastar.configure do |config|
  config.on_error do |error|
    Sentry.notify(error)
  end
end

Constant Summary collapse

RACK_FINALIZE =
->(_view_context, response) { response.finish }
DEFAULT_HEARTBEAT =
3

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



40
41
42
43
44
45
46
47
48
49
# File 'lib/datastar/configuration.rb', line 40

def initialize
  @executor = ThreadExecutor.new
  @finalize = RACK_FINALIZE
  @heartbeat = DEFAULT_HEARTBEAT
  @logger = Logger.new(STDOUT)
  @error_callback = proc do |e|
    @logger.error("#{e.class} (#{e.message}):\n#{e.backtrace.join("\n")}")
  end
  @compression = CompressionConfig.build(false)
end

Instance Attribute Details

#compressionObject

Returns the value of attribute compression.



38
39
40
# File 'lib/datastar/configuration.rb', line 38

def compression
  @compression
end

#error_callbackObject

Returns the value of attribute error_callback.



37
38
39
# File 'lib/datastar/configuration.rb', line 37

def error_callback
  @error_callback
end

#executorObject

Returns the value of attribute executor.



37
38
39
# File 'lib/datastar/configuration.rb', line 37

def executor
  @executor
end

#finalizeObject

Returns the value of attribute finalize.



37
38
39
# File 'lib/datastar/configuration.rb', line 37

def finalize
  @finalize
end

#heartbeatObject

Returns the value of attribute heartbeat.



37
38
39
# File 'lib/datastar/configuration.rb', line 37

def heartbeat
  @heartbeat
end

#loggerObject

Returns the value of attribute logger.



37
38
39
# File 'lib/datastar/configuration.rb', line 37

def logger
  @logger
end

Instance Method Details

#on_error(callable = nil, &block) ⇒ Object



55
56
57
58
# File 'lib/datastar/configuration.rb', line 55

def on_error(callable = nil, &block)
  @error_callback = callable || block
  self
end