sentry-raven 2.7.2 → 2.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/.gitmodules +0 -3
- data/.rubocop.yml +2 -2
- data/.travis.yml +7 -7
- data/Gemfile +5 -5
- data/README.md +10 -6
- data/Rakefile +1 -0
- data/changelog.md +80 -0
- data/lib/raven/base.rb +2 -1
- data/lib/raven/breadcrumbs/logger.rb +1 -1
- data/lib/raven/client.rb +30 -9
- data/lib/raven/configuration.rb +51 -13
- data/lib/raven/event.rb +3 -23
- data/lib/raven/instance.rb +16 -4
- data/lib/raven/integrations/delayed_job.rb +2 -2
- data/lib/raven/integrations/rails/active_job.rb +11 -5
- data/lib/raven/integrations/rails/controller_transaction.rb +1 -1
- data/lib/raven/processor/utf8conversion.rb +1 -1
- data/lib/raven/transports/http.rb +4 -2
- data/lib/raven/transports/stdout.rb +20 -0
- data/lib/raven/utils/exception_cause_chain.rb +19 -0
- data/lib/raven/version.rb +1 -1
- data/sentry-raven.gemspec +1 -2
- metadata +6 -21
- data/docs/Makefile +0 -130
- data/docs/breadcrumbs.rst +0 -51
- data/docs/conf.py +0 -228
- data/docs/config.rst +0 -260
- data/docs/context.rst +0 -141
- data/docs/index.rst +0 -113
- data/docs/install.rst +0 -40
- data/docs/integrations/heroku.rst +0 -11
- data/docs/integrations/index.rst +0 -59
- data/docs/integrations/puma.rst +0 -30
- data/docs/integrations/rack.rst +0 -27
- data/docs/integrations/rails.rst +0 -84
- data/docs/make.bat +0 -155
- data/docs/processors.rst +0 -124
- data/docs/sentry-doc-config.json +0 -31
- data/docs/usage.rst +0 -176
@@ -9,7 +9,11 @@ module Raven
|
|
9
9
|
def self.included(base)
|
10
10
|
base.class_eval do
|
11
11
|
around_perform do |job, block|
|
12
|
-
|
12
|
+
if already_supported_by_specific_integration?(job)
|
13
|
+
block.call
|
14
|
+
else
|
15
|
+
capture_and_reraise_with_sentry(job, block)
|
16
|
+
end
|
13
17
|
end
|
14
18
|
end
|
15
19
|
end
|
@@ -18,9 +22,7 @@ module Raven
|
|
18
22
|
block.call
|
19
23
|
rescue Exception => exception # rubocop:disable Lint/RescueException
|
20
24
|
return if rescue_with_handler(exception)
|
21
|
-
|
22
|
-
Raven.capture_exception(exception, :extra => raven_context(job))
|
23
|
-
end
|
25
|
+
Raven.capture_exception(exception, :extra => raven_context(job))
|
24
26
|
raise exception
|
25
27
|
ensure
|
26
28
|
Context.clear!
|
@@ -28,7 +30,11 @@ module Raven
|
|
28
30
|
end
|
29
31
|
|
30
32
|
def already_supported_by_specific_integration?(job)
|
31
|
-
|
33
|
+
if ::Rails.version.to_f < 5.0
|
34
|
+
ALREADY_SUPPORTED_SENTRY_ADAPTERS.include?(job.class.queue_adapter.to_s)
|
35
|
+
else
|
36
|
+
ALREADY_SUPPORTED_SENTRY_ADAPTERS.include?(job.class.queue_adapter.class.to_s)
|
37
|
+
end
|
32
38
|
end
|
33
39
|
|
34
40
|
def raven_context(job)
|
@@ -2,7 +2,7 @@ module Raven
|
|
2
2
|
class Rails
|
3
3
|
module ControllerTransaction
|
4
4
|
def self.included(base)
|
5
|
-
base.
|
5
|
+
base.prepend_around_action do |controller, block|
|
6
6
|
Raven.context.transaction.push "#{controller.class}##{controller.action_name}"
|
7
7
|
block.call
|
8
8
|
Raven.context.transaction.pop
|
@@ -39,7 +39,7 @@ module Raven
|
|
39
39
|
# https://github.com/rspec/rspec-support/blob/f0af3fd74a94ff7bb700f6ba06dbdc67bba17fbf/lib/rspec/support/encoded_string.rb#L120-L139
|
40
40
|
if String.method_defined?(:scrub) # 2.1+
|
41
41
|
def remove_invalid_bytes(string)
|
42
|
-
string.scrub
|
42
|
+
string.scrub(REPLACE)
|
43
43
|
end
|
44
44
|
else
|
45
45
|
def remove_invalid_bytes(string)
|
@@ -39,7 +39,9 @@ module Raven
|
|
39
39
|
def set_conn
|
40
40
|
configuration.logger.debug "Raven HTTP Transport connecting to #{configuration.server}"
|
41
41
|
|
42
|
-
|
42
|
+
proxy = configuration.public_send(:proxy)
|
43
|
+
|
44
|
+
Faraday.new(configuration.server, :ssl => ssl_configuration, :proxy => proxy) do |builder|
|
43
45
|
configuration.faraday_builder.call(builder) if configuration.faraday_builder
|
44
46
|
builder.response :raise_error
|
45
47
|
builder.options.merge! faraday_opts
|
@@ -50,7 +52,7 @@ module Raven
|
|
50
52
|
|
51
53
|
# TODO: deprecate and replace where possible w/Faraday Builder
|
52
54
|
def faraday_opts
|
53
|
-
[:
|
55
|
+
[:timeout, :open_timeout].each_with_object({}) do |opt, memo|
|
54
56
|
memo[opt] = configuration.public_send(opt) if configuration.public_send(opt)
|
55
57
|
end
|
56
58
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Raven
|
2
|
+
module Transports
|
3
|
+
class Stdout < Transport
|
4
|
+
attr_accessor :events
|
5
|
+
|
6
|
+
def initialize(*)
|
7
|
+
super
|
8
|
+
end
|
9
|
+
|
10
|
+
def send_event(_auth_header, data, _options = {})
|
11
|
+
unless configuration.sending_allowed?
|
12
|
+
logger.debug("Event not sent: #{configuration.error_messages}")
|
13
|
+
end
|
14
|
+
|
15
|
+
$stdout.puts data
|
16
|
+
$stdout.flush
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Raven
|
2
|
+
module Utils
|
3
|
+
module ExceptionCauseChain
|
4
|
+
def self.exception_to_array(exception)
|
5
|
+
if exception.respond_to?(:cause) && exception.cause
|
6
|
+
exceptions = [exception]
|
7
|
+
while exception.cause
|
8
|
+
exception = exception.cause
|
9
|
+
break if exceptions.any? { |e| e.object_id == exception.object_id }
|
10
|
+
exceptions << exception
|
11
|
+
end
|
12
|
+
exceptions
|
13
|
+
else
|
14
|
+
[exception]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/raven/version.rb
CHANGED
data/sentry-raven.gemspec
CHANGED
@@ -5,14 +5,13 @@ Gem::Specification.new do |gem|
|
|
5
5
|
gem.name = "sentry-raven"
|
6
6
|
gem.authors = ["Sentry Team"]
|
7
7
|
gem.description = gem.summary = "A gem that provides a client interface for the Sentry error logger"
|
8
|
-
gem.email = "
|
8
|
+
gem.email = "accounts@sentry.io"
|
9
9
|
gem.license = 'Apache-2.0'
|
10
10
|
gem.homepage = "https://github.com/getsentry/raven-ruby"
|
11
11
|
|
12
12
|
gem.version = Raven::VERSION
|
13
13
|
gem.platform = Gem::Platform::RUBY
|
14
14
|
gem.required_ruby_version = '>= 1.9.0'
|
15
|
-
gem.has_rdoc = true
|
16
15
|
gem.extra_rdoc_files = ["README.md", "LICENSE"]
|
17
16
|
gem.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples)'`.split("\n")
|
18
17
|
gem.bindir = "exe"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sentry-raven
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sentry Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -31,7 +31,7 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '1.0'
|
33
33
|
description: A gem that provides a client interface for the Sentry error logger
|
34
|
-
email:
|
34
|
+
email: accounts@sentry.io
|
35
35
|
executables:
|
36
36
|
- raven
|
37
37
|
extensions: []
|
@@ -49,22 +49,6 @@ files:
|
|
49
49
|
- README.md
|
50
50
|
- Rakefile
|
51
51
|
- changelog.md
|
52
|
-
- docs/Makefile
|
53
|
-
- docs/breadcrumbs.rst
|
54
|
-
- docs/conf.py
|
55
|
-
- docs/config.rst
|
56
|
-
- docs/context.rst
|
57
|
-
- docs/index.rst
|
58
|
-
- docs/install.rst
|
59
|
-
- docs/integrations/heroku.rst
|
60
|
-
- docs/integrations/index.rst
|
61
|
-
- docs/integrations/puma.rst
|
62
|
-
- docs/integrations/rack.rst
|
63
|
-
- docs/integrations/rails.rst
|
64
|
-
- docs/make.bat
|
65
|
-
- docs/processors.rst
|
66
|
-
- docs/sentry-doc-config.json
|
67
|
-
- docs/usage.rst
|
68
52
|
- exe/raven
|
69
53
|
- lib/raven.rb
|
70
54
|
- lib/raven/backtrace.rb
|
@@ -110,7 +94,9 @@ files:
|
|
110
94
|
- lib/raven/transports.rb
|
111
95
|
- lib/raven/transports/dummy.rb
|
112
96
|
- lib/raven/transports/http.rb
|
97
|
+
- lib/raven/transports/stdout.rb
|
113
98
|
- lib/raven/utils/deep_merge.rb
|
99
|
+
- lib/raven/utils/exception_cause_chain.rb
|
114
100
|
- lib/raven/utils/real_ip.rb
|
115
101
|
- lib/raven/version.rb
|
116
102
|
- lib/sentry-raven-without-integrations.rb
|
@@ -135,8 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
121
|
- !ruby/object:Gem::Version
|
136
122
|
version: '0'
|
137
123
|
requirements: []
|
138
|
-
|
139
|
-
rubygems_version: 2.7.3
|
124
|
+
rubygems_version: 3.0.3
|
140
125
|
signing_key:
|
141
126
|
specification_version: 4
|
142
127
|
summary: A gem that provides a client interface for the Sentry error logger
|
data/docs/Makefile
DELETED
@@ -1,130 +0,0 @@
|
|
1
|
-
# Makefile for Sphinx documentation
|
2
|
-
#
|
3
|
-
|
4
|
-
# You can set these variables from the command line.
|
5
|
-
SPHINXOPTS =
|
6
|
-
SPHINXBUILD = sphinx-build
|
7
|
-
PAPER =
|
8
|
-
BUILDDIR = ./_build
|
9
|
-
|
10
|
-
# Internal variables.
|
11
|
-
PAPEROPT_a4 = -D latex_paper_size=a4
|
12
|
-
PAPEROPT_letter = -D latex_paper_size=letter
|
13
|
-
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
14
|
-
|
15
|
-
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
|
16
|
-
|
17
|
-
help:
|
18
|
-
@echo "Please use \`make <target>' where <target> is one of"
|
19
|
-
@echo " html to make standalone HTML files"
|
20
|
-
@echo " dirhtml to make HTML files named index.html in directories"
|
21
|
-
@echo " singlehtml to make a single large HTML file"
|
22
|
-
@echo " pickle to make pickle files"
|
23
|
-
@echo " json to make JSON files"
|
24
|
-
@echo " htmlhelp to make HTML files and a HTML help project"
|
25
|
-
@echo " qthelp to make HTML files and a qthelp project"
|
26
|
-
@echo " devhelp to make HTML files and a Devhelp project"
|
27
|
-
@echo " epub to make an epub"
|
28
|
-
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
29
|
-
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
30
|
-
@echo " text to make text files"
|
31
|
-
@echo " man to make manual pages"
|
32
|
-
@echo " changes to make an overview of all changed/added/deprecated items"
|
33
|
-
@echo " linkcheck to check all external links for integrity"
|
34
|
-
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
35
|
-
|
36
|
-
clean:
|
37
|
-
-rm -rf $(BUILDDIR)/*
|
38
|
-
|
39
|
-
html:
|
40
|
-
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
41
|
-
@echo
|
42
|
-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
43
|
-
|
44
|
-
dirhtml:
|
45
|
-
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
46
|
-
@echo
|
47
|
-
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
48
|
-
|
49
|
-
singlehtml:
|
50
|
-
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
51
|
-
@echo
|
52
|
-
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
53
|
-
|
54
|
-
pickle:
|
55
|
-
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
56
|
-
@echo
|
57
|
-
@echo "Build finished; now you can process the pickle files."
|
58
|
-
|
59
|
-
json:
|
60
|
-
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
61
|
-
@echo
|
62
|
-
@echo "Build finished; now you can process the JSON files."
|
63
|
-
|
64
|
-
htmlhelp:
|
65
|
-
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
66
|
-
@echo
|
67
|
-
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
68
|
-
".hhp project file in $(BUILDDIR)/htmlhelp."
|
69
|
-
|
70
|
-
qthelp:
|
71
|
-
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
72
|
-
@echo
|
73
|
-
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
74
|
-
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
75
|
-
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Sentry.qhcp"
|
76
|
-
@echo "To view the help file:"
|
77
|
-
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Sentry.qhc"
|
78
|
-
|
79
|
-
devhelp:
|
80
|
-
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
81
|
-
@echo
|
82
|
-
@echo "Build finished."
|
83
|
-
@echo "To view the help file:"
|
84
|
-
@echo "# mkdir -p $$HOME/.local/share/devhelp/Sentry"
|
85
|
-
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Sentry"
|
86
|
-
@echo "# devhelp"
|
87
|
-
|
88
|
-
epub:
|
89
|
-
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
90
|
-
@echo
|
91
|
-
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
92
|
-
|
93
|
-
latex:
|
94
|
-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
95
|
-
@echo
|
96
|
-
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
97
|
-
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
98
|
-
"(use \`make latexpdf' here to do that automatically)."
|
99
|
-
|
100
|
-
latexpdf:
|
101
|
-
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
102
|
-
@echo "Running LaTeX files through pdflatex..."
|
103
|
-
make -C $(BUILDDIR)/latex all-pdf
|
104
|
-
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
105
|
-
|
106
|
-
text:
|
107
|
-
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
108
|
-
@echo
|
109
|
-
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
110
|
-
|
111
|
-
man:
|
112
|
-
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
113
|
-
@echo
|
114
|
-
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
115
|
-
|
116
|
-
changes:
|
117
|
-
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
118
|
-
@echo
|
119
|
-
@echo "The overview file is in $(BUILDDIR)/changes."
|
120
|
-
|
121
|
-
linkcheck:
|
122
|
-
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
123
|
-
@echo
|
124
|
-
@echo "Link check complete; look for any errors in the above output " \
|
125
|
-
"or in $(BUILDDIR)/linkcheck/output.txt."
|
126
|
-
|
127
|
-
doctest:
|
128
|
-
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
129
|
-
@echo "Testing of doctests in the sources finished, look at the " \
|
130
|
-
"results in $(BUILDDIR)/doctest/output.txt."
|
data/docs/breadcrumbs.rst
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
.. versionadded:: 1.2
|
2
|
-
|
3
|
-
Breadcrumbs
|
4
|
-
===========
|
5
|
-
|
6
|
-
Breadcrumbs are a trail of events which happened prior to an issue. Often, these events are very similar to traditional logs, but Breadcrumbs also can record rich, structured data.
|
7
|
-
|
8
|
-
.. sourcecode:: ruby
|
9
|
-
|
10
|
-
Raven.breadcrumbs.record do |crumb|
|
11
|
-
crumb.data = data
|
12
|
-
crumb.category = name
|
13
|
-
# ...
|
14
|
-
end
|
15
|
-
|
16
|
-
The following attributes are available:
|
17
|
-
|
18
|
-
* ``category``: A String to label the event under. This will usually be the same as a logger name, and will let you more easily understand the area an event took place, such as "auth".
|
19
|
-
* ``data``: A Hash of metadata around the event. This is often used instead of message, but may also be used in addition.
|
20
|
-
* ``level``: The level may be any of ``error``, ``warn``, ``info``, or ``debug``.
|
21
|
-
* ``message``: A string describing the event. The most common vector, often used as a drop-in for a traditional log message.
|
22
|
-
* ``timestamp``: A Unix timestamp (seconds past epoch)
|
23
|
-
|
24
|
-
Appropriate places to inject Breadcrumbs may be places like your HTTP library:
|
25
|
-
|
26
|
-
.. sourcecode:: ruby
|
27
|
-
|
28
|
-
# Instrumenting Faraday with a middleware:
|
29
|
-
|
30
|
-
class RavenFaradayMiddleware
|
31
|
-
def call
|
32
|
-
# Add a breadcrumb every time we complete an HTTP request
|
33
|
-
@app.call(request_env).on_complete do |response_env|
|
34
|
-
Raven.breadcrumbs.record do |crumb|
|
35
|
-
crumb.data = { response_env: response_env }
|
36
|
-
crumb.category = "faraday"
|
37
|
-
crumb.timestamp = Time.now.to_i
|
38
|
-
crumb.message = "Completed request to #{request_env[:url]}"
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
.. versionadded:: 2.6
|
45
|
-
|
46
|
-
The breadcrumb buffer is publicly accessible if you wish to manipulate it beyond
|
47
|
-
what is possible with the ``record`` method.
|
48
|
-
|
49
|
-
.. sourcecode:: ruby
|
50
|
-
|
51
|
-
Raven.breadcrumbs.buffer # Array of breadcrumbs
|
data/docs/conf.py
DELETED
@@ -1,228 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
#
|
3
|
-
# Sentry documentation build configuration file, created by
|
4
|
-
# sphinx-quickstart on Wed Oct 20 16:21:42 2010.
|
5
|
-
#
|
6
|
-
# This file is execfile()d with the current directory set to its containing dir.
|
7
|
-
#
|
8
|
-
# Note that not all possible configuration values are present in this
|
9
|
-
# autogenerated file.
|
10
|
-
#
|
11
|
-
# All configuration values have a default; values that are commented out
|
12
|
-
# serve to show the default.
|
13
|
-
|
14
|
-
import os
|
15
|
-
import sys
|
16
|
-
import datetime
|
17
|
-
|
18
|
-
# If extensions (or modules to document with autodoc) are in another directory,
|
19
|
-
# add these directories to sys.path here. If the directory is relative to the
|
20
|
-
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
21
|
-
#sys.path.insert(0, os.path.abspath('.'))
|
22
|
-
|
23
|
-
# -- General configuration -----------------------------------------------------
|
24
|
-
|
25
|
-
# If your documentation needs a minimal Sphinx version, state it here.
|
26
|
-
#needs_sphinx = '1.0'
|
27
|
-
|
28
|
-
# Add any Sphinx extension module names here, as strings. They can be extensions
|
29
|
-
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
30
|
-
#extensions = ['sphinxtogithub']
|
31
|
-
extensions = ['sphinx.ext.intersphinx']
|
32
|
-
|
33
|
-
# Add any paths that contain templates here, relative to this directory.
|
34
|
-
templates_path = ['_templates']
|
35
|
-
|
36
|
-
# The suffix of source filenames.
|
37
|
-
source_suffix = '.rst'
|
38
|
-
|
39
|
-
# The encoding of source files.
|
40
|
-
#source_encoding = 'utf-8-sig'
|
41
|
-
|
42
|
-
# The master toctree document.
|
43
|
-
master_doc = 'index'
|
44
|
-
|
45
|
-
# General information about the project.
|
46
|
-
project = u'Raven'
|
47
|
-
copyright = u'%s, Functional Software Inc.' % datetime.datetime.today().year
|
48
|
-
|
49
|
-
# The version info for the project you're documenting, acts as replacement for
|
50
|
-
# |version| and |release|, also used in various other places throughout the
|
51
|
-
# built documents.
|
52
|
-
#
|
53
|
-
# The short X.Y version.
|
54
|
-
|
55
|
-
version = __import__('pkg_resources').get_distribution('raven').version
|
56
|
-
# The full version, including alpha/beta/rc tags.
|
57
|
-
release = version
|
58
|
-
|
59
|
-
# The language for content autogenerated by Sphinx. Refer to documentation
|
60
|
-
# for a list of supported languages.
|
61
|
-
#language = None
|
62
|
-
|
63
|
-
# There are two options for replacing |today|: either, you set today to some
|
64
|
-
# non-false value, then it is used:
|
65
|
-
#today = ''
|
66
|
-
# Else, today_fmt is used as the format for a strftime call.
|
67
|
-
#today_fmt = '%B %d, %Y'
|
68
|
-
|
69
|
-
# List of patterns, relative to source directory, that match files and
|
70
|
-
# directories to ignore when looking for source files.
|
71
|
-
exclude_patterns = ['_build']
|
72
|
-
|
73
|
-
# The reST default role (used for this markup: `text`) to use for all documents.
|
74
|
-
#default_role = None
|
75
|
-
|
76
|
-
# If true, '()' will be appended to :func: etc. cross-reference text.
|
77
|
-
#add_function_parentheses = True
|
78
|
-
|
79
|
-
# If true, the current module name will be prepended to all description
|
80
|
-
# unit titles (such as .. function::).
|
81
|
-
#add_module_names = True
|
82
|
-
|
83
|
-
# If true, sectionauthor and moduleauthor directives will be shown in the
|
84
|
-
# output. They are ignored by default.
|
85
|
-
#show_authors = False
|
86
|
-
|
87
|
-
# The name of the Pygments (syntax highlighting) style to use.
|
88
|
-
pygments_style = 'sphinx'
|
89
|
-
|
90
|
-
# A list of ignored prefixes for module index sorting.
|
91
|
-
#modindex_common_prefix = []
|
92
|
-
|
93
|
-
intersphinx_mapping = {
|
94
|
-
}
|
95
|
-
|
96
|
-
|
97
|
-
# -- Options for HTML output ---------------------------------------------------
|
98
|
-
|
99
|
-
# The theme to use for HTML and HTML Help pages. See the documentation for
|
100
|
-
# a list of builtin themes.
|
101
|
-
html_theme = 'nature'
|
102
|
-
|
103
|
-
# Theme options are theme-specific and customize the look and feel of a theme
|
104
|
-
# further. For a list of options available for each theme, see the
|
105
|
-
# documentation.
|
106
|
-
# html_theme_options = {}
|
107
|
-
|
108
|
-
# Add any paths that contain custom themes here, relative to this directory.
|
109
|
-
html_theme_path = ['_themes']
|
110
|
-
|
111
|
-
# The name for this set of Sphinx documents. If None, it defaults to
|
112
|
-
# "<project> v<release> documentation".
|
113
|
-
#html_title = None
|
114
|
-
|
115
|
-
# A shorter title for the navigation bar. Default is the same as html_title.
|
116
|
-
#html_short_title = None
|
117
|
-
|
118
|
-
# The name of an image file (relative to this directory) to place at the top
|
119
|
-
# of the sidebar.
|
120
|
-
#html_logo = "_static/logo.png"
|
121
|
-
|
122
|
-
# The name of an image file (within the static path) to use as favicon of the
|
123
|
-
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
124
|
-
# pixels large.
|
125
|
-
#html_favicon = None
|
126
|
-
|
127
|
-
# Add any paths that contain custom static files (such as style sheets) here,
|
128
|
-
# relative to this directory. They are copied after the builtin static files,
|
129
|
-
# so a file named "default.css" will overwrite the builtin "default.css".
|
130
|
-
html_static_path = ['_static']
|
131
|
-
|
132
|
-
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
133
|
-
# using the given strftime format.
|
134
|
-
#html_last_updated_fmt = '%b %d, %Y'
|
135
|
-
|
136
|
-
# If true, SmartyPants will be used to convert quotes and dashes to
|
137
|
-
# typographically correct entities.
|
138
|
-
#html_use_smartypants = True
|
139
|
-
|
140
|
-
# Custom sidebar templates, maps document names to template names.
|
141
|
-
#html_sidebars = {}
|
142
|
-
|
143
|
-
# Additional templates that should be rendered to pages, maps page names to
|
144
|
-
# template names.
|
145
|
-
#html_additional_pages = {}
|
146
|
-
|
147
|
-
# If false, no module index is generated.
|
148
|
-
#html_domain_indices = True
|
149
|
-
|
150
|
-
# If false, no index is generated.
|
151
|
-
#html_use_index = True
|
152
|
-
|
153
|
-
# If true, the index is split into individual pages for each letter.
|
154
|
-
#html_split_index = False
|
155
|
-
|
156
|
-
# If true, links to the reST sources are added to the pages.
|
157
|
-
#html_show_sourcelink = True
|
158
|
-
|
159
|
-
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
160
|
-
#html_show_sphinx = True
|
161
|
-
|
162
|
-
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
163
|
-
#html_show_copyright = True
|
164
|
-
|
165
|
-
# If true, an OpenSearch description file will be output, and all pages will
|
166
|
-
# contain a <link> tag referring to it. The value of this option must be the
|
167
|
-
# base URL from which the finished HTML is served.
|
168
|
-
#html_use_opensearch = ''
|
169
|
-
|
170
|
-
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
171
|
-
#html_file_suffix = None
|
172
|
-
|
173
|
-
# Output file base name for HTML help builder.
|
174
|
-
htmlhelp_basename = 'Ravendoc'
|
175
|
-
|
176
|
-
|
177
|
-
# -- Options for LaTeX output --------------------------------------------------
|
178
|
-
|
179
|
-
# The paper size ('letter' or 'a4').
|
180
|
-
#latex_paper_size = 'letter'
|
181
|
-
|
182
|
-
# The font size ('10pt', '11pt' or '12pt').
|
183
|
-
#latex_font_size = '10pt'
|
184
|
-
|
185
|
-
# Grouping the document tree into LaTeX files. List of tuples
|
186
|
-
# (source start file, target name, title, author, documentclass [howto/manual]).
|
187
|
-
latex_documents = [
|
188
|
-
('index', 'Raven.tex', u'Raven Ruby Documentation',
|
189
|
-
u'David Cramer', 'manual'),
|
190
|
-
]
|
191
|
-
|
192
|
-
# The name of an image file (relative to this directory) to place at the top of
|
193
|
-
# the title page.
|
194
|
-
#latex_logo = None
|
195
|
-
|
196
|
-
# For "manual" documents, if this is true, then toplevel headings are parts,
|
197
|
-
# not chapters.
|
198
|
-
#latex_use_parts = False
|
199
|
-
|
200
|
-
# If true, show page references after internal links.
|
201
|
-
#latex_show_pagerefs = False
|
202
|
-
|
203
|
-
# If true, show URL addresses after external links.
|
204
|
-
#latex_show_urls = False
|
205
|
-
|
206
|
-
# Additional stuff for the LaTeX preamble.
|
207
|
-
#latex_preamble = ''
|
208
|
-
|
209
|
-
# Documents to append as an appendix to all manuals.
|
210
|
-
#latex_appendices = []
|
211
|
-
|
212
|
-
# If false, no module index is generated.
|
213
|
-
#latex_domain_indices = True
|
214
|
-
|
215
|
-
|
216
|
-
# -- Options for manual page output --------------------------------------------
|
217
|
-
|
218
|
-
# One entry per manual page. List of tuples
|
219
|
-
# (source start file, name, description, authors, manual section).
|
220
|
-
man_pages = [
|
221
|
-
('index', 'raven', u'Raven Ruby Documentation',
|
222
|
-
[u'Functional Software Inc.'], 1)
|
223
|
-
]
|
224
|
-
|
225
|
-
if os.environ.get('SENTRY_FEDERATED_DOCS') != '1':
|
226
|
-
sys.path.insert(0, os.path.abspath('_sentryext'))
|
227
|
-
import sentryext
|
228
|
-
sentryext.activate()
|