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.



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

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
end

Instance Attribute Details

#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



49
50
51
52
# File 'lib/datastar/configuration.rb', line 49

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