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.
@@ -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
- capture_and_reraise_with_sentry(job, block)
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
- unless already_supported_by_specific_integration?(job)
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
- ALREADY_SUPPORTED_SENTRY_ADAPTERS.include?(job.class.queue_adapter.to_s)
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.around_action do |controller, block|
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!(REPLACE)
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
- Faraday.new(configuration.server, :ssl => ssl_configuration) do |builder|
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
- [:proxy, :timeout, :open_timeout].each_with_object({}) do |opt, memo|
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module Raven
3
3
  # Freezing this constant breaks in 1.9.x
4
- VERSION = "2.7.2" # rubocop:disable Style/MutableConstant
4
+ VERSION = "2.13.0" # rubocop:disable Style/MutableConstant
5
5
  end
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 = "getsentry@googlegroups.com"
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.7.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: 2018-02-02 00:00:00.000000000 Z
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: getsentry@googlegroups.com
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
- rubyforge_project:
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()