test branch for rails up

This commit is contained in:
viehlieb 2022-10-13 17:43:00 +02:00
parent 858eb06922
commit d059b736a6
18 changed files with 398 additions and 249 deletions

View file

@ -1,7 +1,7 @@
# A sample Gemfile
source "https://rubygems.org"
gem "rails", '~> 5.2'
gem "rails", '~> 6.1'
gem 'sass-rails'
gem 'less-rails'
@ -115,8 +115,5 @@ group :test do
gem 'simplecov', require: false
gem 'simplecov-lcov', require: false
# api
gem 'apivore', require: false
gem 'rswag'
gem 'rswag-specs'
gem 'hashie', '~> 3.4.6', require: false # https://github.com/westfieldlabs/apivore/issues/114
end

View file

@ -59,67 +59,77 @@ PATH
GEM
remote: https://rubygems.org/
specs:
actioncable (5.2.8)
actionpack (= 5.2.8)
actioncable (6.1.7)
actionpack (= 6.1.7)
activesupport (= 6.1.7)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailer (5.2.8)
actionpack (= 5.2.8)
actionview (= 5.2.8)
activejob (= 5.2.8)
actionmailbox (6.1.7)
actionpack (= 6.1.7)
activejob (= 6.1.7)
activerecord (= 6.1.7)
activestorage (= 6.1.7)
activesupport (= 6.1.7)
mail (>= 2.7.1)
actionmailer (6.1.7)
actionpack (= 6.1.7)
actionview (= 6.1.7)
activejob (= 6.1.7)
activesupport (= 6.1.7)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (5.2.8)
actionview (= 5.2.8)
activesupport (= 5.2.8)
rack (~> 2.0, >= 2.0.8)
actionpack (6.1.7)
actionview (= 6.1.7)
activesupport (= 6.1.7)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.2.8)
activesupport (= 5.2.8)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.1.7)
actionpack (= 6.1.7)
activerecord (= 6.1.7)
activestorage (= 6.1.7)
activesupport (= 6.1.7)
nokogiri (>= 1.8.5)
actionview (6.1.7)
activesupport (= 6.1.7)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
active_model_serializers (0.10.13)
actionpack (>= 4.1, < 7.1)
activemodel (>= 4.1, < 7.1)
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
activejob (5.2.8)
activesupport (= 5.2.8)
activejob (6.1.7)
activesupport (= 6.1.7)
globalid (>= 0.3.6)
activemodel (5.2.8)
activesupport (= 5.2.8)
activerecord (5.2.8)
activemodel (= 5.2.8)
activesupport (= 5.2.8)
arel (>= 9.0)
activestorage (5.2.8)
actionpack (= 5.2.8)
activerecord (= 5.2.8)
marcel (~> 1.0.0)
activesupport (5.2.8)
activemodel (6.1.7)
activesupport (= 6.1.7)
activerecord (6.1.7)
activemodel (= 6.1.7)
activesupport (= 6.1.7)
activestorage (6.1.7)
actionpack (= 6.1.7)
activejob (= 6.1.7)
activerecord (= 6.1.7)
activesupport (= 6.1.7)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (6.1.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
acts_as_tree (2.9.1)
activerecord (>= 3.0.0)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
apivore (1.6.2)
actionpack (>= 4, < 6)
hashie (~> 3.3)
json-schema (~> 2.5)
rspec (~> 3)
rspec-expectations (~> 3.1)
rspec-mocks (~> 3.1)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
apparition (0.6.0)
capybara (~> 3.13, < 4)
websocket-driver (>= 0.6.5)
arel (9.0.0)
ast (2.4.2)
attribute_normalizer (1.2.0)
base32 (0.3.4)
@ -130,12 +140,12 @@ GEM
bindex (0.8.1)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
bootsnap (1.11.1)
bootsnap (1.13.0)
msgpack (~> 1.2)
bootstrap-datepicker-rails (1.9.0.1)
railties (>= 3.0)
builder (3.2.4)
bullet (7.0.1)
bullet (7.0.3)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
capybara (3.36.0)
@ -160,7 +170,7 @@ GEM
coffee-script-source (1.12.2)
commonjs (0.2.7)
concurrent-ruby (1.1.10)
connection_pool (2.2.5)
connection_pool (2.3.0)
content_for_in_controllers (0.0.2)
crass (1.0.6)
daemons (1.4.1)
@ -180,15 +190,14 @@ GEM
railties (>= 5.2)
rainbow (>= 2.1.0)
diff-lcs (1.5.0)
diffy (3.4.0)
diffy (3.4.2)
docile (1.4.0)
doorkeeper (5.5.4)
doorkeeper (5.6.0)
railties (>= 5)
doorkeeper-i18n (5.2.3)
doorkeeper-i18n (5.2.5)
doorkeeper (>= 5.2)
email_reply_trimmer (0.1.13)
erubi (1.10.0)
erubis (2.7.0)
erubi (1.11.0)
eventmachine (1.2.7)
exception_notification (4.5.0)
actionmailer (>= 5.2, < 8)
@ -200,33 +209,28 @@ GEM
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
railties (>= 5.0.0)
faker (2.21.0)
faker (2.22.0)
i18n (>= 1.8.11, < 2)
ffi (1.15.5)
gaffe (1.2.0)
rails (>= 4.0.0)
globalid (1.0.0)
activesupport (>= 5.0)
haml (5.2.2)
temple (>= 0.8.0)
haml (6.0.6)
temple (>= 0.8.2)
thor
tilt
haml-rails (2.0.1)
haml-rails (2.1.0)
actionpack (>= 5.1)
activesupport (>= 5.1)
haml (>= 4.0.6, < 6.0)
html2haml (>= 1.0.1)
haml (>= 4.0.6)
railties (>= 5.1)
has_scope (0.8.0)
actionpack (>= 5.2)
activesupport (>= 5.2)
hashie (3.4.6)
html2haml (2.2.0)
erubis (~> 2.7.0)
haml (>= 4.0, < 6)
nokogiri (>= 1.6.0)
ruby_parser (~> 3.5)
htmlentities (4.3.4)
i18n (1.10.0)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
i18n-js (3.0.11)
i18n (>= 0.6.6, < 2)
@ -246,8 +250,6 @@ GEM
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
json (2.6.2)
json-schema (2.8.1)
addressable (>= 2.4)
jsonapi-renderer (0.2.2)
kaminari (1.2.2)
activesupport (>= 4.1.0)
@ -271,7 +273,7 @@ GEM
listen (3.7.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.18.0)
loofah (2.19.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
@ -298,19 +300,19 @@ GEM
mime-types-data (3.2022.0105)
mini_mime (1.1.2)
mini_portile2 (2.8.0)
minitest (5.15.0)
minitest (5.16.3)
mono_logger (1.1.1)
msgpack (1.5.2)
msgpack (1.6.0)
multi_json (1.15.0)
mustermann (1.1.1)
mustermann (3.0.0)
ruby2_keywords (~> 0.0.1)
mysql2 (0.5.4)
nio4r (2.5.8)
nokogiri (1.13.6)
nokogiri (1.13.8)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
parallel (1.22.1)
parser (3.1.2.0)
parser (3.1.2.1)
ast (~> 2.4.1)
pdf-core (0.9.0)
polyglot (0.3.5)
@ -328,59 +330,61 @@ GEM
pry-stack_explorer (0.6.1)
binding_of_caller (~> 1.0)
pry (~> 0.13)
public_suffix (4.0.7)
puma (5.6.4)
public_suffix (5.0.0)
puma (5.6.5)
nio4r (~> 2.0)
racc (1.6.0)
rack (2.2.3.1)
rack (2.2.4)
rack-contrib (2.3.0)
rack (~> 2.0)
rack-cors (1.1.1)
rack (>= 2.0.0)
rack-protection (2.2.0)
rack-protection (3.0.2)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (5.2.8)
actioncable (= 5.2.8)
actionmailer (= 5.2.8)
actionpack (= 5.2.8)
actionview (= 5.2.8)
activejob (= 5.2.8)
activemodel (= 5.2.8)
activerecord (= 5.2.8)
activestorage (= 5.2.8)
activesupport (= 5.2.8)
bundler (>= 1.3.0)
railties (= 5.2.8)
rack-test (2.0.2)
rack (>= 1.3)
rails (6.1.7)
actioncable (= 6.1.7)
actionmailbox (= 6.1.7)
actionmailer (= 6.1.7)
actionpack (= 6.1.7)
actiontext (= 6.1.7)
actionview (= 6.1.7)
activejob (= 6.1.7)
activemodel (= 6.1.7)
activerecord (= 6.1.7)
activestorage (= 6.1.7)
activesupport (= 6.1.7)
bundler (>= 1.15.0)
railties (= 6.1.7)
sprockets-rails (>= 2.0.0)
rails-assets-listjs (0.2.0.beta.4)
railties (>= 3.1)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.4.2)
rails-html-sanitizer (1.4.3)
loofah (~> 2.3)
rails-i18n (5.1.3)
rails-i18n (7.0.5)
i18n (>= 0.7, < 2)
railties (>= 5.0, < 6)
railties (>= 6.0.0, < 8)
rails-settings-cached (0.4.3)
rails (>= 4.2.0)
rails_tokeninput (1.7.0)
railties (>= 3.1.0)
railties (5.2.8)
actionpack (= 5.2.8)
activesupport (= 5.2.8)
railties (6.1.7)
actionpack (= 6.1.7)
activesupport (= 6.1.7)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rake (>= 12.2)
thor (~> 1.0)
rainbow (3.1.1)
rake (13.0.6)
ransack (2.5.0)
activerecord (>= 5.2.4)
activesupport (>= 5.2.4)
ransack (3.0.1)
activerecord (>= 6.0.4)
activesupport (>= 6.0.4)
i18n
rb-fsevent (0.11.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
recurring_select (3.0.0)
@ -389,15 +393,18 @@ GEM
jquery-rails (>= 3.0)
rails (>= 5.2)
sass-rails (>= 4.0)
redis (4.6.0)
redis-namespace (1.8.2)
redis (>= 3.0.4)
redis (5.0.5)
redis-client (>= 0.9.0)
redis-client (0.10.0)
connection_pool
redis-namespace (1.9.0)
redis (>= 4)
ref (2.0.0)
regexp_parser (2.4.0)
regexp_parser (2.6.0)
responders (3.0.1)
actionpack (>= 5.0)
railties (>= 5.0)
resque (2.2.1)
resque (2.4.0)
mono_logger (~> 1.0)
multi_json (~> 1.0)
redis-namespace (~> 1.6)
@ -416,61 +423,47 @@ GEM
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.0)
rspec-expectations (3.11.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-mocks (3.11.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-rails (5.1.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
railties (>= 5.2)
rspec-core (~> 3.10)
rspec-expectations (~> 3.10)
rspec-mocks (~> 3.10)
rspec-support (~> 3.10)
rspec-rails (6.0.0)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-core (~> 3.11)
rspec-expectations (~> 3.11)
rspec-mocks (~> 3.11)
rspec-support (~> 3.11)
rspec-rerun (1.1.0)
rspec (~> 3.0)
rspec-support (3.11.0)
rswag (2.6.0)
rswag-api (= 2.6.0)
rswag-specs (= 2.6.0)
rswag-ui (= 2.6.0)
rswag-api (2.6.0)
railties (>= 3.1, < 7.1)
rswag-specs (2.6.0)
activesupport (>= 3.1, < 7.1)
json-schema (~> 2.2)
railties (>= 3.1, < 7.1)
rswag-ui (2.6.0)
actionpack (>= 3.1, < 7.1)
railties (>= 3.1, < 7.1)
rubocop (1.30.0)
rspec-support (3.11.1)
rubocop (1.36.0)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.1.0.0)
parser (>= 3.1.2.1)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.18.0, < 2.0)
rubocop-ast (>= 1.20.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.18.0)
rubocop-ast (1.21.0)
parser (>= 3.1.1.0)
rubocop-rails (2.14.2)
rubocop-rails (2.16.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.7.0, < 2.0)
rubocop-rspec (2.11.1)
rubocop (~> 1.19)
rubocop (>= 1.33.0, < 2.0)
rubocop-rspec (2.13.2)
rubocop (~> 1.33)
ruby-filemagic (0.7.3)
ruby-ole (1.2.12.2)
ruby-prof (1.4.3)
ruby-progressbar (1.11.0)
ruby-units (2.3.2)
ruby-units (3.0.0)
ruby2_keywords (0.0.5)
ruby_parser (3.19.1)
sexp_processor (~> 4.16)
rubyzip (2.3.2)
sass-rails (6.0.0)
sassc-rails (~> 2.1, >= 2.1.1)
@ -483,7 +476,6 @@ GEM
sprockets-rails
tilt
select2-rails (4.0.13)
sexp_processor (4.16.1)
simple-navigation (3.14.0)
activesupport (>= 2.3.2)
simple-navigation-bootstrap (1.0.2)
@ -499,10 +491,10 @@ GEM
simplecov-html (0.12.3)
simplecov-lcov (0.8.0)
simplecov_json_formatter (0.1.4)
sinatra (2.2.0)
mustermann (~> 1.0)
rack (~> 2.2)
rack-protection (= 2.2.0)
sinatra (3.0.2)
mustermann (~> 3.0)
rack (~> 2.2, >= 2.2.4)
rack-protection (= 3.0.2)
tilt (~> 2.0)
skinny (0.2.2)
eventmachine (~> 1.0)
@ -529,8 +521,7 @@ GEM
eventmachine (~> 1.0, >= 1.0.4)
rack (>= 1, < 3)
thor (1.2.1)
thread_safe (0.3.6)
tilt (2.0.10)
tilt (2.0.11)
ttfunk (1.7.0)
twitter-bootstrap-rails (2.2.8)
actionpack (>= 3.1)
@ -539,20 +530,20 @@ GEM
railties (>= 3.1)
twitter-text (1.14.7)
unf (~> 0.1.0)
tzinfo (1.2.9)
thread_safe (~> 0.1)
tzinfo (2.0.5)
concurrent-ruby (~> 1.0)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.1.0)
unicode-display_width (2.3.0)
uniform_notifier (1.16.0)
web-console (3.7.0)
actionview (>= 5.0)
activemodel (>= 5.0)
web-console (4.2.0)
actionview (>= 6.0.0)
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 5.0)
railties (>= 6.0.0)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
@ -566,6 +557,7 @@ GEM
twitter-text
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.1)
PLATFORMS
ruby
@ -574,7 +566,6 @@ DEPENDENCIES
active_model_serializers (~> 0.10.0)
acts_as_tree
acts_as_versioned!
apivore
apparition
attribute_normalizer
better_errors
@ -621,7 +612,7 @@ DEPENDENCIES
pry-stack_explorer
puma
rack-cors
rails (~> 5.2)
rails (~> 6.1)
rails-assets-listjs (= 0.2.0.beta.4)
rails-i18n
rails-settings-cached (= 0.4.3)
@ -634,8 +625,6 @@ DEPENDENCIES
rspec-core
rspec-rails
rspec-rerun
rswag
rswag-specs
rubocop
rubocop-rails
rubocop-rspec

