firetail 0.0.1.pre.alpha → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/pull_request_template.md +11 -0
- data/.gitignore +13 -13
- data/Gemfile +1 -1
- data/Gemfile.lock +8 -6
- data/README.md +24 -10
- data/examples/rails/.gitattributes +8 -0
- data/examples/rails/.gitignore +31 -0
- data/examples/rails/.rspec +1 -0
- data/examples/rails/.ruby-version +1 -0
- data/examples/rails/Gemfile +44 -0
- data/examples/rails/Gemfile.lock +240 -0
- data/examples/rails/README.md +24 -0
- data/examples/rails/Rakefile +6 -0
- data/examples/rails/app/channels/application_cable/channel.rb +4 -0
- data/examples/rails/app/channels/application_cable/connection.rb +4 -0
- data/examples/rails/app/controllers/application_controller.rb +2 -0
- data/examples/rails/app/controllers/comments_controller.rb +52 -0
- data/examples/rails/app/controllers/concerns/.keep +0 -0
- data/examples/rails/app/controllers/posts_controller.rb +51 -0
- data/examples/rails/app/jobs/application_job.rb +7 -0
- data/examples/rails/app/mailers/application_mailer.rb +4 -0
- data/examples/rails/app/models/application_record.rb +3 -0
- data/examples/rails/app/models/comment.rb +4 -0
- data/examples/rails/app/models/concerns/.keep +0 -0
- data/examples/rails/app/models/post.rb +5 -0
- data/examples/rails/app/views/layouts/mailer.html.erb +13 -0
- data/examples/rails/app/views/layouts/mailer.text.erb +1 -0
- data/examples/rails/bin/bundle +114 -0
- data/examples/rails/bin/rails +5 -0
- data/examples/rails/bin/rake +5 -0
- data/examples/rails/bin/setup +33 -0
- data/examples/rails/bin/spring +14 -0
- data/examples/rails/config/application.rb +41 -0
- data/examples/rails/config/boot.rb +4 -0
- data/examples/rails/config/cable.yml +10 -0
- data/examples/rails/config/credentials.yml.enc +1 -0
- data/examples/rails/config/database.yml +25 -0
- data/examples/rails/config/environment.rb +5 -0
- data/examples/rails/config/environments/development.rb +66 -0
- data/examples/rails/config/environments/production.rb +113 -0
- data/examples/rails/config/environments/test.rb +60 -0
- data/examples/rails/config/firetail.yml +2 -0
- data/examples/rails/config/initializers/application_controller_renderer.rb +8 -0
- data/examples/rails/config/initializers/backtrace_silencers.rb +8 -0
- data/examples/rails/config/initializers/cors.rb +16 -0
- data/examples/rails/config/initializers/filter_parameter_logging.rb +6 -0
- data/examples/rails/config/initializers/inflections.rb +16 -0
- data/examples/rails/config/initializers/mime_types.rb +4 -0
- data/examples/rails/config/initializers/wrap_parameters.rb +14 -0
- data/examples/rails/config/locales/en.yml +33 -0
- data/examples/rails/config/puma.rb +43 -0
- data/examples/rails/config/routes.rb +6 -0
- data/examples/rails/config/schema.json +431 -0
- data/examples/rails/config/spring.rb +6 -0
- data/examples/rails/config/storage.yml +34 -0
- data/examples/rails/config.ru +6 -0
- data/examples/rails/db/migrate/20230730163722_create_posts.rb +8 -0
- data/examples/rails/db/migrate/20230730163741_create_comments.rb +9 -0
- data/examples/rails/db/migrate/20230730164121_add_fields_to_post.rb +6 -0
- data/examples/rails/db/migrate/20230730164214_add_fields_to_comments.rb +6 -0
- data/examples/rails/db/schema.rb +30 -0
- data/examples/rails/db/seeds.rb +7 -0
- data/examples/rails/lib/tasks/.keep +0 -0
- data/examples/rails/log/.keep +0 -0
- data/examples/rails/public/robots.txt +1 -0
- data/examples/rails/spec/models/comment_spec.rb +5 -0
- data/examples/rails/spec/models/post_spec.rb +5 -0
- data/examples/rails/spec/rails_helper.rb +63 -0
- data/examples/rails/spec/requests/comments_spec.rb +127 -0
- data/examples/rails/spec/requests/posts_spec.rb +127 -0
- data/examples/rails/spec/routing/comments_routing_spec.rb +30 -0
- data/examples/rails/spec/routing/posts_routing_spec.rb +30 -0
- data/examples/rails/spec/spec_helper.rb +94 -0
- data/examples/rails/storage/.keep +0 -0
- data/examples/rails/test/channels/application_cable/connection_test.rb +11 -0
- data/examples/rails/test/controllers/.keep +0 -0
- data/examples/rails/test/fixtures/files/.keep +0 -0
- data/examples/rails/test/integration/.keep +0 -0
- data/examples/rails/test/mailers/.keep +0 -0
- data/examples/rails/test/models/.keep +0 -0
- data/examples/rails/test/test_helper.rb +13 -0
- data/examples/rails/tmp/.keep +0 -0
- data/examples/rails/tmp/pids/.keep +0 -0
- data/examples/rails/vendor/.keep +0 -0
- data/firetail.gemspec +1 -1
- data/lib/backend.rb +0 -3
- data/lib/firetail/version.rb +1 -1
- data/lib/firetail.rb +2 -5
- data/lib/generators/firetail/install/templates/firetail.yml +2 -2
- data/lib/railtie.rb +3 -4
- metadata +90 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d72650eb852608c74233aa661dc8e0f900654e068769e6c09c29de37682e9642
|
|
4
|
+
data.tar.gz: 3538cbdb1c798756553b73921bbab9b3a7ab076b3b3c91b3a7b6e0142bbf7a7a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 41dbd5ad76e2b78381794166cf9df5dae4c3f0afea1375fb3b4b47b6e1b5feb4bb01faa72e6749627f8e47170c92e68acc2af5ed3395d4f29f414ed4b0a5467c
|
|
7
|
+
data.tar.gz: e4cb860d75a1bf262e7a351595370db8746e1018dff7f745deb70ed11cc766840922042549a3f93112a6591803ddf9ec0c3f688c954844cbeb46cc50c6a52d11
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Describe your changes
|
|
2
|
+
|
|
3
|
+
## Issue ticket number and link
|
|
4
|
+
|
|
5
|
+
## Checklist before requesting a review
|
|
6
|
+
|
|
7
|
+
- [ ] I have resolved any merge conflicts
|
|
8
|
+
- [ ] I have run tests locally and they pass
|
|
9
|
+
- [ ] I have linted and auto-formatted the code
|
|
10
|
+
- [ ] If there is new or changed functionality, I have added/updated the tests
|
|
11
|
+
- [ ] If there is new or changed functionality, I have added/updated the documentation
|
data/.gitignore
CHANGED
|
@@ -13,27 +13,27 @@
|
|
|
13
13
|
/ext/target
|
|
14
14
|
|
|
15
15
|
# Ignore bundler config.
|
|
16
|
-
/
|
|
16
|
+
/examples/rails/.bundle
|
|
17
17
|
|
|
18
18
|
# Ignore the default SQLite database.
|
|
19
|
-
/
|
|
19
|
+
/example/rails/db/*.sqlite3
|
|
20
20
|
/db/*.sqlite3-*
|
|
21
21
|
|
|
22
22
|
# Ignore all logfiles and tempfiles.
|
|
23
|
-
/rails/log/*
|
|
24
|
-
/rails/tmp/*
|
|
25
|
-
!/rails/log/.keep
|
|
26
|
-
!/rails/tmp/.keep
|
|
23
|
+
/examples/rails/log/*
|
|
24
|
+
/examples/rails/tmp/*
|
|
25
|
+
!/examples/rails/log/.keep
|
|
26
|
+
!/examples/rails/tmp/.keep
|
|
27
27
|
|
|
28
28
|
# Ignore pidfiles, but keep the directory.
|
|
29
|
-
/rails/tmp/pids/*
|
|
30
|
-
!/rails/tmp/pids/
|
|
31
|
-
!/rails/tmp/pids/.keep
|
|
29
|
+
/examples/rails/tmp/pids/*
|
|
30
|
+
!/examples/rails/tmp/pids/
|
|
31
|
+
!/examples/rails/tmp/pids/.keep
|
|
32
32
|
|
|
33
33
|
# Ignore uploaded files in development.
|
|
34
|
-
/rails/storage/*
|
|
35
|
-
!/rails/storage/.keep
|
|
36
|
-
/rails/.byebug_history
|
|
34
|
+
/examples/rails/storage/*
|
|
35
|
+
!/examples/rails/storage/.keep
|
|
36
|
+
/examples/rails/.byebug_history
|
|
37
37
|
|
|
38
38
|
# Ignore master key for decrypting credentials and more.
|
|
39
|
-
/rails/config/master.key
|
|
39
|
+
/examples/rails/config/master.key
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
firetail (0.0.
|
|
4
|
+
firetail (0.0.1.pre.alpha)
|
|
5
5
|
async (~> 1.30.3)
|
|
6
6
|
committee_firetail (~> 5.0.0)
|
|
7
7
|
json-schema (~> 3.0.0)
|
|
@@ -20,22 +20,24 @@ GEM
|
|
|
20
20
|
json_schema (~> 0.14, >= 0.14.3)
|
|
21
21
|
openapi_parser_firetail (~> 1.0)
|
|
22
22
|
rack (>= 1.5)
|
|
23
|
-
console (1.
|
|
23
|
+
console (1.19.0)
|
|
24
|
+
fiber-annotation
|
|
24
25
|
fiber-local
|
|
25
26
|
crack (0.4.5)
|
|
26
27
|
rexml
|
|
27
28
|
diff-lcs (1.5.0)
|
|
29
|
+
fiber-annotation (0.2.0)
|
|
28
30
|
fiber-local (1.0.0)
|
|
29
31
|
hashdiff (1.0.1)
|
|
30
32
|
json-schema (3.0.0)
|
|
31
33
|
addressable (>= 2.8)
|
|
32
34
|
json_schema (0.21.0)
|
|
33
|
-
jwt (2.7.
|
|
34
|
-
nio4r (2.5.
|
|
35
|
+
jwt (2.7.1)
|
|
36
|
+
nio4r (2.5.9)
|
|
35
37
|
openapi_parser_firetail (1.0.0)
|
|
36
38
|
jwt (~> 2.5)
|
|
37
39
|
public_suffix (5.0.1)
|
|
38
|
-
rack (3.0.
|
|
40
|
+
rack (3.0.6.1)
|
|
39
41
|
rake (13.0.6)
|
|
40
42
|
rexml (3.2.5)
|
|
41
43
|
rspec (3.12.0)
|
|
@@ -63,7 +65,7 @@ PLATFORMS
|
|
|
63
65
|
DEPENDENCIES
|
|
64
66
|
bundler (~> 2.0)
|
|
65
67
|
firetail!
|
|
66
|
-
rack (~> 3.0.
|
|
68
|
+
rack (~> 3.0.6.1)
|
|
67
69
|
rake (~> 13.0)
|
|
68
70
|
rspec (~> 3.0)
|
|
69
71
|
webmock (~> 3.18)
|
data/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# Firetail
|
|
2
2
|
|
|
3
|
-
Welcome to
|
|
4
|
-
|
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
|
3
|
+
Welcome to the Firetail Ruby gem. Before we start, ensure that your ruby version is 2.7 or greater. We do not support ruby versions lower than 2.7.
|
|
6
4
|
|
|
7
5
|
## Installation
|
|
8
6
|
|
|
@@ -14,15 +12,31 @@ gem 'firetail'
|
|
|
14
12
|
|
|
15
13
|
And then execute:
|
|
16
14
|
|
|
17
|
-
$ bundle
|
|
15
|
+
$ `bundle install`
|
|
16
|
+
|
|
17
|
+
Or install it yourself with:
|
|
18
|
+
|
|
19
|
+
$ `gem install firetail`
|
|
20
|
+
|
|
21
|
+
Finally, if you are using Rails, run:
|
|
22
|
+
|
|
23
|
+
$ `rails g firetail:install`
|
|
24
|
+
|
|
25
|
+
This will configure your Rails app to use Firetail gem as middleware and generate configuration and json schema template.
|
|
26
|
+
|
|
27
|
+
Finally, if you are using Rails, run:
|
|
18
28
|
|
|
19
|
-
|
|
29
|
+
$ rails g firetail:install
|
|
20
30
|
|
|
21
|
-
|
|
31
|
+
This will configure your Rails app to use the Firetail gem as middleware, and generate configuration and json schema templates.
|
|
22
32
|
|
|
23
33
|
## Usage
|
|
24
34
|
|
|
25
|
-
|
|
35
|
+
1. Setup your Firetail key by setting environment variable `FIRETAIL_API_KEY`
|
|
36
|
+
2. Setup Firetail backend URL by setting the environment variable `FIRETAIL_URL`
|
|
37
|
+
**NOTE** For US based customers, use `https://api.logging.us-east-2.prod.us.firetail.app` for `FIRETAIL_URL`. By default `FIRETAIL_URL` uses **EUROPE(EU)** servers.
|
|
38
|
+
3. Update `config/schema.json` to match your API endpoints.
|
|
39
|
+
4. That's it! Happy coding!
|
|
26
40
|
|
|
27
41
|
## Development
|
|
28
42
|
|
|
@@ -32,12 +46,12 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
|
32
46
|
|
|
33
47
|
## Contributing
|
|
34
48
|
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
|
49
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/firetail-io/firetail-ruby-lib. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
|
36
50
|
|
|
37
51
|
## License
|
|
38
52
|
|
|
39
|
-
The gem is available as open source under the terms of the
|
|
53
|
+
The gem is available as open source under the terms of the LGPL License.
|
|
40
54
|
|
|
41
55
|
## Code of Conduct
|
|
42
56
|
|
|
43
|
-
Everyone interacting in the Firetail project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/
|
|
57
|
+
Everyone interacting in the Firetail project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/firetail-io/firetail-ruby-lib/blob/main/CODE_OF_CONDUCT.md).
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
.byebug_history
|
|
29
|
+
|
|
30
|
+
# Ignore master key for decrypting credentials and more.
|
|
31
|
+
/config/master.key
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--require spec_helper
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruby-2.7.7
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
3
|
+
|
|
4
|
+
ruby '3.2.3'
|
|
5
|
+
|
|
6
|
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
|
|
7
|
+
gem 'rails', '~> 6.1.7', '>= 6.1.7.4'
|
|
8
|
+
# Use sqlite3 as the database for Active Record
|
|
9
|
+
gem 'sqlite3', '~> 1.4'
|
|
10
|
+
# Use Puma as the app server
|
|
11
|
+
gem 'puma', '~> 5.0'
|
|
12
|
+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
|
13
|
+
# gem 'jbuilder', '~> 2.7'
|
|
14
|
+
# Use Redis adapter to run Action Cable in production
|
|
15
|
+
# gem 'redis', '~> 4.0'
|
|
16
|
+
# Use Active Model has_secure_password
|
|
17
|
+
# gem 'bcrypt', '~> 3.1.7'
|
|
18
|
+
|
|
19
|
+
# Use Active Storage variant
|
|
20
|
+
# gem 'image_processing', '~> 1.2'
|
|
21
|
+
|
|
22
|
+
# Reduces boot times through caching; required in config/boot.rb
|
|
23
|
+
gem 'bootsnap', '>= 1.4.4', require: false
|
|
24
|
+
|
|
25
|
+
# Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible
|
|
26
|
+
# gem 'rack-cors'
|
|
27
|
+
|
|
28
|
+
group :development, :test do
|
|
29
|
+
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
|
30
|
+
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
|
|
31
|
+
gem "rspec", "= 3.12"
|
|
32
|
+
gem "rspec-rails"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
group :development do
|
|
36
|
+
gem 'listen', '~> 3.3'
|
|
37
|
+
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
|
38
|
+
gem 'spring'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
42
|
+
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
|
43
|
+
|
|
44
|
+
gem "firetail", "~> 1.0.1"
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ../..
|
|
3
|
+
specs:
|
|
4
|
+
firetail (0.0.1.pre.alpha)
|
|
5
|
+
async (~> 1.30.3)
|
|
6
|
+
committee_firetail (~> 5.0.1)
|
|
7
|
+
json-schema (~> 3.0.0)
|
|
8
|
+
jwt (~> 2.5)
|
|
9
|
+
|
|
10
|
+
GEM
|
|
11
|
+
remote: https://rubygems.org/
|
|
12
|
+
specs:
|
|
13
|
+
actioncable (6.1.7.4)
|
|
14
|
+
actionpack (= 6.1.7.4)
|
|
15
|
+
activesupport (= 6.1.7.4)
|
|
16
|
+
nio4r (~> 2.0)
|
|
17
|
+
websocket-driver (>= 0.6.1)
|
|
18
|
+
actionmailbox (6.1.7.4)
|
|
19
|
+
actionpack (= 6.1.7.4)
|
|
20
|
+
activejob (= 6.1.7.4)
|
|
21
|
+
activerecord (= 6.1.7.4)
|
|
22
|
+
activestorage (= 6.1.7.4)
|
|
23
|
+
activesupport (= 6.1.7.4)
|
|
24
|
+
mail (>= 2.7.1)
|
|
25
|
+
actionmailer (6.1.7.4)
|
|
26
|
+
actionpack (= 6.1.7.4)
|
|
27
|
+
actionview (= 6.1.7.4)
|
|
28
|
+
activejob (= 6.1.7.4)
|
|
29
|
+
activesupport (= 6.1.7.4)
|
|
30
|
+
mail (~> 2.5, >= 2.5.4)
|
|
31
|
+
rails-dom-testing (~> 2.0)
|
|
32
|
+
actionpack (6.1.7.4)
|
|
33
|
+
actionview (= 6.1.7.4)
|
|
34
|
+
activesupport (= 6.1.7.4)
|
|
35
|
+
rack (~> 2.0, >= 2.0.9)
|
|
36
|
+
rack-test (>= 0.6.3)
|
|
37
|
+
rails-dom-testing (~> 2.0)
|
|
38
|
+
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
|
39
|
+
actiontext (6.1.7.4)
|
|
40
|
+
actionpack (= 6.1.7.4)
|
|
41
|
+
activerecord (= 6.1.7.4)
|
|
42
|
+
activestorage (= 6.1.7.4)
|
|
43
|
+
activesupport (= 6.1.7.4)
|
|
44
|
+
nokogiri (>= 1.8.5)
|
|
45
|
+
actionview (6.1.7.4)
|
|
46
|
+
activesupport (= 6.1.7.4)
|
|
47
|
+
builder (~> 3.1)
|
|
48
|
+
erubi (~> 1.4)
|
|
49
|
+
rails-dom-testing (~> 2.0)
|
|
50
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
51
|
+
activejob (6.1.7.4)
|
|
52
|
+
activesupport (= 6.1.7.4)
|
|
53
|
+
globalid (>= 0.3.6)
|
|
54
|
+
activemodel (6.1.7.4)
|
|
55
|
+
activesupport (= 6.1.7.4)
|
|
56
|
+
activerecord (6.1.7.4)
|
|
57
|
+
activemodel (= 6.1.7.4)
|
|
58
|
+
activesupport (= 6.1.7.4)
|
|
59
|
+
activestorage (6.1.7.4)
|
|
60
|
+
actionpack (= 6.1.7.4)
|
|
61
|
+
activejob (= 6.1.7.4)
|
|
62
|
+
activerecord (= 6.1.7.4)
|
|
63
|
+
activesupport (= 6.1.7.4)
|
|
64
|
+
marcel (~> 1.0)
|
|
65
|
+
mini_mime (>= 1.1.0)
|
|
66
|
+
activesupport (6.1.7.4)
|
|
67
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
68
|
+
i18n (>= 1.6, < 2)
|
|
69
|
+
minitest (>= 5.1)
|
|
70
|
+
tzinfo (~> 2.0)
|
|
71
|
+
zeitwerk (~> 2.3)
|
|
72
|
+
addressable (2.8.6)
|
|
73
|
+
public_suffix (>= 2.0.2, < 6.0)
|
|
74
|
+
async (1.30.3)
|
|
75
|
+
console (~> 1.10)
|
|
76
|
+
nio4r (~> 2.3)
|
|
77
|
+
timers (~> 4.1)
|
|
78
|
+
base64 (0.2.0)
|
|
79
|
+
bootsnap (1.16.0)
|
|
80
|
+
msgpack (~> 1.2)
|
|
81
|
+
builder (3.2.4)
|
|
82
|
+
byebug (11.1.3)
|
|
83
|
+
committee_firetail (5.0.1)
|
|
84
|
+
json_schema (~> 0.14, >= 0.14.3)
|
|
85
|
+
openapi_parser (~> 2.1.0)
|
|
86
|
+
rack (>= 1.5)
|
|
87
|
+
concurrent-ruby (1.2.2)
|
|
88
|
+
console (1.24.0)
|
|
89
|
+
fiber-annotation
|
|
90
|
+
fiber-local
|
|
91
|
+
json
|
|
92
|
+
crass (1.0.6)
|
|
93
|
+
date (3.3.3)
|
|
94
|
+
diff-lcs (1.5.0)
|
|
95
|
+
erubi (1.12.0)
|
|
96
|
+
ffi (1.15.5)
|
|
97
|
+
fiber-annotation (0.2.0)
|
|
98
|
+
fiber-local (1.0.0)
|
|
99
|
+
globalid (1.1.0)
|
|
100
|
+
activesupport (>= 5.0)
|
|
101
|
+
i18n (1.14.1)
|
|
102
|
+
concurrent-ruby (~> 1.0)
|
|
103
|
+
json (2.7.2)
|
|
104
|
+
json-schema (3.0.0)
|
|
105
|
+
addressable (>= 2.8)
|
|
106
|
+
json_schema (0.21.0)
|
|
107
|
+
jwt (2.8.1)
|
|
108
|
+
base64
|
|
109
|
+
listen (3.8.0)
|
|
110
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
111
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
|
112
|
+
loofah (2.21.3)
|
|
113
|
+
crass (~> 1.0.2)
|
|
114
|
+
nokogiri (>= 1.12.0)
|
|
115
|
+
mail (2.8.1)
|
|
116
|
+
mini_mime (>= 0.1.1)
|
|
117
|
+
net-imap
|
|
118
|
+
net-pop
|
|
119
|
+
net-smtp
|
|
120
|
+
marcel (1.0.2)
|
|
121
|
+
method_source (1.0.0)
|
|
122
|
+
mini_mime (1.1.2)
|
|
123
|
+
mini_portile2 (2.8.4)
|
|
124
|
+
minitest (5.19.0)
|
|
125
|
+
msgpack (1.7.2)
|
|
126
|
+
net-imap (0.3.7)
|
|
127
|
+
date
|
|
128
|
+
net-protocol
|
|
129
|
+
net-pop (0.1.2)
|
|
130
|
+
net-protocol
|
|
131
|
+
net-protocol (0.2.1)
|
|
132
|
+
timeout
|
|
133
|
+
net-smtp (0.3.3)
|
|
134
|
+
net-protocol
|
|
135
|
+
nio4r (2.5.9)
|
|
136
|
+
nokogiri (1.15.3)
|
|
137
|
+
mini_portile2 (~> 2.8.2)
|
|
138
|
+
racc (~> 1.4)
|
|
139
|
+
openapi_parser (2.1.0)
|
|
140
|
+
public_suffix (5.0.5)
|
|
141
|
+
puma (5.6.6)
|
|
142
|
+
nio4r (~> 2.0)
|
|
143
|
+
racc (1.7.1)
|
|
144
|
+
rack (2.2.7)
|
|
145
|
+
rack-test (2.1.0)
|
|
146
|
+
rack (>= 1.3)
|
|
147
|
+
rails (6.1.7.4)
|
|
148
|
+
actioncable (= 6.1.7.4)
|
|
149
|
+
actionmailbox (= 6.1.7.4)
|
|
150
|
+
actionmailer (= 6.1.7.4)
|
|
151
|
+
actionpack (= 6.1.7.4)
|
|
152
|
+
actiontext (= 6.1.7.4)
|
|
153
|
+
actionview (= 6.1.7.4)
|
|
154
|
+
activejob (= 6.1.7.4)
|
|
155
|
+
activemodel (= 6.1.7.4)
|
|
156
|
+
activerecord (= 6.1.7.4)
|
|
157
|
+
activestorage (= 6.1.7.4)
|
|
158
|
+
activesupport (= 6.1.7.4)
|
|
159
|
+
bundler (>= 1.15.0)
|
|
160
|
+
railties (= 6.1.7.4)
|
|
161
|
+
sprockets-rails (>= 2.0.0)
|
|
162
|
+
rails-dom-testing (2.1.1)
|
|
163
|
+
activesupport (>= 5.0.0)
|
|
164
|
+
minitest
|
|
165
|
+
nokogiri (>= 1.6)
|
|
166
|
+
rails-html-sanitizer (1.6.0)
|
|
167
|
+
loofah (~> 2.21)
|
|
168
|
+
nokogiri (~> 1.14)
|
|
169
|
+
railties (6.1.7.4)
|
|
170
|
+
actionpack (= 6.1.7.4)
|
|
171
|
+
activesupport (= 6.1.7.4)
|
|
172
|
+
method_source
|
|
173
|
+
rake (>= 12.2)
|
|
174
|
+
thor (~> 1.0)
|
|
175
|
+
rake (13.0.6)
|
|
176
|
+
rb-fsevent (0.11.2)
|
|
177
|
+
rb-inotify (0.10.1)
|
|
178
|
+
ffi (~> 1.0)
|
|
179
|
+
rspec (3.12.0)
|
|
180
|
+
rspec-core (~> 3.12.0)
|
|
181
|
+
rspec-expectations (~> 3.12.0)
|
|
182
|
+
rspec-mocks (~> 3.12.0)
|
|
183
|
+
rspec-core (3.12.2)
|
|
184
|
+
rspec-support (~> 3.12.0)
|
|
185
|
+
rspec-expectations (3.12.3)
|
|
186
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
187
|
+
rspec-support (~> 3.12.0)
|
|
188
|
+
rspec-mocks (3.12.6)
|
|
189
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
190
|
+
rspec-support (~> 3.12.0)
|
|
191
|
+
rspec-rails (6.0.3)
|
|
192
|
+
actionpack (>= 6.1)
|
|
193
|
+
activesupport (>= 6.1)
|
|
194
|
+
railties (>= 6.1)
|
|
195
|
+
rspec-core (~> 3.12)
|
|
196
|
+
rspec-expectations (~> 3.12)
|
|
197
|
+
rspec-mocks (~> 3.12)
|
|
198
|
+
rspec-support (~> 3.12)
|
|
199
|
+
rspec-support (3.12.1)
|
|
200
|
+
spring (4.1.1)
|
|
201
|
+
sprockets (4.2.0)
|
|
202
|
+
concurrent-ruby (~> 1.0)
|
|
203
|
+
rack (>= 2.2.4, < 4)
|
|
204
|
+
sprockets-rails (3.4.2)
|
|
205
|
+
actionpack (>= 5.2)
|
|
206
|
+
activesupport (>= 5.2)
|
|
207
|
+
sprockets (>= 3.0.0)
|
|
208
|
+
sqlite3 (1.6.3)
|
|
209
|
+
mini_portile2 (~> 2.8.0)
|
|
210
|
+
thor (1.2.2)
|
|
211
|
+
timeout (0.4.0)
|
|
212
|
+
timers (4.3.5)
|
|
213
|
+
tzinfo (2.0.6)
|
|
214
|
+
concurrent-ruby (~> 1.0)
|
|
215
|
+
websocket-driver (0.7.6)
|
|
216
|
+
websocket-extensions (>= 0.1.0)
|
|
217
|
+
websocket-extensions (0.1.5)
|
|
218
|
+
zeitwerk (2.6.9)
|
|
219
|
+
|
|
220
|
+
PLATFORMS
|
|
221
|
+
ruby
|
|
222
|
+
|
|
223
|
+
DEPENDENCIES
|
|
224
|
+
bootsnap (>= 1.4.4)
|
|
225
|
+
byebug
|
|
226
|
+
firetail!
|
|
227
|
+
listen (~> 3.3)
|
|
228
|
+
puma (~> 5.0)
|
|
229
|
+
rails (~> 6.1.7, >= 6.1.7.4)
|
|
230
|
+
rspec (= 3.12)
|
|
231
|
+
rspec-rails
|
|
232
|
+
spring
|
|
233
|
+
sqlite3 (~> 1.4)
|
|
234
|
+
tzinfo-data
|
|
235
|
+
|
|
236
|
+
RUBY VERSION
|
|
237
|
+
ruby 3.2.3p157
|
|
238
|
+
|
|
239
|
+
BUNDLED WITH
|
|
240
|
+
2.1.4
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# README
|
|
2
|
+
|
|
3
|
+
This README would normally document whatever steps are necessary to get the
|
|
4
|
+
application up and running.
|
|
5
|
+
|
|
6
|
+
Things you may want to cover:
|
|
7
|
+
|
|
8
|
+
* Ruby version
|
|
9
|
+
|
|
10
|
+
* System dependencies
|
|
11
|
+
|
|
12
|
+
* Configuration
|
|
13
|
+
|
|
14
|
+
* Database creation
|
|
15
|
+
|
|
16
|
+
* Database initialization
|
|
17
|
+
|
|
18
|
+
* How to run the test suite
|
|
19
|
+
|
|
20
|
+
* Services (job queues, cache servers, search engines, etc.)
|
|
21
|
+
|
|
22
|
+
* Deployment instructions
|
|
23
|
+
|
|
24
|
+
* ...
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
class CommentsController < ApplicationController
|
|
2
|
+
before_action :set_comment, only: [:show, :update, :destroy]
|
|
3
|
+
|
|
4
|
+
# GET /comments
|
|
5
|
+
def index
|
|
6
|
+
@comments = Comment.all
|
|
7
|
+
|
|
8
|
+
render json: @comments
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# GET /comments/1
|
|
12
|
+
def show
|
|
13
|
+
render json: @comment
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# POST /comments
|
|
17
|
+
def create
|
|
18
|
+
@post = Post.find(params[:post_id])
|
|
19
|
+
@comment = @post.comments.new(comment_params)
|
|
20
|
+
|
|
21
|
+
if @comment.save
|
|
22
|
+
render json: @comment, status: :created
|
|
23
|
+
else
|
|
24
|
+
render json: @comment.errors, status: :unprocessable_entity
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# PATCH/PUT /comments/1
|
|
29
|
+
def update
|
|
30
|
+
if @comment.update(comment_params)
|
|
31
|
+
render json: @comment
|
|
32
|
+
else
|
|
33
|
+
render json: @comment.errors, status: :unprocessable_entity
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# DELETE /comments/1
|
|
38
|
+
def destroy
|
|
39
|
+
@comment.destroy
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
private
|
|
43
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
44
|
+
def set_comment
|
|
45
|
+
@comment = Comment.find(params[:id])
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Only allow a list of trusted parameters through.
|
|
49
|
+
def comment_params
|
|
50
|
+
params.require(:comment).permit(:message, :post_id)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
class PostsController < ApplicationController
|
|
2
|
+
before_action :set_post, only: [:show, :update, :destroy]
|
|
3
|
+
|
|
4
|
+
# GET /posts
|
|
5
|
+
def index
|
|
6
|
+
@posts = Post.all
|
|
7
|
+
|
|
8
|
+
render json: @posts
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# GET /posts/1
|
|
12
|
+
def show
|
|
13
|
+
render json: @post
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# POST /posts
|
|
17
|
+
def create
|
|
18
|
+
@post = Post.new(post_params)
|
|
19
|
+
|
|
20
|
+
if @post.save
|
|
21
|
+
render json: @post, status: :created, location: @post
|
|
22
|
+
else
|
|
23
|
+
render json: @post.errors, status: :unprocessable_entity
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# PATCH/PUT /posts/1
|
|
28
|
+
def update
|
|
29
|
+
if @post.update(post_params)
|
|
30
|
+
render json: @post
|
|
31
|
+
else
|
|
32
|
+
render json: @post.errors, status: :unprocessable_entity
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# DELETE /posts/1
|
|
37
|
+
def destroy
|
|
38
|
+
@post.destroy
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
43
|
+
def set_post
|
|
44
|
+
@post = Post.find(params[:id])
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Only allow a list of trusted parameters through.
|
|
48
|
+
def post_params
|
|
49
|
+
params.require(:post).permit(:title, :content, comments: [:message])
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
class ApplicationJob < ActiveJob::Base
|
|
2
|
+
# Automatically retry jobs that encountered a deadlock
|
|
3
|
+
# retry_on ActiveRecord::Deadlocked
|
|
4
|
+
|
|
5
|
+
# Most jobs are safe to ignore if the underlying records are no longer available
|
|
6
|
+
# discard_on ActiveJob::DeserializationError
|
|
7
|
+
end
|