Module: Trailer

Defined in:
lib/trailer.rb,
lib/trailer/concern.rb,
lib/trailer/railtie.rb,
lib/trailer/utility.rb,
lib/trailer/version.rb,
lib/trailer/recorder.rb,
lib/trailer/storage/null.rb,
lib/trailer/configuration.rb,
lib/trailer/middleware/rack.rb,
lib/trailer/middleware/sidekiq.rb,
lib/trailer/storage/cloud_watch.rb

Defined Under Namespace

Modules: Concern, Middleware, Storage Classes: Configuration, Error, Railtie, Recorder, Utility

Constant Summary collapse

VERSION =
'0.1.5'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject

Returns the value of attribute config.



15
16
17
# File 'lib/trailer.rb', line 15

def config
  @config
end

Class Method Details

.configure {|config| ... } ⇒ Object

Accepts a block for configuring things.

Yields:



18
19
20
21
22
23
24
# File 'lib/trailer.rb', line 18

def configure
  self.config ||= Configuration.new
  yield(config) if block_given?

  # Instantiate a new recorder after configuration.
  @storage = config.storage.new if enabled?
end

.enabled?Boolean

Returns true if tracing is enabled, false otherwise.

Returns:

  • (Boolean)


27
28
29
# File 'lib/trailer.rb', line 27

def enabled?
  config&.enabled == true
end

.newObject

Returns a new recorder instance.

Raises:



32
33
34
35
36
37
38
# File 'lib/trailer.rb', line 32

def new
  return unless enabled?

  raise Trailer::Error, 'Trailer.configure must be run before recording' if @storage.nil?

  Trailer::Recorder.new(@storage)
end