View file

@ -1,9 +1,15 @@
#!/usr/bin/env ruby
APP_ROOT = File.expand_path('..', __dir__)
Dir.chdir(APP_ROOT) do
begin
exec "yarnpkg", *ARGV
rescue Errno::ENOENT
yarn = ENV["PATH"].split(File::PATH_SEPARATOR).
select { |dir| File.expand_path(dir) != __dir__ }.
product(["yarn", "yarn.cmd", "yarn.ps1"]).
map { |dir, file| File.expand_path(file, dir) }.
find { |file| File.executable?(file) }
if yarn
exec yarn, *ARGV
else
$stderr.puts "Yarn executable was not detected in the system."
$stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
exit 1

View file

@ -1,8 +1,6 @@
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
require_relative "config/environment"
# https://gist.github.com/ebeigarts/5450422
map ENV.fetch('RAILS_RELATIVE_URL_ROOT', '/') do
run Foodsoft::Application
end
run Rails.application
Rails.application.load_server

View file

@ -63,6 +63,11 @@ module Foodsoft
# Load legacy scripts from vendor
config.assets.precompile += ['vendor/assets/javascripts/*.js']
config.active_record.yaml_column_permitted_classes = [Symbol, BigDecimal]
#Ex:- :default =>''
# CORS for API
config.middleware.insert_before 0, Rack::Cors do
allow do

