zapp 0.2.1 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zapp/configuration.rb +9 -1
- data/lib/zapp/http_context/request.rb +2 -2
- data/lib/zapp/logger/base.rb +103 -0
- data/lib/zapp/logger.rb +20 -57
- data/lib/zapp/server.rb +9 -4
- data/lib/zapp/socket_pipe/receiver.rb +0 -8
- data/lib/zapp/version.rb +1 -1
- data/lib/zapp/worker/request_processor.rb +27 -32
- data/lib/zapp/worker.rb +5 -6
- data/lib/zapp/worker_pool.rb +6 -5
- data/lib/zapp.rb +5 -2
- metadata +5 -109
- data/.circleci/config.yml +0 -21
- data/.gitignore +0 -13
- data/.rspec +0 -3
- data/.rubocop.yml +0 -48
- data/.ruby-version +0 -1
- data/Gemfile +0 -13
- data/Gemfile.lock +0 -112
- data/Guardfile +0 -23
- data/LICENSE.txt +0 -21
- data/README.md +0 -91
- data/Rakefile +0 -8
- data/examples/rails-app/.browserslistrc +0 -1
- data/examples/rails-app/.gitattributes +0 -10
- data/examples/rails-app/.gitignore +0 -40
- data/examples/rails-app/.ruby-version +0 -1
- data/examples/rails-app/Gemfile +0 -58
- data/examples/rails-app/Gemfile.lock +0 -255
- data/examples/rails-app/Rakefile +0 -8
- data/examples/rails-app/app/assets/config/manifest.js +0 -2
- data/examples/rails-app/app/assets/images/.keep +0 -0
- data/examples/rails-app/app/assets/stylesheets/application.css +0 -15
- data/examples/rails-app/app/channels/application_cable/channel.rb +0 -6
- data/examples/rails-app/app/channels/application_cable/connection.rb +0 -6
- data/examples/rails-app/app/controllers/application_controller.rb +0 -4
- data/examples/rails-app/app/controllers/concerns/.keep +0 -0
- data/examples/rails-app/app/helpers/application_helper.rb +0 -4
- data/examples/rails-app/app/javascript/channels/consumer.js +0 -6
- data/examples/rails-app/app/javascript/channels/index.js +0 -5
- data/examples/rails-app/app/javascript/packs/application.js +0 -13
- data/examples/rails-app/app/jobs/application_job.rb +0 -9
- data/examples/rails-app/app/mailers/application_mailer.rb +0 -6
- data/examples/rails-app/app/models/application_record.rb +0 -5
- data/examples/rails-app/app/models/concerns/.keep +0 -0
- data/examples/rails-app/app/views/layouts/application.html.erb +0 -16
- data/examples/rails-app/app/views/layouts/mailer.html.erb +0 -13
- data/examples/rails-app/app/views/layouts/mailer.text.erb +0 -1
- data/examples/rails-app/babel.config.js +0 -82
- data/examples/rails-app/bin/bundle +0 -118
- data/examples/rails-app/bin/rails +0 -7
- data/examples/rails-app/bin/rake +0 -7
- data/examples/rails-app/bin/setup +0 -38
- data/examples/rails-app/bin/spring +0 -16
- data/examples/rails-app/bin/webpack +0 -21
- data/examples/rails-app/bin/webpack-dev-server +0 -21
- data/examples/rails-app/bin/yarn +0 -19
- data/examples/rails-app/bin/zapp +0 -1
- data/examples/rails-app/config/application.rb +0 -24
- data/examples/rails-app/config/boot.rb +0 -6
- data/examples/rails-app/config/cable.yml +0 -10
- data/examples/rails-app/config/credentials.yml.enc +0 -1
- data/examples/rails-app/config/database.yml +0 -25
- data/examples/rails-app/config/environment.rb +0 -7
- data/examples/rails-app/config/environments/development.rb +0 -78
- data/examples/rails-app/config/environments/production.rb +0 -122
- data/examples/rails-app/config/environments/test.rb +0 -62
- data/examples/rails-app/config/initializers/application_controller_renderer.rb +0 -9
- data/examples/rails-app/config/initializers/assets.rb +0 -16
- data/examples/rails-app/config/initializers/backtrace_silencers.rb +0 -10
- data/examples/rails-app/config/initializers/content_security_policy.rb +0 -31
- data/examples/rails-app/config/initializers/cookies_serializer.rb +0 -7
- data/examples/rails-app/config/initializers/filter_parameter_logging.rb +0 -8
- data/examples/rails-app/config/initializers/inflections.rb +0 -17
- data/examples/rails-app/config/initializers/mime_types.rb +0 -5
- data/examples/rails-app/config/initializers/permissions_policy.rb +0 -12
- data/examples/rails-app/config/initializers/wrap_parameters.rb +0 -16
- data/examples/rails-app/config/locales/en.yml +0 -33
- data/examples/rails-app/config/puma.rb +0 -45
- data/examples/rails-app/config/routes.rb +0 -5
- data/examples/rails-app/config/spring.rb +0 -8
- data/examples/rails-app/config/storage.yml +0 -34
- data/examples/rails-app/config/webpack/development.js +0 -5
- data/examples/rails-app/config/webpack/environment.js +0 -3
- data/examples/rails-app/config/webpack/production.js +0 -5
- data/examples/rails-app/config/webpack/test.js +0 -5
- data/examples/rails-app/config/webpacker.yml +0 -92
- data/examples/rails-app/config/zapp.rb +0 -10
- data/examples/rails-app/config.ru +0 -7
- data/examples/rails-app/db/seeds.rb +0 -8
- data/examples/rails-app/lib/assets/.keep +0 -0
- data/examples/rails-app/lib/tasks/.keep +0 -0
- data/examples/rails-app/log/.keep +0 -0
- data/examples/rails-app/package.json +0 -17
- data/examples/rails-app/postcss.config.js +0 -12
- data/examples/rails-app/public/404.html +0 -67
- data/examples/rails-app/public/422.html +0 -67
- data/examples/rails-app/public/500.html +0 -66
- data/examples/rails-app/public/apple-touch-icon-precomposed.png +0 -0
- data/examples/rails-app/public/apple-touch-icon.png +0 -0
- data/examples/rails-app/public/favicon.ico +0 -0
- data/examples/rails-app/public/robots.txt +0 -1
- data/examples/rails-app/storage/.keep +0 -0
- data/examples/rails-app/test/application_system_test_case.rb +0 -7
- data/examples/rails-app/test/channels/application_cable/connection_test.rb +0 -15
- data/examples/rails-app/test/controllers/.keep +0 -0
- data/examples/rails-app/test/fixtures/files/.keep +0 -0
- data/examples/rails-app/test/helpers/.keep +0 -0
- data/examples/rails-app/test/integration/.keep +0 -0
- data/examples/rails-app/test/mailers/.keep +0 -0
- data/examples/rails-app/test/models/.keep +0 -0
- data/examples/rails-app/test/system/.keep +0 -0
- data/examples/rails-app/test/test_helper.rb +0 -17
- data/examples/rails-app/tmp/.keep +0 -0
- data/examples/rails-app/tmp/pids/.keep +0 -0
- data/examples/rails-app/vendor/.keep +0 -0
- data/examples/rails-app/yarn.lock +0 -6973
- data/zapp.gemspec +0 -44
data/.circleci/config.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
version: 2.1
|
2
|
-
|
3
|
-
orbs:
|
4
|
-
ruby: circleci/ruby@0.1.2
|
5
|
-
|
6
|
-
jobs:
|
7
|
-
test_three_zero_zero:
|
8
|
-
docker:
|
9
|
-
- image: circleci/ruby:3.0.0
|
10
|
-
executor: ruby/default
|
11
|
-
steps:
|
12
|
-
- checkout
|
13
|
-
- ruby/bundle-install
|
14
|
-
- run:
|
15
|
-
name: RSpec
|
16
|
-
command: bundle exec rspec
|
17
|
-
|
18
|
-
workflows:
|
19
|
-
test:
|
20
|
-
jobs:
|
21
|
-
- test_three_zero_zero
|
data/.gitignore
DELETED
data/.rspec
DELETED
data/.rubocop.yml
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
TargetRubyVersion: 3.0.0
|
3
|
-
EnabledByDefault: true
|
4
|
-
NewCops: enable
|
5
|
-
Exclude:
|
6
|
-
- examples/**/*
|
7
|
-
|
8
|
-
Style/DocumentationMethod:
|
9
|
-
Enabled: false
|
10
|
-
Style/MissingElse:
|
11
|
-
Enabled: false
|
12
|
-
Style/StringLiterals:
|
13
|
-
EnforcedStyle: double_quotes
|
14
|
-
Style/InlineComments:
|
15
|
-
Enabled: false
|
16
|
-
Style/Copyright:
|
17
|
-
Enabled: false
|
18
|
-
Style/ConstantVisibility:
|
19
|
-
Enabled: false
|
20
|
-
Style/MethodCallWithArgsParentheses:
|
21
|
-
IgnoreMacros: false
|
22
|
-
Style/MethodCalledOnDoEndBlock:
|
23
|
-
Enabled: false
|
24
|
-
Style/DisableCopsWithinSourceCodeDirective:
|
25
|
-
Enabled: false
|
26
|
-
Style/Send:
|
27
|
-
Enabled: false
|
28
|
-
Style/ClassMethodsDefinitions:
|
29
|
-
Enabled: false
|
30
|
-
|
31
|
-
Lint/ConstantResolution:
|
32
|
-
Enabled: false
|
33
|
-
|
34
|
-
Bundler/GemComment:
|
35
|
-
Enabled: false
|
36
|
-
|
37
|
-
Layout/MultilineAssignmentLayout:
|
38
|
-
Enabled: false
|
39
|
-
Layout/RedundantLineBreak:
|
40
|
-
Enabled: false
|
41
|
-
|
42
|
-
Metrics/BlockLength:
|
43
|
-
Exclude:
|
44
|
-
- spec/**/*_spec.rb
|
45
|
-
Metrics/MethodLength:
|
46
|
-
Max: 25
|
47
|
-
Metrics/AbcSize:
|
48
|
-
Max: 30
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
3.0.0
|
data/Gemfile
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
source("https://rubygems.org")
|
4
|
-
|
5
|
-
# Specify your gem's dependencies in zap.gemspec
|
6
|
-
gemspec
|
7
|
-
|
8
|
-
group(:development) do
|
9
|
-
gem("guard", "~> 2.18.0")
|
10
|
-
gem("guard-rspec", "~> 4.7.3")
|
11
|
-
gem("guard-rubocop", "~> 1.5.0")
|
12
|
-
gem("simplecov", "~> 0.21.2")
|
13
|
-
end
|
data/Gemfile.lock
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
zapp (0.1.1)
|
5
|
-
concurrent-ruby (~> 1.1.9)
|
6
|
-
puma (~> 5.5.2)
|
7
|
-
rack (~> 2.2.3)
|
8
|
-
rake (~> 13.0)
|
9
|
-
rspec (~> 3.0)
|
10
|
-
webrick
|
11
|
-
|
12
|
-
GEM
|
13
|
-
remote: https://rubygems.org/
|
14
|
-
specs:
|
15
|
-
ast (2.4.2)
|
16
|
-
coderay (1.1.3)
|
17
|
-
concurrent-ruby (1.1.10)
|
18
|
-
diff-lcs (1.4.4)
|
19
|
-
docile (1.4.0)
|
20
|
-
ffi (1.15.4)
|
21
|
-
formatador (0.3.0)
|
22
|
-
guard (2.18.0)
|
23
|
-
formatador (>= 0.2.4)
|
24
|
-
listen (>= 2.7, < 4.0)
|
25
|
-
lumberjack (>= 1.0.12, < 2.0)
|
26
|
-
nenv (~> 0.1)
|
27
|
-
notiffany (~> 0.0)
|
28
|
-
pry (>= 0.13.0)
|
29
|
-
shellany (~> 0.0)
|
30
|
-
thor (>= 0.18.1)
|
31
|
-
guard-compat (1.2.1)
|
32
|
-
guard-rspec (4.7.3)
|
33
|
-
guard (~> 2.1)
|
34
|
-
guard-compat (~> 1.1)
|
35
|
-
rspec (>= 2.99.0, < 4.0)
|
36
|
-
guard-rubocop (1.5.0)
|
37
|
-
guard (~> 2.0)
|
38
|
-
rubocop (< 2.0)
|
39
|
-
listen (3.7.0)
|
40
|
-
rb-fsevent (~> 0.10, >= 0.10.3)
|
41
|
-
rb-inotify (~> 0.9, >= 0.9.10)
|
42
|
-
lumberjack (1.2.8)
|
43
|
-
method_source (1.0.0)
|
44
|
-
nenv (0.3.0)
|
45
|
-
nio4r (2.5.8)
|
46
|
-
notiffany (0.1.3)
|
47
|
-
nenv (~> 0.1)
|
48
|
-
shellany (~> 0.0)
|
49
|
-
parallel (1.21.0)
|
50
|
-
parser (3.0.2.0)
|
51
|
-
ast (~> 2.4.1)
|
52
|
-
pry (0.14.1)
|
53
|
-
coderay (~> 1.1)
|
54
|
-
method_source (~> 1.0)
|
55
|
-
puma (5.5.2)
|
56
|
-
nio4r (~> 2.0)
|
57
|
-
rack (2.2.4)
|
58
|
-
rainbow (3.0.0)
|
59
|
-
rake (13.0.6)
|
60
|
-
rb-fsevent (0.11.0)
|
61
|
-
rb-inotify (0.10.1)
|
62
|
-
ffi (~> 1.0)
|
63
|
-
regexp_parser (2.1.1)
|
64
|
-
rexml (3.2.5)
|
65
|
-
rspec (3.10.0)
|
66
|
-
rspec-core (~> 3.10.0)
|
67
|
-
rspec-expectations (~> 3.10.0)
|
68
|
-
rspec-mocks (~> 3.10.0)
|
69
|
-
rspec-core (3.10.1)
|
70
|
-
rspec-support (~> 3.10.0)
|
71
|
-
rspec-expectations (3.10.1)
|
72
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
73
|
-
rspec-support (~> 3.10.0)
|
74
|
-
rspec-mocks (3.10.2)
|
75
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
76
|
-
rspec-support (~> 3.10.0)
|
77
|
-
rspec-support (3.10.3)
|
78
|
-
rubocop (1.21.0)
|
79
|
-
parallel (~> 1.10)
|
80
|
-
parser (>= 3.0.0.0)
|
81
|
-
rainbow (>= 2.2.2, < 4.0)
|
82
|
-
regexp_parser (>= 1.8, < 3.0)
|
83
|
-
rexml
|
84
|
-
rubocop-ast (>= 1.9.1, < 2.0)
|
85
|
-
ruby-progressbar (~> 1.7)
|
86
|
-
unicode-display_width (>= 1.4.0, < 3.0)
|
87
|
-
rubocop-ast (1.11.0)
|
88
|
-
parser (>= 3.0.1.1)
|
89
|
-
ruby-progressbar (1.11.0)
|
90
|
-
shellany (0.0.1)
|
91
|
-
simplecov (0.21.2)
|
92
|
-
docile (~> 1.1)
|
93
|
-
simplecov-html (~> 0.11)
|
94
|
-
simplecov_json_formatter (~> 0.1)
|
95
|
-
simplecov-html (0.12.3)
|
96
|
-
simplecov_json_formatter (0.1.3)
|
97
|
-
thor (1.1.0)
|
98
|
-
unicode-display_width (2.1.0)
|
99
|
-
webrick (1.7.0)
|
100
|
-
|
101
|
-
PLATFORMS
|
102
|
-
x86_64-linux
|
103
|
-
|
104
|
-
DEPENDENCIES
|
105
|
-
guard (~> 2.18.0)
|
106
|
-
guard-rspec (~> 4.7.3)
|
107
|
-
guard-rubocop (~> 1.5.0)
|
108
|
-
simplecov (~> 0.21.2)
|
109
|
-
zapp!
|
110
|
-
|
111
|
-
BUNDLED WITH
|
112
|
-
2.3.0.dev
|
data/Guardfile
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
%w[lib spec].select { |d| Dir.exist?(d) ? d : UI.warning("Directory #{d} does not exist") }
|
4
|
-
|
5
|
-
guard(:rspec, cmd: "bundle exec rspec --format progress") do
|
6
|
-
require("guard/rspec/dsl")
|
7
|
-
dsl = Guard::RSpec::Dsl.new(self)
|
8
|
-
|
9
|
-
# RSpec files
|
10
|
-
rspec = dsl.rspec
|
11
|
-
watch(rspec.spec_helper) { rspec.spec_dir }
|
12
|
-
watch(rspec.spec_support) { rspec.spec_dir }
|
13
|
-
watch(rspec.spec_files)
|
14
|
-
|
15
|
-
# Ruby files
|
16
|
-
ruby = dsl.ruby
|
17
|
-
dsl.watch_spec_files_for(ruby.lib_files)
|
18
|
-
end
|
19
|
-
|
20
|
-
guard(:rubocop) do
|
21
|
-
watch(/.+\.rb$/)
|
22
|
-
watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m[0]) }
|
23
|
-
end
|
data/LICENSE.txt
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2021 Mathias H Steffensen
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
data/README.md
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
# Zapp
|
2
|
-
|
3
|
-
![CircleCI](https://circleci.com/gh/mathiashsteffensen/zapp/tree/master.svg?style=shield)
|
4
|
-
|
5
|
-
Zapp is an experimental web server for Rack-based Ruby applications. It is based on the lightning fast [Puma](https://puma.io/) HTTP parser implemented in C,
|
6
|
-
and the new parallelism implementation introduced with CRuby 3.0.0, [Ractors](https://github.com/ruby/ruby/blob/master/doc/ractor.md)
|
7
|
-
|
8
|
-
This is an experimental project as Ractors are very very new and the Ractor API may change at any moment. While I would not recommend using this server in production for that reason,
|
9
|
-
if you do decide to do so, pin your ruby version to one of the versions this project is tested against (Currently only version 3.0.0).
|
10
|
-
|
11
|
-
Why is it named Zapp with 2 p's you may ask? Because Zap with 1 p was taken.
|
12
|
-
|
13
|
-
Also it's meant to be pretty fast
|
14
|
-
|
15
|
-
## Installation
|
16
|
-
|
17
|
-
As a stand-alone ruby executable
|
18
|
-
```bash
|
19
|
-
gem install zapp
|
20
|
-
```
|
21
|
-
|
22
|
-
Or using Bundler, add the following to your gemfile
|
23
|
-
```ruby
|
24
|
-
gem("zapp")
|
25
|
-
```
|
26
|
-
|
27
|
-
And then run
|
28
|
-
```bash
|
29
|
-
bundle
|
30
|
-
```
|
31
|
-
|
32
|
-
## Usage
|
33
|
-
|
34
|
-
The CLI tool is meant to be dead simple, and all configuration should be done through a configuration file.
|
35
|
-
By default Zapp will look for a config file located at ./config/zapp.rb from where the command is run.
|
36
|
-
To change this you can provide the optional -c flag when running the command.
|
37
|
-
|
38
|
-
To use a config file at ./configuration/server.rb:
|
39
|
-
```bash
|
40
|
-
bundle exec zapp -c ./configuration/server.rb
|
41
|
-
```
|
42
|
-
|
43
|
-
An example config file using Zapp's DSL may look like the following
|
44
|
-
```ruby
|
45
|
-
# frozen_string_literal: true
|
46
|
-
|
47
|
-
# A simple web server
|
48
|
-
class App
|
49
|
-
def self.call(_env)
|
50
|
-
[200, {}, ["Hello from Zapp"]]
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
# Register the app
|
55
|
-
app(App)
|
56
|
-
|
57
|
-
# Launch 2 parallel Zapp workers
|
58
|
-
parallelism(2)
|
59
|
-
|
60
|
-
# Have Zapp be quiet
|
61
|
-
# (by default Zapp workers time requests and log when they have been processed)
|
62
|
-
log_requests(false)
|
63
|
-
|
64
|
-
# Let's bind to 0.0.0.0 instead of localhost
|
65
|
-
# since we may run the server from a Docker container
|
66
|
-
host("0.0.0.0")
|
67
|
-
|
68
|
-
# Use port 8080 (3000 is the default)
|
69
|
-
port(8080)
|
70
|
-
```
|
71
|
-
|
72
|
-
Run the app
|
73
|
-
```bash
|
74
|
-
bundle exec zapp
|
75
|
-
```
|
76
|
-
|
77
|
-
## Implementation details
|
78
|
-
|
79
|
-
* Parsing is done in a single thread
|
80
|
-
* Puma's HTTP Parser can not be shared between Ractors, and it cannot be copied to a Ractor so parsing can be done in parallel, I have a suspicion this is due to it being a C extension.
|
81
|
-
If you have any suggestions for how to implement parallel parsing, please file a PR or an issue.
|
82
|
-
* Request processing is done in parallel using the Ractor API
|
83
|
-
|
84
|
-
## TODO
|
85
|
-
|
86
|
-
* Add way more tests to all parts of the library
|
87
|
-
* Resolve Rails/Ractor compatibility issues
|
88
|
-
* Add thread pool per worker
|
89
|
-
* Add some benchmarks against Puma, quite interesting to see how Ractors perform
|
90
|
-
* PID file support
|
91
|
-
* Support for rack_options
|
data/Rakefile
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
defaults
|
@@ -1,10 +0,0 @@
|
|
1
|
-
# See https://git-scm.com/docs/gitattributes for more about git attribute files.
|
2
|
-
|
3
|
-
# Mark the database schema as having been generated.
|
4
|
-
db/schema.rb linguist-generated
|
5
|
-
|
6
|
-
# Mark the yarn lockfile as having been generated.
|
7
|
-
yarn.lock linguist-generated
|
8
|
-
|
9
|
-
# Mark any vendored files as having been vendored.
|
10
|
-
vendor/* linguist-vendored
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
2
|
-
#
|
3
|
-
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
-
# or operating system, you probably want to add a global ignore instead:
|
5
|
-
# git config --global core.excludesfile '~/.gitignore_global'
|
6
|
-
|
7
|
-
# Ignore bundler config.
|
8
|
-
/.bundle
|
9
|
-
|
10
|
-
# Ignore the default SQLite database.
|
11
|
-
/db/*.sqlite3
|
12
|
-
/db/*.sqlite3-*
|
13
|
-
|
14
|
-
# Ignore all logfiles and tempfiles.
|
15
|
-
/log/*
|
16
|
-
/tmp/*
|
17
|
-
!/log/.keep
|
18
|
-
!/tmp/.keep
|
19
|
-
|
20
|
-
# Ignore pidfiles, but keep the directory.
|
21
|
-
/tmp/pids/*
|
22
|
-
!/tmp/pids/
|
23
|
-
!/tmp/pids/.keep
|
24
|
-
|
25
|
-
# Ignore uploaded files in development.
|
26
|
-
/storage/*
|
27
|
-
!/storage/.keep
|
28
|
-
|
29
|
-
/public/assets
|
30
|
-
.byebug_history
|
31
|
-
|
32
|
-
# Ignore master key for decrypting credentials and more.
|
33
|
-
/config/master.key
|
34
|
-
|
35
|
-
/public/packs
|
36
|
-
/public/packs-test
|
37
|
-
/node_modules
|
38
|
-
/yarn-error.log
|
39
|
-
yarn-debug.log*
|
40
|
-
.yarn-integrity
|
@@ -1 +0,0 @@
|
|
1
|
-
3.0.0
|
data/examples/rails-app/Gemfile
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
source("https://rubygems.org")
|
4
|
-
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
5
|
-
|
6
|
-
ruby("3.0.0")
|
7
|
-
|
8
|
-
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
|
9
|
-
gem("rails", "~> 6.1.4", ">= 6.1.4.1")
|
10
|
-
# Use sqlite3 as the database for Active Record
|
11
|
-
gem("sqlite3", "~> 1.4")
|
12
|
-
# Use Zapp as the app server
|
13
|
-
gem("zapp", path: "../..")
|
14
|
-
# Use SCSS for stylesheets
|
15
|
-
gem("sass-rails", ">= 6")
|
16
|
-
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
|
17
|
-
gem("webpacker", "~> 5.0")
|
18
|
-
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
19
|
-
gem("turbolinks", "~> 5")
|
20
|
-
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
21
|
-
gem("jbuilder", "~> 2.7")
|
22
|
-
# Use Redis adapter to run Action Cable in production
|
23
|
-
# gem 'redis', '~> 4.0'
|
24
|
-
# Use Active Model has_secure_password
|
25
|
-
# gem 'bcrypt', '~> 3.1.7'
|
26
|
-
|
27
|
-
# Use Active Storage variant
|
28
|
-
# gem 'image_processing', '~> 1.2'
|
29
|
-
|
30
|
-
# Reduces boot times through caching; required in config/boot.rb
|
31
|
-
gem("bootsnap", ">= 1.4.4", require: false)
|
32
|
-
|
33
|
-
group(:development, :test) do
|
34
|
-
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
35
|
-
gem("byebug", platforms: %i[mri mingw x64_mingw])
|
36
|
-
end
|
37
|
-
|
38
|
-
group(:development) do
|
39
|
-
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
|
40
|
-
gem("web-console", ">= 4.1.0")
|
41
|
-
# Display performance information such as SQL time and flame graphs for each request in your browser.
|
42
|
-
# Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md
|
43
|
-
gem("listen", "~> 3.3")
|
44
|
-
gem("rack-mini-profiler", "~> 2.0")
|
45
|
-
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
46
|
-
gem("spring")
|
47
|
-
end
|
48
|
-
|
49
|
-
group(:test) do
|
50
|
-
# Adds support for Capybara system testing and selenium driver
|
51
|
-
gem("capybara", ">= 3.26")
|
52
|
-
gem("selenium-webdriver")
|
53
|
-
# Easy installation and use of web drivers to run system tests with browsers
|
54
|
-
gem("webdrivers")
|
55
|
-
end
|
56
|
-
|
57
|
-
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
58
|
-
gem("tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby])
|