sinatra-rack-3-commonlit 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +5 -0
- data/AUTHORS.md +81 -0
- data/CHANGELOG.md +1742 -0
- data/CONTRIBUTING.md +100 -0
- data/Gemfile +68 -0
- data/LICENSE +26 -0
- data/MAINTENANCE.md +29 -0
- data/README.md +3016 -0
- data/Rakefile +216 -0
- data/SECURITY.md +35 -0
- data/VERSION +1 -0
- data/examples/chat.rb +75 -0
- data/examples/lifecycle_events.rb +20 -0
- data/examples/rainbows.conf +3 -0
- data/examples/rainbows.rb +22 -0
- data/examples/simple.rb +5 -0
- data/examples/stream.ru +27 -0
- data/lib/sinatra/base.rb +2111 -0
- data/lib/sinatra/images/404.png +0 -0
- data/lib/sinatra/images/500.png +0 -0
- data/lib/sinatra/indifferent_hash.rb +206 -0
- data/lib/sinatra/main.rb +56 -0
- data/lib/sinatra/show_exceptions.rb +364 -0
- data/lib/sinatra/version.rb +5 -0
- data/lib/sinatra.rb +5 -0
- data/sinatra.gemspec +56 -0
- metadata +202 -0
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
# Contribute
|
2
|
+
|
3
|
+
Want to show Sinatra some love? Help out by contributing!
|
4
|
+
|
5
|
+
## Found a bug?
|
6
|
+
|
7
|
+
Log it in our [issue tracker][ghi] or send a note to the [mailing list][ml].
|
8
|
+
Be sure to include all relevant information, like the versions of Sinatra and
|
9
|
+
Ruby you're using. A [gist](http://gist.github.com/) of the code that caused
|
10
|
+
the issue as well as any error messages are also very helpful.
|
11
|
+
|
12
|
+
## Need help?
|
13
|
+
|
14
|
+
The [Sinatra mailing list][ml] has over 900 subscribers, many of which are happy
|
15
|
+
to help out newbies or talk about potential feature additions. You can also
|
16
|
+
drop by the [#sinatra](irc://chat.freenode.net/#sinatra) channel on
|
17
|
+
[irc.freenode.net](http://freenode.net).
|
18
|
+
|
19
|
+
## Have a patch?
|
20
|
+
|
21
|
+
Bugs and feature requests that include patches are much more likely to
|
22
|
+
get attention. Here are some guidelines that will help ensure your patch
|
23
|
+
can be applied as quickly as possible:
|
24
|
+
|
25
|
+
1. **Use [Git](http://git-scm.com) and [GitHub](http://github.com):**
|
26
|
+
The easiest way to get setup is to fork the
|
27
|
+
[sinatra/sinatra repo](http://github.com/sinatra/sinatra/).
|
28
|
+
Or, the [sinatra.github.com repo](http://github.com/sinatra/sinatra.github.com/),
|
29
|
+
if the patch is doc related.
|
30
|
+
|
31
|
+
2. **Write unit tests:** If you add or modify functionality, it must
|
32
|
+
include unit tests. If you don't write tests, we have to, and this
|
33
|
+
can hold up acceptance of the patch.
|
34
|
+
|
35
|
+
3. **Mind the `README`:** If the patch adds or modifies a major feature,
|
36
|
+
modify the `README.md` file to reflect that. Again, if you don't
|
37
|
+
update the `README`, we have to, and this holds up acceptance.
|
38
|
+
|
39
|
+
4. **Push it:** Once you're ready, push your changes to a topic branch
|
40
|
+
and add a note to the ticket with the URL to your branch. Or, say
|
41
|
+
something like, "you can find the patch on johndoe/foobranch". We also
|
42
|
+
gladly accept GitHub [pull requests](http://help.github.com/pull-requests/).
|
43
|
+
|
44
|
+
__NOTE:__ _We will take whatever we can get._ If you prefer to attach diffs in
|
45
|
+
emails to the mailing list, that's fine; but do know that _someone_ will need
|
46
|
+
to take the diff through the process described above and this can hold things
|
47
|
+
up considerably.
|
48
|
+
|
49
|
+
## Want to write docs?
|
50
|
+
|
51
|
+
The process for contributing to Sinatra's website, documentation or the book
|
52
|
+
is the same as contributing code. We use Git for versions control and GitHub to
|
53
|
+
track patch requests.
|
54
|
+
|
55
|
+
* [The sinatra.github.com repo](http://github.com/sinatra/sinatra.github.com/)
|
56
|
+
is where the website sources are managed. There are almost always people in
|
57
|
+
`#sinatra` that are happy to discuss, apply, and publish website patches.
|
58
|
+
|
59
|
+
* [The Book](http://sinatra-org-book.herokuapp.com/) has its own [Git
|
60
|
+
repository](http://github.com/sinatra/sinatra-book/) and build process but is
|
61
|
+
managed the same as the website and project codebase.
|
62
|
+
|
63
|
+
* [Sinatra Recipes](http://recipes.sinatrarb.com/) is a community
|
64
|
+
project where anyone is free to contribute ideas, recipes and tutorials. Which
|
65
|
+
also has its own [Git repository](http://github.com/sinatra/sinatra-recipes).
|
66
|
+
|
67
|
+
* [The Introduction](http://www.sinatrarb.com/intro.html) is generated from
|
68
|
+
Sinatra's [README file](http://github.com/sinatra/sinatra/blob/main/README.md).
|
69
|
+
|
70
|
+
* If you want to help translating the documentation, the README is already
|
71
|
+
available in
|
72
|
+
[Japanese](http://github.com/sinatra/sinatra/blob/main/README.ja.md),
|
73
|
+
[German](http://github.com/sinatra/sinatra/blob/main/README.de.md),
|
74
|
+
[Chinese](https://github.com/sinatra/sinatra/blob/main/README.zh.md),
|
75
|
+
[Russian](https://github.com/sinatra/sinatra/blob/main/README.ru.md),
|
76
|
+
[European](https://github.com/sinatra/sinatra/blob/main/README.pt-pt.md) and
|
77
|
+
[Brazilian](https://github.com/sinatra/sinatra/blob/main/README.pt-br.md)
|
78
|
+
Portuguese,
|
79
|
+
[French](https://github.com/sinatra/sinatra/blob/main/README.fr.md),
|
80
|
+
[Spanish](https://github.com/sinatra/sinatra/blob/main/README.es.md),
|
81
|
+
[Korean](https://github.com/sinatra/sinatra/blob/main/README.ko.md), and
|
82
|
+
[Hungarian](https://github.com/sinatra/sinatra/blob/main/README.hu.md).
|
83
|
+
The translations tend to fall behind the English version. Translations into
|
84
|
+
other languages would also be appreciated.
|
85
|
+
|
86
|
+
## Looking for something to do?
|
87
|
+
|
88
|
+
If you'd like to help out but aren't sure how, pick something that looks
|
89
|
+
interesting from the [issues][ghi] list and hack on. Make sure to leave a
|
90
|
+
comment on the ticket noting that you're investigating (a simple "Taking…" is
|
91
|
+
fine).
|
92
|
+
|
93
|
+
[ghi]: http://github.com/sinatra/sinatra/issues
|
94
|
+
[ml]: http://groups.google.com/group/sinatrarb/topics "Sinatra Mailing List"
|
95
|
+
|
96
|
+
* ["Help Wanted"](https://github.com/sinatra/sinatra/labels/help%20wanted): Anyone willing to pitch in is open to contribute to this ticket as they see fit (will try to add context / summarize or ask for requirements)
|
97
|
+
|
98
|
+
* ["Good First Issue"](https://github.com/sinatra/sinatra/labels/good%20first%20issue): Potential first time contributors should start here
|
99
|
+
|
100
|
+
* ["Wishlist"](https://github.com/sinatra/sinatra/labels/Wishlist): All the things I wish we had but have no time for
|
data/Gemfile
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Why use bundler?
|
4
|
+
# Well, not all development dependencies install on all rubies. Moreover, `gem
|
5
|
+
# install sinatra --development` doesn't work, as it will also try to install
|
6
|
+
# development dependencies of our dependencies, and those are not conflict free.
|
7
|
+
# So, here we are, `bundle install`.
|
8
|
+
#
|
9
|
+
# If you have issues with a gem: `bundle install --without-coffee-script`.
|
10
|
+
|
11
|
+
source 'https://rubygems.org'
|
12
|
+
gemspec
|
13
|
+
|
14
|
+
gem 'rake'
|
15
|
+
|
16
|
+
rack_version = ENV['rack'].to_s
|
17
|
+
rack_version = nil if rack_version.empty? || (rack_version == 'stable')
|
18
|
+
rack_version = { github: 'rack/rack' } if rack_version == 'head'
|
19
|
+
gem 'rack', rack_version
|
20
|
+
|
21
|
+
puma_version = ENV['puma'].to_s
|
22
|
+
puma_version = nil if puma_version.empty? || (puma_version == 'stable')
|
23
|
+
puma_version = { github: 'puma/puma' } if puma_version == 'head'
|
24
|
+
gem 'puma', puma_version
|
25
|
+
|
26
|
+
gem 'minitest', '~> 5.0'
|
27
|
+
gem 'rack-test', github: 'rack/rack-test'
|
28
|
+
gem 'rubocop', '~> 1.32.0', require: false
|
29
|
+
gem 'yard'
|
30
|
+
|
31
|
+
gem 'rack-protection', path: 'rack-protection'
|
32
|
+
gem 'sinatra-contrib', path: 'sinatra-contrib'
|
33
|
+
|
34
|
+
# traces 0.10.0 started to use Ruby 2.7 syntax without specifying required Ruby version
|
35
|
+
# https://github.com/socketry/traces/pull/8#discussion_r1237988182
|
36
|
+
# async-http 0.60.2 added traces 0.10.0 as dependency
|
37
|
+
# https://github.com/socketry/async-http/pull/124/files#r1237988899
|
38
|
+
gem 'traces', '< 0.10.0' if RUBY_VERSION >= '2.6.0' && RUBY_VERSION < '2.7.0'
|
39
|
+
|
40
|
+
gem 'activesupport', '~> 6.1'
|
41
|
+
|
42
|
+
gem 'asciidoctor'
|
43
|
+
gem 'builder'
|
44
|
+
gem 'commonmarker', '~> 0.23.4', platforms: [:ruby]
|
45
|
+
gem 'erubi'
|
46
|
+
gem 'eventmachine'
|
47
|
+
gem 'falcon', '~> 0.40', platforms: [:ruby]
|
48
|
+
gem 'haml', '~> 6'
|
49
|
+
gem 'kramdown'
|
50
|
+
gem 'liquid'
|
51
|
+
gem 'markaby'
|
52
|
+
gem 'nokogiri', '> 1.5.0'
|
53
|
+
gem 'pandoc-ruby', '~> 2.0.2'
|
54
|
+
gem 'rabl'
|
55
|
+
if rack_version == '~> 2'
|
56
|
+
gem 'rainbows', platforms: [:mri] # uses #fork
|
57
|
+
end
|
58
|
+
gem 'rdiscount', platforms: [:ruby]
|
59
|
+
gem 'rdoc'
|
60
|
+
gem 'redcarpet', platforms: [:ruby]
|
61
|
+
gem 'sass-embedded', '~> 1.54'
|
62
|
+
gem 'simplecov', require: false
|
63
|
+
gem 'slim', '~> 4'
|
64
|
+
gem 'yajl-ruby', platforms: [:ruby]
|
65
|
+
|
66
|
+
gem 'json', platforms: %i[jruby mri]
|
67
|
+
|
68
|
+
gem 'jar-dependencies', '= 0.4.1', platforms: [:jruby] # Gem::LoadError with jar-dependencies 0.4.2
|
data/LICENSE
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2007, 2008, 2009 Blake Mizerany
|
4
|
+
Copyright (c) 2010-2017 Konstantin Haase
|
5
|
+
Copyright (c) 2015-2017 Zachary Scott
|
6
|
+
|
7
|
+
Permission is hereby granted, free of charge, to any person
|
8
|
+
obtaining a copy of this software and associated documentation
|
9
|
+
files (the "Software"), to deal in the Software without
|
10
|
+
restriction, including without limitation the rights to use,
|
11
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
12
|
+
copies of the Software, and to permit persons to whom the
|
13
|
+
Software is furnished to do so, subject to the following
|
14
|
+
conditions:
|
15
|
+
|
16
|
+
The above copyright notice and this permission notice shall be
|
17
|
+
included in all copies or substantial portions of the Software.
|
18
|
+
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
20
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
21
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
22
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
23
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
24
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
25
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
26
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
data/MAINTENANCE.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Sinatra maintenance
|
2
|
+
|
3
|
+
## Versions
|
4
|
+
|
5
|
+
### Releases
|
6
|
+
|
7
|
+
The next major version of Sinatra will be released from the main branch. Each version will be tagged so it will be possible to branch of should there be a need for bug fixes and other updates.
|
8
|
+
|
9
|
+
## Issues
|
10
|
+
|
11
|
+
### New features
|
12
|
+
|
13
|
+
New features will only be added to the main branch and will not be made available in point releases.
|
14
|
+
|
15
|
+
### Bug fixes
|
16
|
+
|
17
|
+
Only the latest release series will receive bug fixes. When enough bugs are fixed and its deemed worthy to release a new gem, this is the branch it happens from.
|
18
|
+
|
19
|
+
### Security issues
|
20
|
+
|
21
|
+
The current release series will receive patches and new versions in case of a security issue.
|
22
|
+
|
23
|
+
### Severe security issues
|
24
|
+
|
25
|
+
For severe security issues we will provide new versions as above, and also the last major release series will receive patches and new versions. The classification of the security issue is judged by the core team.
|
26
|
+
|
27
|
+
### Unsupported Release Series
|
28
|
+
|
29
|
+
When a release series is no longer supported, it’s your own responsibility to deal with bugs and security issues. We may provide back-ports of the fixes and publish them to git, however there will be no new versions released. If you are not comfortable maintaining your own versions, you should upgrade to a supported version.
|