View file

@ -1,14 +1,13 @@
# Foodsoft test configuration.
#
# This file is in the public domain.
require "active_support/core_ext/integer/time"
# The test environment is used exclusively to run your application's
# test suite. You never need to work with it otherwise. Remember that
# your test database is "scratch space" for the test suite and is wiped
# and recreated between test runs. Don't rely on the data there!
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
# The test environment is used exclusively to run your application's
# test suite. You never need to work with it otherwise. Remember that
# your test database is "scratch space" for the test suite and is wiped
# and recreated between test runs. Don't rely on the data there!
config.cache_classes = true
# Do not eager load code on boot. This avoids loading your whole application
@ -25,6 +24,7 @@ Rails.application.configure do
# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
config.cache_store = :null_store
# Raise exceptions instead of rendering exception templates.
config.action_dispatch.show_exceptions = false
@ -32,7 +32,7 @@ Rails.application.configure do
# Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = false
# Store uploaded files on the local file system in a temporary directory
# Store uploaded files on the local file system in a temporary directory.
config.active_storage.service = :test
config.action_mailer.perform_caching = false
@ -45,6 +45,15 @@ Rails.application.configure do
# Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr
# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
# Raise exceptions for disallowed deprecations.
config.active_support.disallowed_deprecation = :raise
# Tell Active Support which deprecation messages to disallow.
config.active_support.disallowed_deprecation_warnings = []
# Raises error for missing translations.
# config.i18n.raise_on_missing_translations = true
# Annotate rendered view with file names.
# config.action_view.annotate_rendered_view_with_filenames = true
end

View file

@ -1,7 +1,8 @@
# Be sure to restart your server when you modify this file.
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
# Rails.backtrace_cleaner.add_silencer { |line| /my_noisy_library/.match?(line) }
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
# Rails.backtrace_cleaner.remove_silencers!
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code
# by setting BACKTRACE=1 before calling your invocation, like "BACKTRACE=1 ./bin/rails runner 'MyClass.perform'".
Rails.backtrace_cleaner.remove_silencers! if ENV["BACKTRACE"]

View file

@ -11,6 +11,8 @@
# policy.object_src :none
# policy.script_src :self, :https
# policy.style_src :self, :https
# # If you are using webpack-dev-server then specify webpack-dev-server host
# policy.connect_src :self, :https, "http://localhost:3035", "ws://localhost:3035" if Rails.env.development?
# # Specify URI for violation reports
# # policy.report_uri "/csp-violation-report-endpoint"
@ -19,6 +21,9 @@
# If you are using UJS then enable automatic nonce generation
# Rails.application.config.content_security_policy_nonce_generator = -> request { SecureRandom.base64(16) }
# Set the nonce only to specific directives
# Rails.application.config.content_security_policy_nonce_directives = %w(script-src)
# Report CSP violations to a specified URI
# For further information see the following documentation:
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only

View file

@ -1,4 +1,6 @@
# Be sure to restart your server when you modify this file.
# Configure sensitive parameters which will be filtered from the log file.
Rails.application.config.filter_parameters += [:password]
Rails.application.config.filter_parameters += [
:passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
]

View file

@ -29,7 +29,9 @@
# Store boolean values are in sqlite3 databases as 1 and 0 instead of 't' and
# 'f' after migrating old data.
Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
# deprecated in rails 6.0 default behaviour represents bool as int in sqlite3 db
#Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
# Use SHA-1 instead of MD5 to generate non-sensitive digests, such as the ETag header.
# Rails.application.config.active_support.use_sha1_digests = true

View file

@ -0,0 +1,67 @@
# Be sure to restart your server when you modify this file.
#
# This file contains migration options to ease your Rails 6.1 upgrade.
#
# Once upgraded flip defaults one by one to migrate to the new default.
#
# Read the Guide for Upgrading Ruby on Rails for more info on each option.
# Support for inversing belongs_to -> has_many Active Record associations.
# Rails.application.config.active_record.has_many_inversing = true
# Track Active Storage variants in the database.
# Rails.application.config.active_storage.track_variants = true
# Apply random variation to the delay when retrying failed jobs.
# Rails.application.config.active_job.retry_jitter = 0.15
# Stop executing `after_enqueue`/`after_perform` callbacks if
# `before_enqueue`/`before_perform` respectively halts with `throw :abort`.
# Rails.application.config.active_job.skip_after_callbacks_if_terminated = true
# Specify cookies SameSite protection level: either :none, :lax, or :strict.
#
# This change is not backwards compatible with earlier Rails versions.
# It's best enabled when your entire app is migrated and stable on 6.1.
# Rails.application.config.action_dispatch.cookies_same_site_protection = :lax
# Generate CSRF tokens that are encoded in URL-safe Base64.
#
# This change is not backwards compatible with earlier Rails versions.
# It's best enabled when your entire app is migrated and stable on 6.1.
# Rails.application.config.action_controller.urlsafe_csrf_tokens = true
# Specify whether `ActiveSupport::TimeZone.utc_to_local` returns a time with an
# UTC offset or a UTC time.
# ActiveSupport.utc_to_local_returns_utc_offset_times = true
# Change the default HTTP status code to `308` when redirecting non-GET/HEAD
# requests to HTTPS in `ActionDispatch::SSL` middleware.
# Rails.application.config.action_dispatch.ssl_default_redirect_status = 308
# Use new connection handling API. For most applications this won't have any
# effect. For applications using multiple databases, this new API provides
# support for granular connection swapping.
# Rails.application.config.active_record.legacy_connection_handling = false
# Make `form_with` generate non-remote forms by default.
# Rails.application.config.action_view.form_with_generates_remote_forms = false
# Set the default queue name for the analysis job to the queue adapter default.
# Rails.application.config.active_storage.queues.analysis = nil
# Set the default queue name for the purge job to the queue adapter default.
# Rails.application.config.active_storage.queues.purge = nil
# Set the default queue name for the incineration job to the queue adapter default.
# Rails.application.config.action_mailbox.queues.incineration = nil
# Set the default queue name for the routing job to the queue adapter default.
# Rails.application.config.action_mailbox.queues.routing = nil
# Set the default queue name for the mail deliver job to the queue adapter default.
# Rails.application.config.action_mailer.deliver_later_queue_name = nil
# Generate a `Link` header that gives a hint to modern browsers about
# preloading assets when using `javascript_include_tag` and `stylesheet_link_tag`.
# Rails.application.config.action_view.preload_links_header = true

View file

@ -0,0 +1,11 @@
# Define an application-wide HTTP permissions policy. For further
# information see https://developers.google.com/web/updates/2018/06/feature-policy
#
# Rails.application.config.permissions_policy do |f|
# f.camera :none
# f.gyroscope :none
# f.microphone :none
# f.usb :none
# f.fullscreen :self
# f.payment :self, "https://secure.example.com"
# end

View file

@ -1,4 +1,4 @@
raise "Remove no-longer-needed #{__FILE__}!" if Rails::VERSION::MAJOR >= 6
#raise "Remove no-longer-needed #{__FILE__}!" if Rails::VERSION::MAJOR >= 6
require "weakref"

View file

@ -0,0 +1,22 @@
# This migration comes from active_storage (originally 20190112182829)
class AddServiceNameToActiveStorageBlobs < ActiveRecord::Migration[6.0]
def up
return unless table_exists?(:active_storage_blobs)
unless column_exists?(:active_storage_blobs, :service_name)
add_column :active_storage_blobs, :service_name, :string
if configured_service = ActiveStorage::Blob.service.name
ActiveStorage::Blob.unscoped.update_all(service_name: configured_service)
end
change_column :active_storage_blobs, :service_name, :string, null: false
end
end
def down
return unless table_exists?(:active_storage_blobs)
remove_column :active_storage_blobs, :service_name
end
end

View file

@ -0,0 +1,27 @@
# This migration comes from active_storage (originally 20191206030411)
class CreateActiveStorageVariantRecords < ActiveRecord::Migration[6.0]
def change
return unless table_exists?(:active_storage_blobs)
# Use Active Record's configured type for primary key
create_table :active_storage_variant_records, id: primary_key_type, if_not_exists: true do |t|
t.belongs_to :blob, null: false, index: false, type: blobs_primary_key_type
t.string :variation_digest, null: false
t.index %i[ blob_id variation_digest ], name: "index_active_storage_variant_records_uniqueness", unique: true
t.foreign_key :active_storage_blobs, column: :blob_id
end
end
private
def primary_key_type
config = Rails.configuration.generators
config.options[config.orm][:primary_key_type] || :primary_key
end
def blobs_primary_key_type
pkey_name = connection.primary_key(:active_storage_blobs)
pkey_column = connection.columns(:active_storage_blobs).find { |c| c.name == pkey_name }
pkey_column.bigint? ? :bigint : pkey_column.type
end
end

View file

@ -2,17 +2,17 @@
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
# This file is the source Rails uses to define your schema when running `bin/rails
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
# be faster and is potentially less error prone than running all of your
# migrations from scratch. Old migrations may fail to apply correctly if those
# migrations use external dependencies or application code.
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2021_02_05_090257) do
ActiveRecord::Schema.define(version: 2022_10_13_152302) do
create_table "active_storage_attachments", id: :integer, force: :cascade do |t|
create_table "active_storage_attachments", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", null: false
t.string "record_type", null: false
t.bigint "record_id", null: false
@ -22,7 +22,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true
end
create_table "active_storage_blobs", id: :integer, force: :cascade do |t|
create_table "active_storage_blobs", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "key", null: false
t.string "filename", null: false
t.string "content_type"
@ -30,16 +30,23 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.bigint "byte_size", null: false
t.string "checksum", null: false
t.datetime "created_at", null: false
t.string "service_name", null: false
t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true
end
create_table "article_categories", id: :integer, force: :cascade do |t|
create_table "active_storage_variant_records", charset: "utf8mb4", force: :cascade do |t|
t.integer "blob_id", null: false
t.string "variation_digest", null: false
t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true
end
create_table "article_categories", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", default: "", null: false
t.string "description"
t.index ["name"], name: "index_article_categories_on_name", unique: true
end
create_table "article_prices", id: :integer, force: :cascade do |t|
create_table "article_prices", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "article_id", null: false
t.decimal "price", precision: 8, scale: 2, default: "0.0", null: false
t.decimal "tax", precision: 8, scale: 2, default: "0.0", null: false
@ -49,7 +56,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["article_id"], name: "index_article_prices_on_article_id"
end
create_table "articles", id: :integer, force: :cascade do |t|
create_table "articles", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", default: "", null: false
t.integer "supplier_id", default: 0, null: false
t.integer "article_category_id", default: 0, null: false
@ -75,14 +82,14 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["type"], name: "index_articles_on_type"
end
create_table "assignments", id: :integer, force: :cascade do |t|
create_table "assignments", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "user_id", default: 0, null: false
t.integer "task_id", default: 0, null: false
t.boolean "accepted", default: false
t.index ["user_id", "task_id"], name: "index_assignments_on_user_id_and_task_id", unique: true
end
create_table "bank_accounts", id: :integer, force: :cascade do |t|
create_table "bank_accounts", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", null: false
t.string "iban"
t.string "description"
@ -92,14 +99,14 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.integer "bank_gateway_id"
end
create_table "bank_gateways", id: :integer, force: :cascade do |t|
create_table "bank_gateways", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", null: false
t.string "url", null: false
t.string "authorization"
t.integer "unattended_user_id"
end
create_table "bank_transactions", id: :integer, force: :cascade do |t|
create_table "bank_transactions", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "bank_account_id", null: false
t.string "external_id"
t.date "date"
@ -108,15 +115,15 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.string "reference"
t.text "text"
t.text "receipt"
t.binary "image", limit: 16777215
t.binary "image", size: :medium
t.integer "financial_link_id"
t.index ["financial_link_id"], name: "index_bank_transactions_on_financial_link_id"
end
create_table "documents", id: :integer, force: :cascade do |t|
create_table "documents", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name"
t.string "mime"
t.binary "data", limit: 4294967295
t.binary "data", size: :long
t.integer "created_by_user_id"
t.datetime "created_at"
t.datetime "updated_at"
@ -124,16 +131,16 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["parent_id"], name: "index_documents_on_parent_id"
end
create_table "financial_links", id: :integer, force: :cascade do |t|
create_table "financial_links", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.text "note"
end
create_table "financial_transaction_classes", id: :integer, force: :cascade do |t|
create_table "financial_transaction_classes", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", null: false
t.boolean "ignore_for_account_balance", default: false, null: false
end
create_table "financial_transaction_types", id: :integer, force: :cascade do |t|
create_table "financial_transaction_types", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", null: false
t.integer "financial_transaction_class_id", null: false
t.string "name_short"
@ -141,7 +148,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["name_short"], name: "index_financial_transaction_types_on_name_short"
end
create_table "financial_transactions", id: :integer, force: :cascade do |t|
create_table "financial_transactions", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "ordergroup_id"
t.decimal "amount", precision: 8, scale: 2, default: "0.0", null: false
t.text "note", null: false
@ -155,7 +162,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["reverts_id"], name: "index_financial_transactions_on_reverts_id", unique: true
end
create_table "group_order_article_quantities", id: :integer, force: :cascade do |t|
create_table "group_order_article_quantities", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "group_order_article_id", default: 0, null: false
t.integer "quantity", default: 0
t.integer "tolerance", default: 0
@ -163,7 +170,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["group_order_article_id"], name: "index_group_order_article_quantities_on_group_order_article_id"
end
create_table "group_order_articles", id: :integer, force: :cascade do |t|
create_table "group_order_articles", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "group_order_id", default: 0, null: false
t.integer "order_article_id", default: 0, null: false
t.integer "quantity", default: 0, null: false
@ -176,7 +183,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["order_article_id"], name: "index_group_order_articles_on_order_article_id"
end
create_table "group_orders", id: :integer, force: :cascade do |t|
create_table "group_orders", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "ordergroup_id"
t.integer "order_id", default: 0, null: false
t.decimal "price", precision: 8, scale: 2, default: "0.0", null: false
@ -189,7 +196,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["ordergroup_id"], name: "index_group_orders_on_ordergroup_id"
end
create_table "groups", id: :integer, force: :cascade do |t|
create_table "groups", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "type", default: "", null: false
t.string "name", default: "", null: false
t.string "description"
@ -214,7 +221,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["name"], name: "index_groups_on_name", unique: true
end
create_table "invites", id: :integer, force: :cascade do |t|
create_table "invites", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "token", default: "", null: false
t.datetime "expires_at", null: false
t.integer "group_id", default: 0, null: false
@ -223,7 +230,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["token"], name: "index_invites_on_token"
end
create_table "invoices", id: :integer, force: :cascade do |t|
create_table "invoices", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "supplier_id"
t.string "number"
t.date "date"
@ -236,12 +243,12 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.datetime "updated_at"
t.integer "created_by_user_id"
t.string "attachment_mime"
t.binary "attachment_data", limit: 16777215
t.binary "attachment_data", size: :medium
t.integer "financial_link_id"
t.index ["supplier_id"], name: "index_invoices_on_supplier_id"
end
create_table "links", id: :integer, force: :cascade do |t|
create_table "links", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", null: false
t.string "url", null: false
t.integer "workgroup_id"
@ -249,22 +256,22 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.string "authorization"
end
create_table "mail_delivery_status", id: :integer, force: :cascade do |t|
create_table "mail_delivery_status", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.datetime "created_at"
t.string "email", null: false
t.string "message", null: false
t.string "attachment_mime"
t.binary "attachment_data", limit: 4294967295
t.binary "attachment_data", size: :long
t.index ["email"], name: "index_mail_delivery_status_on_email"
end
create_table "memberships", id: :integer, force: :cascade do |t|
create_table "memberships", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "group_id", default: 0, null: false
t.integer "user_id", default: 0, null: false
t.index ["user_id", "group_id"], name: "index_memberships_on_user_id_and_group_id", unique: true
end
create_table "message_recipients", id: :integer, force: :cascade do |t|
create_table "message_recipients", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "message_id", null: false
t.integer "user_id", null: false
t.integer "email_state", default: 0, null: false
@ -273,7 +280,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["user_id", "read_at"], name: "index_message_recipients_on_user_id_and_read_at"
end
create_table "messages", id: :integer, force: :cascade do |t|
create_table "messages", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "sender_id"
t.string "subject", null: false
t.text "body"
@ -282,10 +289,10 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.integer "reply_to"
t.integer "group_id"
t.string "salt"
t.binary "received_email", limit: 16777215
t.binary "received_email", size: :medium
end
create_table "oauth_access_grants", id: :integer, force: :cascade do |t|
create_table "oauth_access_grants", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "resource_owner_id", null: false
t.integer "application_id", null: false
t.string "token", null: false
@ -297,7 +304,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["token"], name: "index_oauth_access_grants_on_token", unique: true
end
create_table "oauth_access_tokens", id: :integer, force: :cascade do |t|
create_table "oauth_access_tokens", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "resource_owner_id"
t.integer "application_id"
t.string "token", null: false
@ -311,7 +318,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["token"], name: "index_oauth_access_tokens_on_token", unique: true
end
create_table "oauth_applications", id: :integer, force: :cascade do |t|
create_table "oauth_applications", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", null: false
t.string "uid", null: false
t.string "secret", null: false
@ -323,7 +330,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["uid"], name: "index_oauth_applications_on_uid", unique: true
end
create_table "order_articles", id: :integer, force: :cascade do |t|
create_table "order_articles", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "order_id", default: 0, null: false
t.integer "article_id", default: 0, null: false
t.integer "quantity", default: 0, null: false
@ -337,7 +344,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["order_id"], name: "index_order_articles_on_order_id"
end
create_table "order_comments", id: :integer, force: :cascade do |t|
create_table "order_comments", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "order_id"
t.integer "user_id"
t.text "text"
@ -345,7 +352,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["order_id"], name: "index_order_comments_on_order_id"
end
create_table "orders", id: :integer, force: :cascade do |t|
create_table "orders", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "supplier_id"
t.text "note"
t.datetime "starts"
@ -364,7 +371,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["state"], name: "index_orders_on_state"
end
create_table "page_versions", id: :integer, force: :cascade do |t|
create_table "page_versions", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "page_id"
t.integer "lock_version"
t.text "body"
@ -375,7 +382,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["page_id"], name: "index_page_versions_on_page_id"
end
create_table "pages", id: :integer, force: :cascade do |t|
create_table "pages", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "title"
t.text "body"
t.string "permalink"
@ -389,20 +396,20 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["title"], name: "index_pages_on_title"
end
create_table "periodic_task_groups", id: :integer, force: :cascade do |t|
create_table "periodic_task_groups", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.date "next_task_date"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "poll_choices", id: :integer, force: :cascade do |t|
create_table "poll_choices", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "poll_vote_id", null: false
t.integer "choice", null: false
t.integer "value", null: false
t.index ["poll_vote_id", "choice"], name: "index_poll_choices_on_poll_vote_id_and_choice", unique: true
end
create_table "poll_votes", id: :integer, force: :cascade do |t|
create_table "poll_votes", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "poll_id", null: false
t.integer "user_id", null: false
t.integer "ordergroup_id"
@ -412,7 +419,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["poll_id", "user_id", "ordergroup_id"], name: "index_poll_votes_on_poll_id_and_user_id_and_ordergroup_id", unique: true
end
create_table "polls", id: :integer, force: :cascade do |t|
create_table "polls", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "created_by_user_id", null: false
t.string "name", null: false
t.text "description"
@ -432,7 +439,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["final_choice"], name: "index_polls_on_final_choice"
end
create_table "printer_job_updates", id: :integer, force: :cascade do |t|
create_table "printer_job_updates", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "printer_job_id", null: false
t.datetime "created_at", null: false
t.string "state", null: false
@ -440,7 +447,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["printer_job_id", "created_at"], name: "index_printer_job_updates_on_printer_job_id_and_created_at"
end
create_table "printer_jobs", id: :integer, force: :cascade do |t|
create_table "printer_jobs", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "order_id"
t.string "document", null: false
t.integer "created_by_user_id", null: false
@ -449,7 +456,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["finished_at"], name: "index_printer_jobs_on_finished_at"
end
create_table "settings", id: :integer, force: :cascade do |t|
create_table "settings", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "var", null: false
t.text "value"
t.integer "thing_id"
@ -459,7 +466,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["thing_type", "thing_id", "var"], name: "index_settings_on_thing_type_and_thing_id_and_var", unique: true
end
create_table "stock_changes", id: :integer, force: :cascade do |t|
create_table "stock_changes", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "stock_event_id"
t.integer "order_id"
t.integer "stock_article_id"
@ -469,7 +476,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["stock_event_id"], name: "index_stock_changes_on_stock_event_id"
end
create_table "stock_events", id: :integer, force: :cascade do |t|
create_table "stock_events", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.integer "supplier_id"
t.date "date"
t.datetime "created_at"
@ -479,14 +486,14 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["supplier_id"], name: "index_stock_events_on_supplier_id"
end
create_table "supplier_categories", id: :integer, force: :cascade do |t|
create_table "supplier_categories", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", null: false
t.string "description"
t.integer "financial_transaction_class_id"
t.integer "bank_account_id"
end
create_table "suppliers", id: :integer, force: :cascade do |t|
create_table "suppliers", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", default: "", null: false
t.string "address", default: "", null: false
t.string "phone", default: "", null: false
@ -508,7 +515,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["name"], name: "index_suppliers_on_name", unique: true
end
create_table "tasks", id: :integer, force: :cascade do |t|
create_table "tasks", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "name", default: "", null: false
t.text "description"
t.date "due_date"
@ -525,7 +532,7 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["workgroup_id"], name: "index_tasks_on_workgroup_id"
end
create_table "users", id: :integer, force: :cascade do |t|
create_table "users", id: :integer, charset: "utf8mb4", force: :cascade do |t|
t.string "nick"
t.string "password_hash", default: "", null: false
t.string "password_salt", default: "", null: false
@ -544,4 +551,5 @@ ActiveRecord::Schema.define(version: 2021_02_05_090257) do
t.index ["nick"], name: "index_users_on_nick", unique: true
end
add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
end

View file

@ -44,6 +44,8 @@ class FoodsoftConfig
# @return [ActiveSupport::HashWithIndifferentAccess] Current configuration from configuration file.
mattr_accessor :config
mattr_accessor :default_config
# Configuration file location.
# Taken from environment variable +FOODSOFT_APP_CONFIG+,
# or else +config/app_config.yml+.
@ -216,7 +218,6 @@ class FoodsoftConfig
# end
#
# @return [Hash] Default configuration values
mattr_accessor :default_config
private

View file

@ -1,14 +1,13 @@
require 'spec_helper'
require 'apivore'
# we want to load a local file in YAML-format instead of a served JSON file
class SwaggerCheckerFile < Apivore::SwaggerChecker
def fetch_swagger!
YAML.load(File.read(swagger_path))
end
end
# # we want to load a local file in YAML-format instead of a served JSON file
# class SwaggerCheckerFile < Apivore::SwaggerChecker
# def fetch_swagger!
# YAML.load(File.read(swagger_path))
# end
# end
describe 'API v1', type: :apivore, order: :defined do
describe 'API v1', order: :defined do
include ApiHelper
subject { SwaggerCheckerFile.instance_for Rails.root.join('doc', 'swagger.v1.yml') }