1
0
mirror of https://github.com/danbee/my-images synced 2025-03-04 08:49:05 +00:00

Compare commits

..

3 Commits

Author SHA1 Message Date
2f1f7db218 Update all the things \o/ 2023-06-30 21:18:58 -05:00
caad7280c0 Link My-images back to images 2023-06-30 21:16:53 -05:00
9950adb619 Upgrade Ruby 2023-06-30 21:16:53 -05:00
33 changed files with 673 additions and 418 deletions

7
.gitattributes vendored Normal file
View File

@ -0,0 +1,7 @@
# See https://git-scm.com/docs/gitattributes for more about git attribute files.
# Mark the database schema as having been generated.
db/schema.rb linguist-generated
# Mark any vendored files as having been vendored.
vendor/* linguist-vendored

25
.gitignore vendored
View File

@ -9,19 +9,34 @@
# Ignore the default SQLite database. # Ignore the default SQLite database.
/db/*.sqlite3 /db/*.sqlite3
/db/*.sqlite3-journal /db/*.sqlite3-*
# Ignore all logfiles and tempfiles. # Ignore all logfiles and tempfiles.
/log/*.log /log/*
/tmp /tmp/*
!/log/.keep
!/tmp/.keep
# Ignore environment variables # Ignore environment variables
.env .env
# Ignore pidfiles, but keep the directory.
/tmp/pids/*
!/tmp/pids/
!/tmp/pids/.keep
# Ignore dragonfly uploads # Ignore dragonfly uploads
/public/system /public/system
/public/packs /public/packs
/public/packs-test /public/packs-test
/node_modules /node_modules
yarn-debug.log* # Ignore uploaded files in development.
.yarn-integrity /storage/*
!/storage/.keep
/tmp/storage/*
!/tmp/storage/
!/tmp/storage/.keep
/public/assets
# Ignore master key for decrypting credentials and more.
/config/master.key

View File

@ -1 +1 @@
2.5.1 ruby-3.2.1

View File

@ -1,2 +1,2 @@
ruby 2.5.1 ruby 3.2.1
nodejs 10.4.0 nodejs 10.4.0

21
Gemfile
View File

@ -1,24 +1,33 @@
source "https://rubygems.org" source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby "2.5.1" ruby "3.2.1"
gem "rails", "~> 7.0.5", ">= 7.0.5.1"
gem "dotenv-rails", groups: %i[development test] gem "dotenv-rails", groups: %i[development test]
gem "rails", "5.2.4.1" gem "bootsnap", require: false
gem "delayed_job_active_record" gem "delayed_job_active_record"
gem "dragonfly" gem "dragonfly"
gem "http" gem "http"
gem "image_processing", "~> 1.2"
gem "importmap-rails"
gem "jbuilder"
gem "omniauth"
gem "omniauth-rails_csrf_protection"
gem "omniauth-github" gem "omniauth-github"
gem "pg" gem "pg"
gem "puma" gem "puma"
gem "sass-rails" gem "sassc-rails"
gem "simple_form" gem "simple_form"
gem "stimulus-rails"
gem "turbo-rails"
gem "uglifier" gem "uglifier"
gem "webpacker" gem "webpacker"
group :doc do group :development do
gem "sdoc", require: false gem "web-console"
end end
group :development, :test do group :development, :test do

View File

@ -1,295 +1,381 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actioncable (5.2.4.1) actioncable (7.0.6)
actionpack (= 5.2.4.1) actionpack (= 7.0.6)
activesupport (= 7.0.6)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailer (5.2.4.1) actionmailbox (7.0.6)
actionpack (= 5.2.4.1) actionpack (= 7.0.6)
actionview (= 5.2.4.1) activejob (= 7.0.6)
activejob (= 5.2.4.1) activerecord (= 7.0.6)
activestorage (= 7.0.6)
activesupport (= 7.0.6)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
actionmailer (7.0.6)
actionpack (= 7.0.6)
actionview (= 7.0.6)
activejob (= 7.0.6)
activesupport (= 7.0.6)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (5.2.4.1) actionpack (7.0.6)
actionview (= 5.2.4.1) actionview (= 7.0.6)
activesupport (= 5.2.4.1) activesupport (= 7.0.6)
rack (~> 2.0, >= 2.0.8) rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (5.2.4.1) actiontext (7.0.6)
activesupport (= 5.2.4.1) actionpack (= 7.0.6)
activerecord (= 7.0.6)
activestorage (= 7.0.6)
activesupport (= 7.0.6)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.0.6)
activesupport (= 7.0.6)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3) rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (5.2.4.1) activejob (7.0.6)
activesupport (= 5.2.4.1) activesupport (= 7.0.6)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (5.2.4.1) activemodel (7.0.6)
activesupport (= 5.2.4.1) activesupport (= 7.0.6)
activerecord (5.2.4.1) activerecord (7.0.6)
activemodel (= 5.2.4.1) activemodel (= 7.0.6)
activesupport (= 5.2.4.1) activesupport (= 7.0.6)
arel (>= 9.0) activestorage (7.0.6)
activestorage (5.2.4.1) actionpack (= 7.0.6)
actionpack (= 5.2.4.1) activejob (= 7.0.6)
activerecord (= 5.2.4.1) activerecord (= 7.0.6)
marcel (~> 0.3.1) activesupport (= 7.0.6)
activesupport (5.2.4.1) marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (7.0.6)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 1.6, < 2)
minitest (~> 5.1) minitest (>= 5.1)
tzinfo (~> 1.1) tzinfo (~> 2.0)
addressable (2.7.0) addressable (2.8.4)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 6.0)
archive-zip (0.12.0) archive-zip (0.12.0)
io-like (~> 0.3.0) io-like (~> 0.3.0)
arel (9.0.0) better_errors (2.10.1)
better_errors (2.5.1)
coderay (>= 1.0.0)
erubi (>= 1.0.0) erubi (>= 1.0.0)
rack (>= 0.9.0) rack (>= 0.9.0)
binding_of_caller (0.8.0) rouge (>= 1.0.0)
bindex (0.8.1)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1) debug_inspector (>= 0.0.1)
bootsnap (1.16.0)
msgpack (~> 1.2)
builder (3.2.4) builder (3.2.4)
capybara (3.31.0) capybara (3.39.2)
addressable addressable
matrix
mini_mime (>= 0.1.3) mini_mime (>= 0.1.3)
nokogiri (~> 1.8) nokogiri (~> 1.8)
rack (>= 1.6.0) rack (>= 1.6.0)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
regexp_parser (~> 1.5) regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2) xpath (~> 3.2)
childprocess (3.0.0) coderay (1.1.3)
coderay (1.1.2) concurrent-ruby (1.2.2)
concurrent-ruby (1.1.5) crack (0.4.5)
crack (0.4.3) rexml
safe_yaml (~> 1.0.0) crass (1.0.6)
crass (1.0.5) date (3.3.3)
debug_inspector (0.0.3) debug_inspector (1.1.0)
delayed_job (4.1.8) delayed_job (4.1.11)
activesupport (>= 3.0, < 6.1) activesupport (>= 3.0, < 8.0)
delayed_job_active_record (4.1.4) delayed_job_active_record (4.1.7)
activerecord (>= 3.0, < 6.1) activerecord (>= 3.0, < 8.0)
delayed_job (>= 3.0, < 5) delayed_job (>= 3.0, < 5)
diff-lcs (1.3) diff-lcs (1.5.0)
domain_name (0.5.20190701) domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0) unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.5) dotenv (2.8.1)
dotenv-rails (2.7.5) dotenv-rails (2.8.1)
dotenv (= 2.7.5) dotenv (= 2.8.1)
railties (>= 3.2, < 6.1) railties (>= 3.2)
dragonfly (1.2.0) dragonfly (1.4.0)
addressable (~> 2.3) addressable (~> 2.3)
multi_json (~> 1.0) multi_json (~> 1.0)
rack (>= 1.3) rack (>= 1.3)
erubi (1.9.0) erubi (1.12.0)
execjs (2.7.0) execjs (2.8.1)
faraday (1.0.0) faraday (2.7.9)
multipart-post (>= 1.2, < 3) faraday-net_http (>= 2.0, < 3.1)
ffi (1.11.3) ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
ffi (1.15.5)
ffi-compiler (1.0.1) ffi-compiler (1.0.1)
ffi (>= 1.0.0) ffi (>= 1.0.0)
rake rake
geckodriver-helper (0.24.0) geckodriver-helper (0.24.0)
archive-zip (~> 0.7) archive-zip (~> 0.7)
globalid (0.4.2) globalid (1.1.0)
activesupport (>= 4.2.0) activesupport (>= 5.0)
hashdiff (1.0.0) hashdiff (1.0.1)
hashie (3.6.0) hashie (5.0.0)
http (4.3.0) http (5.1.1)
addressable (~> 2.3) addressable (~> 2.8)
http-cookie (~> 1.0) http-cookie (~> 1.0)
http-form_data (~> 2.2) http-form_data (~> 2.2)
http-parser (~> 1.2.0) llhttp-ffi (~> 0.4.0)
http-cookie (1.0.3) http-cookie (1.0.5)
domain_name (~> 0.5) domain_name (~> 0.5)
http-form_data (2.2.0) http-form_data (2.3.0)
http-parser (1.2.1) i18n (1.14.1)
ffi-compiler (>= 1.0, < 2.0)
i18n (1.8.1)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
io-like (0.3.0) image_processing (1.12.2)
jwt (2.2.1) mini_magick (>= 4.9.5, < 5)
launchy (2.4.3) ruby-vips (>= 2.0.17, < 3)
addressable (~> 2.3) importmap-rails (1.2.1)
loofah (2.4.0) actionpack (>= 6.0.0)
railties (>= 6.0.0)
io-like (0.3.1)
jbuilder (2.11.5)
actionview (>= 5.0.0)
activesupport (>= 5.0.0)
jwt (2.7.1)
launchy (2.5.2)
addressable (~> 2.8)
llhttp-ffi (0.4.0)
ffi-compiler (~> 1.0)
rake (~> 13.0)
loofah (2.21.3)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.12.0)
mail (2.7.1) mail (2.8.1)
mini_mime (>= 0.1.1) mini_mime (>= 0.1.1)
marcel (0.3.3) net-imap
mimemagic (~> 0.3.2) net-pop
method_source (0.9.2) net-smtp
mimemagic (0.3.3) marcel (1.0.2)
mini_mime (1.0.2) matrix (0.4.2)
mini_portile2 (2.4.0) method_source (1.0.0)
minitest (5.13.0) mini_magick (4.12.0)
multi_json (1.14.1) mini_mime (1.1.2)
minitest (5.18.1)
msgpack (1.7.1)
multi_json (1.15.0)
multi_xml (0.6.0) multi_xml (0.6.0)
multipart-post (2.1.1) net-imap (0.3.6)
nio4r (2.5.2) date
nokogiri (1.10.7) net-protocol
mini_portile2 (~> 2.4.0) net-pop (0.1.2)
oauth2 (1.4.3) net-protocol
faraday (>= 0.8, < 2.0) net-protocol (0.2.1)
timeout
net-smtp (0.3.3)
net-protocol
nio4r (2.5.9)
nokogiri (1.15.2-arm64-darwin)
racc (~> 1.4)
oauth2 (2.0.9)
faraday (>= 0.17.3, < 3.0)
jwt (>= 1.0, < 3.0) jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5) multi_xml (~> 0.5)
rack (>= 1.2, < 3) rack (>= 1.2, < 4)
omniauth (1.9.0) snaky_hash (~> 2.0)
hashie (>= 3.4.6, < 3.7.0) version_gem (~> 1.1)
rack (>= 1.6.2, < 3) omniauth (2.1.1)
omniauth-github (1.4.0) hashie (>= 3.4.6)
omniauth (~> 1.5) rack (>= 2.2.3)
omniauth-oauth2 (>= 1.4.0, < 2.0) rack-protection
omniauth-oauth2 (1.6.0) omniauth-github (2.0.1)
oauth2 (~> 1.1) omniauth (~> 2.0)
omniauth (~> 1.9) omniauth-oauth2 (~> 1.8)
pg (1.2.2) omniauth-oauth2 (1.8.0)
pry (0.12.2) oauth2 (>= 1.4, < 3)
coderay (~> 1.1.0) omniauth (~> 2.0)
method_source (~> 0.9.0) omniauth-rails_csrf_protection (1.0.1)
public_suffix (4.0.3) actionpack (>= 4.2)
puma (3.12.1) omniauth (~> 2.0)
rack (2.2.2) pg (1.5.3)
rack-proxy (0.6.5) pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.0.1)
puma (6.3.0)
nio4r (~> 2.0)
racc (1.7.1)
rack (2.2.7)
rack-protection (3.0.6)
rack rack
rack-test (1.1.0) rack-proxy (0.7.6)
rack (>= 1.0, < 3) rack
rails (5.2.4.1) rack-test (2.1.0)
actioncable (= 5.2.4.1) rack (>= 1.3)
actionmailer (= 5.2.4.1) rails (7.0.6)
actionpack (= 5.2.4.1) actioncable (= 7.0.6)
actionview (= 5.2.4.1) actionmailbox (= 7.0.6)
activejob (= 5.2.4.1) actionmailer (= 7.0.6)
activemodel (= 5.2.4.1) actionpack (= 7.0.6)
activerecord (= 5.2.4.1) actiontext (= 7.0.6)
activestorage (= 5.2.4.1) actionview (= 7.0.6)
activesupport (= 5.2.4.1) activejob (= 7.0.6)
bundler (>= 1.3.0) activemodel (= 7.0.6)
railties (= 5.2.4.1) activerecord (= 7.0.6)
sprockets-rails (>= 2.0.0) activestorage (= 7.0.6)
rails-dom-testing (2.0.3) activesupport (= 7.0.6)
activesupport (>= 4.2.0) bundler (>= 1.15.0)
railties (= 7.0.6)
rails-dom-testing (2.1.1)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6) nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0) rails-html-sanitizer (1.6.0)
loofah (~> 2.3) loofah (~> 2.21)
railties (5.2.4.1) nokogiri (~> 1.14)
actionpack (= 5.2.4.1) railties (7.0.6)
activesupport (= 5.2.4.1) actionpack (= 7.0.6)
activesupport (= 7.0.6)
method_source method_source
rake (>= 0.8.7) rake (>= 12.2)
thor (>= 0.19.0, < 2.0) thor (~> 1.0)
rake (13.0.1) zeitwerk (~> 2.5)
rb-fsevent (0.10.3) rake (13.0.6)
rb-inotify (0.9.10) regexp_parser (2.8.1)
ffi (>= 0.5.0, < 2) rexml (3.2.5)
rdoc (6.0.4) rouge (4.1.2)
regexp_parser (1.6.0) rspec-core (3.12.2)
rspec-core (3.9.0) rspec-support (~> 3.12.0)
rspec-support (~> 3.9.0) rspec-expectations (3.12.3)
rspec-expectations (3.9.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0) rspec-support (~> 3.12.0)
rspec-mocks (3.9.0) rspec-mocks (3.12.5)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0) rspec-support (~> 3.12.0)
rspec-rails (3.9.0) rspec-rails (6.0.3)
actionpack (>= 3.0) actionpack (>= 6.1)
activesupport (>= 3.0) activesupport (>= 6.1)
railties (>= 3.0) railties (>= 6.1)
rspec-core (~> 3.9.0) rspec-core (~> 3.12)
rspec-expectations (~> 3.9.0) rspec-expectations (~> 3.12)
rspec-mocks (~> 3.9.0) rspec-mocks (~> 3.12)
rspec-support (~> 3.9.0) rspec-support (~> 3.12)
rspec-support (3.9.0) rspec-support (3.12.1)
rubyzip (2.0.0) ruby-vips (2.1.4)
safe_yaml (1.0.5) ffi (~> 1.12)
sass (3.5.7) ruby2_keywords (0.0.5)
sass-listen (~> 4.0.0) rubyzip (2.3.2)
sass-listen (4.0.0) sassc (2.4.0)
rb-fsevent (~> 0.9, >= 0.9.4) ffi (~> 1.9)
rb-inotify (~> 0.9, >= 0.9.7) sassc-rails (2.1.2)
sass-rails (5.0.7) railties (>= 4.0.0)
railties (>= 4.0.0, < 6) sassc (>= 2.0)
sass (~> 3.1) sprockets (> 3.0)
sprockets (>= 2.8, < 4.0) sprockets-rails
sprockets-rails (>= 2.0, < 4.0) tilt
tilt (>= 1.1, < 3) selenium-webdriver (4.10.0)
sdoc (1.0.0) rexml (~> 3.2, >= 3.2.5)
rdoc (>= 5.0) rubyzip (>= 1.2.2, < 3.0)
selenium-webdriver (3.142.7) websocket (~> 1.0)
childprocess (>= 0.5, < 4.0) semantic_range (3.0.0)
rubyzip (>= 1.2.2) shoulda-matchers (5.3.0)
shoulda-matchers (4.2.0) activesupport (>= 5.2.0)
activesupport (>= 4.2.0) simple_form (5.2.0)
simple_form (4.1.0) actionpack (>= 5.2)
actionpack (>= 5.0) activemodel (>= 5.2)
activemodel (>= 5.0) snaky_hash (2.0.1)
sprockets (3.7.2) hashie
version_gem (~> 1.1, >= 1.1.1)
sprockets (4.2.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
rack (> 1, < 3) rack (>= 2.2.4, < 4)
sprockets-rails (3.2.1) sprockets-rails (3.4.2)
actionpack (>= 4.0) actionpack (>= 5.2)
activesupport (>= 4.0) activesupport (>= 5.2)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
thor (1.0.1) stimulus-rails (1.2.1)
thread_safe (0.3.6) railties (>= 6.0.0)
tilt (2.0.8) thor (1.2.2)
tzinfo (1.2.6) tilt (2.2.0)
thread_safe (~> 0.1) timeout (0.4.0)
turbo-rails (1.4.0)
actionpack (>= 6.0.0)
activejob (>= 6.0.0)
railties (>= 6.0.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uglifier (4.2.0) uglifier (4.2.0)
execjs (>= 0.3.0, < 3) execjs (>= 0.3.0, < 3)
unf (0.1.4) unf (0.1.4)
unf_ext unf_ext
unf_ext (0.0.7.6) unf_ext (0.0.8.2)
webmock (3.8.2) version_gem (1.1.3)
addressable (>= 2.3.6) web-console (4.2.0)
actionview (>= 6.0.0)
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
webmock (3.18.1)
addressable (>= 2.8.0)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0) hashdiff (>= 0.4.0, < 2.0.0)
webpacker (4.2.2) webpacker (5.4.4)
activesupport (>= 4.2) activesupport (>= 5.2)
rack-proxy (>= 0.6.1) rack-proxy (>= 0.6.1)
railties (>= 4.2) railties (>= 5.2)
websocket-driver (0.7.1) semantic_range (>= 2.3.0)
websocket (1.2.9)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.4) websocket-extensions (0.1.5)
xpath (3.2.0) xpath (3.2.0)
nokogiri (~> 1.8) nokogiri (~> 1.8)
zeitwerk (2.6.8)
PLATFORMS PLATFORMS
ruby arm64-darwin-22
DEPENDENCIES DEPENDENCIES
better_errors better_errors
binding_of_caller binding_of_caller
bootsnap
capybara capybara
delayed_job_active_record delayed_job_active_record
dotenv-rails dotenv-rails
dragonfly dragonfly
geckodriver-helper geckodriver-helper
http http
image_processing (~> 1.2)
importmap-rails
jbuilder
launchy launchy
omniauth
omniauth-github omniauth-github
omniauth-rails_csrf_protection
pg pg
pry pry
puma puma
rails (= 5.2.4.1) rails (~> 7.0.5, >= 7.0.5.1)
rspec-rails rspec-rails
sass-rails sassc-rails
sdoc
selenium-webdriver selenium-webdriver
shoulda-matchers shoulda-matchers
simple_form simple_form
stimulus-rails
turbo-rails
uglifier uglifier
web-console
webmock webmock
webpacker webpacker
RUBY VERSION RUBY VERSION
ruby 2.5.1p57 ruby 3.2.1p31
BUNDLED WITH BUNDLED WITH
1.16.4 2.4.10

View File

@ -1,6 +1,6 @@
# Add your own tasks in files placed in lib/tasks ending in .rake, # Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
require File.expand_path('../config/application', __FILE__) require_relative "config/application"
MyImages::Application.load_tasks Rails.application.load_tasks

View File

@ -2,7 +2,6 @@ class ApplicationJob < ActiveJob::Base
# Automatically retry jobs that encountered a deadlock # Automatically retry jobs that encountered a deadlock
# retry_on ActiveRecord::Deadlocked # retry_on ActiveRecord::Deadlocked
# Most jobs are safe to ignore if the underlying records # Most jobs are safe to ignore if the underlying records are no longer available
# are no longer available
# discard_on ActiveJob::DeserializationError # discard_on ActiveJob::DeserializationError
end end

View File

@ -1,3 +1,5 @@
require "clarifai"
class TagImageJob < ApplicationJob class TagImageJob < ApplicationJob
queue_as :default queue_as :default
@ -5,6 +7,6 @@ class TagImageJob < ApplicationJob
image = Image.find(image_id) image = Image.find(image_id)
tags = Clarifai.new(image.image.file.path).tags tags = Clarifai.new(image.image.file.path).tags
image.update_attributes(tags: tags) image.update(tags: tags)
end end
end end

View File

@ -1,5 +1,5 @@
<% content_for :title do %> <% content_for :title do %>
<h1>My Images</h1> <h1><%= link_to "My Images", user_images_path %></h1>
&rarr; &rarr;
<%= @image.image.name %> <%= @image.image.name %>
<% end %> <% end %>

View File

@ -1,7 +1,7 @@
<% content_for :title, "My Images" %> <% content_for :title, "My Images" %>
<div class="centre-stage"> <div class="centre-stage">
<%= link_to '/auth/github', class: "github-button" do %> <%= link_to '/auth/github', class: "github-button", method: :post do %>
<%= image_tag "github.svg" %> <%= image_tag "github.svg" %>
Sign in with GitHub Sign in with GitHub
<% end %> <% end %>

View File

@ -1,4 +1,4 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby
APP_PATH = File.expand_path('../../config/application', __FILE__) APP_PATH = File.expand_path("../config/application", __dir__)
require_relative '../config/boot' require_relative "../config/boot"
require 'rails/commands' require "rails/commands"

View File

@ -1,4 +1,4 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby
require_relative '../config/boot' require_relative "../config/boot"
require 'rake' require "rake"
Rake.application.run Rake.application.run

View File

@ -1,23 +1,33 @@
#!/usr/bin/env sh #!/usr/bin/env ruby
require "fileutils"
# Set up Rails app. Run this script immediately after cloning the codebase. # path to your application root.
# https://github.com/thoughtbot/guides/tree/master/protocol APP_ROOT = File.expand_path("..", __dir__)
# Exit if any subcommand fails def system!(*args)
set -e system(*args) || abort("\n== Command #{args} failed ==")
end
# Set up Ruby dependencies via Bundler FileUtils.chdir APP_ROOT do
gem list bundler --installed >/dev/null || gem install bundler # This script is a way to set up or update your development environment automatically.
gem list foreman --installed >/dev/null || gem install foreman # This script is idempotent, so that you can run it at any time and get an expectable outcome.
bundle install # Add necessary setup steps to this file.
# Install Javascript dependencies puts "== Installing dependencies =="
yarn install system! "gem install bundler --conservative"
system("bundle check") || system!("bundle install")
# Set up configurable environment variables # puts "\n== Copying sample files =="
if [ ! -f .env ]; then # unless File.exist?("config/database.yml")
cp .env.sample .env # FileUtils.cp "config/database.yml.sample", "config/database.yml"
fi # end
# Set up database and add any development seed data puts "\n== Preparing database =="
bundle exec rake db:setup system! "bin/rails db:prepare"
puts "\n== Removing old logs and tempfiles =="
system! "bin/rails log:clear tmp:clear"
puts "\n== Restarting application server =="
system! "bin/rails restart"
end

View File

@ -1,4 +1,6 @@
# This file is used by Rack-based servers to start the application. # This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__) require_relative "config/environment"
run Rails.application run Rails.application
Rails.application.load_server

View File

@ -1,6 +1,6 @@
require File.expand_path('../boot', __FILE__) require_relative "boot"
require 'rails/all' require "rails/all"
# Require the gems listed in Gemfile, including any gems # Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production. # you've limited to :test, :development, or :production.
@ -8,25 +8,15 @@ Bundler.require(*Rails.groups)
module MyImages module MyImages
class Application < Rails::Application class Application < Rails::Application
# Settings in config/environments/* take precedence over # Initialize configuration defaults for originally generated Rails version.
# those specified here. config.load_defaults 7.0
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Set Time.zone default to the specified zone and make # Configuration for the application, engines, and railties goes here.
# Active Record auto-convert to this zone. #
# Run "rake -D time" for a list of tasks for finding time zone names. # These settings can be overridden in specific environments using the files
# Default is UTC. # in config/environments, which are processed later.
# config.time_zone = 'Central Time (US & Canada)' #
# config.time_zone = "Central Time (US & Canada)"
# The default locale is :en and all translations from # config.eager_load_paths << Rails.root.join("extras")
# config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[
# Rails.root.join('my', 'locales', '*.{rb,yml}').to_s
# ]
# config.i18n.default_locale = :de
config.autoload_paths += %W(#{config.root}/lib)
config.active_job.queue_adapter = :delayed_job
end end
end end

View File

@ -1,4 +1,4 @@
# Set up gems listed in the Gemfile. ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) require "bundler/setup" # Set up gems listed in the Gemfile.
require "bootsnap/setup" # Speed up boot time by caching expensive operations.

View File

@ -1,5 +1,5 @@
# Load the Rails application. # Load the Rails application.
require File.expand_path('../application', __FILE__) require_relative "application"
# Initialize the Rails application. # Initialize the Rails application.
MyImages::Application.initialize! Rails.application.initialize!

View File

@ -1,33 +1,70 @@
MyImages::Application.configure do require "active_support/core_ext/integer/time"
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb. # Settings specified here will take precedence over those in config/application.rb.
# In the development environment your application's code is reloaded on # In the development environment your application's code is reloaded any time
# every request. This slows down response time but is perfect for development # it changes. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes. # since you don't have to restart the web server when you make code changes.
config.cache_classes = false config.cache_classes = false
# Do not eager load code on boot. # Do not eager load code on boot.
config.eager_load = false config.eager_load = false
# Show full error reports and disable caching. # Show full error reports.
config.consider_all_requests_local = true config.consider_all_requests_local = true
# Enable server timing
config.server_timing = true
# Enable/disable caching. By default caching is disabled.
# Run rails dev:cache to toggle caching.
if Rails.root.join("tmp/caching-dev.txt").exist?
config.action_controller.perform_caching = true
config.action_controller.enable_fragment_cache_logging = true
config.cache_store = :memory_store
config.public_file_server.headers = {
"Cache-Control" => "public, max-age=#{2.days.to_i}"
}
else
config.action_controller.perform_caching = false config.action_controller.perform_caching = false
config.cache_store = :null_store
end
# Store uploaded files on the local file system (see config/storage.yml for options).
config.active_storage.service = :local
# Don't care if the mailer can't send. # Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false config.action_mailer.raise_delivery_errors = false
config.action_mailer.perform_caching = false
# Print deprecation notices to the Rails logger. # Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log config.active_support.deprecation = :log
# Raise an error on page load if there are pending migrations # 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 = []
# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load config.active_record.migration_error = :page_load
# Debug mode disables concatenation and preprocessing of assets. # Highlight code that triggered database queries in logs.
# This option may cause significant delays in view rendering with a large config.active_record.verbose_query_logs = true
# number of complex assets.
config.assets.debug = true
config.generators do |g| # Suppress logger output for asset requests.
g.test_framework :rspec config.assets.quiet = true
end
# 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
# Uncomment if you wish to allow Action Cable access from any origin.
# config.action_cable.disable_request_forgery_protection = true
end end

View File

@ -1,11 +1,13 @@
MyImages::Application.configure do require "active_support/core_ext/integer/time"
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb. # Settings specified here will take precedence over those in config/application.rb.
# Code is not reloaded between requests. # Code is not reloaded between requests.
config.cache_classes = true config.cache_classes = true
# Eager load code on boot. This eager loads most of Rails and # Eager load code on boot. This eager loads most of Rails and
# your application in memory, allowing both thread web servers # your application in memory, allowing both threaded web servers
# and those relying on copy on write to perform better. # and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance. # Rake tasks automatically ignore this option for performance.
config.eager_load = true config.eager_load = true
@ -14,67 +16,78 @@ MyImages::Application.configure do
config.consider_all_requests_local = false config.consider_all_requests_local = false
config.action_controller.perform_caching = true config.action_controller.perform_caching = true
# Enable Rack::Cache to put a simple HTTP cache in front of your application # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
# Add `rack-cache` to your Gemfile before enabling this. # or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
# For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid. # config.require_master_key = true
# config.action_dispatch.rack_cache = true
# Disable Rails's static asset server (Apache or nginx will already do this). # Disable serving static files from the `/public` folder by default since
config.serve_static_assets = false # Apache or NGINX already handles this.
config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?
# Compress JavaScripts and CSS. # Compress CSS using a preprocessor.
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass # config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed. # Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false config.assets.compile = false
# Generate digests for assets URLs. # Enable serving of images, stylesheets, and JavaScripts from an asset server.
config.assets.digest = true # config.asset_host = "http://assets.example.com"
# Version of your assets, change this if you want to expire all your assets.
config.assets.version = '1.0'
# Specifies the header that your server uses for sending files. # Specifies the header that your server uses for sending files.
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
# Store uploaded files on the local file system (see config/storage.yml for options).
config.active_storage.service = :local
# Mount Action Cable outside main process or domain.
# config.action_cable.mount_path = nil
# config.action_cable.url = "wss://example.com/cable"
# config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ]
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
# config.force_ssl = true # config.force_ssl = true
# Set to :debug to see everything in the log. # Include generic and useful information about system operation, but avoid logging too much
# information to avoid inadvertent exposure of personally identifiable information (PII).
config.log_level = :info config.log_level = :info
# Prepend all log lines with the following tags. # Prepend all log lines with the following tags.
# config.log_tags = [ :subdomain, :uuid ] config.log_tags = [ :request_id ]
# Use a different logger for distributed setups.
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
# Use a different cache store in production. # Use a different cache store in production.
# config.cache_store = :mem_cache_store # config.cache_store = :mem_cache_store
# Enable serving of images, stylesheets, and JavaScripts from an asset server. # Use a real queuing backend for Active Job (and separate queues per environment).
# config.action_controller.asset_host = "http://assets.example.com" # config.active_job.queue_adapter = :resque
# config.active_job.queue_name_prefix = "my_images_production"
# Precompile additional assets. config.action_mailer.perform_caching = false
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
# config.assets.precompile += %w( search.js )
# Ignore bad email addresses and do not raise email delivery errors. # Ignore bad email addresses and do not raise email delivery errors.
# Set this to true and configure the email server for immediate delivery to raise delivery errors. # Set this to true and configure the email server for immediate delivery to raise delivery errors.
# config.action_mailer.raise_delivery_errors = false # config.action_mailer.raise_delivery_errors = false
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation can not be found). # the I18n.default_locale when a translation cannot be found).
config.i18n.fallbacks = true config.i18n.fallbacks = true
# Send deprecation notices to registered listeners. # Don't log any deprecations.
config.active_support.deprecation = :notify config.active_support.report_deprecations = false
# Disable automatic flushing of the log to improve performance.
# config.autoflush_log = false
# Use default logging formatter so that PID and timestamp are not suppressed. # Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new config.log_formatter = ::Logger::Formatter.new
# Use a different logger for distributed setups.
# require "syslog/logger"
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name")
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
end
# Do not dump schema after migrations.
config.active_record.dump_schema_after_migration = false
end end

View File

@ -1,30 +1,42 @@
MyImages::Application.configure do 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. # Settings specified here will take precedence over those in config/application.rb.
# The test environment is used exclusively to run your application's # Turn false under Spring and add config.action_view.cache_template_loading = true.
# 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 config.cache_classes = true
# Do not eager load code on boot. This avoids loading your whole application # Eager loading loads your whole application. When running a single test locally,
# just for the purpose of running a single test. If you are using a tool that # this probably isn't necessary. It's a good idea to do in a continuous integration
# preloads Rails for running tests, you may have to set it to true. # system, or in some way before deploying your code.
config.eager_load = false config.eager_load = ENV["CI"].present?
# Configure static asset server for tests with Cache-Control for performance. # Configure public file server for tests with Cache-Control for performance.
config.serve_static_assets = true config.public_file_server.enabled = true
config.static_cache_control = "public, max-age=3600" config.public_file_server.headers = {
"Cache-Control" => "public, max-age=#{1.hour.to_i}"
}
# Show full error reports and disable caching. # Show full error reports and disable caching.
config.consider_all_requests_local = true config.consider_all_requests_local = true
config.action_controller.perform_caching = false config.action_controller.perform_caching = false
config.cache_store = :null_store
# Raise exceptions instead of rendering exception templates. # Raise exceptions instead of rendering exception templates.
config.action_dispatch.show_exceptions = false config.action_dispatch.show_exceptions = false
# Disable request forgery protection in test environment. # Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = true config.action_controller.allow_forgery_protection = false
# Store uploaded files on the local file system in a temporary directory.
config.active_storage.service = :test
config.action_mailer.perform_caching = false
# Tell Action Mailer not to deliver emails to the real world. # Tell Action Mailer not to deliver emails to the real world.
# The :test delivery method accumulates sent emails in the # The :test delivery method accumulates sent emails in the
@ -33,4 +45,16 @@ MyImages::Application.configure do
# Print deprecation notices to the stderr. # Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr config.active_support.deprecation = :stderr
# 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 end

View File

@ -1,4 +1,8 @@
# Be sure to restart your server when you modify this file. # Be sure to restart your server when you modify this file.
# Configure sensitive parameters which will be filtered from the log file. # Configure parameters to be filtered from the log file. Use this to limit dissemination of
Rails.application.config.filter_parameters += [:password] # sensitive information. See the ActiveSupport::ParameterFilter documentation for supported
# notations and behaviors.
Rails.application.config.filter_parameters += [
:passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
]

View File

@ -4,13 +4,13 @@
# are locale specific, and you may define rules for as many different # are locale specific, and you may define rules for as many different
# locales as you wish. All of these examples are active by default: # locales as you wish. All of these examples are active by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect| # ActiveSupport::Inflector.inflections(:en) do |inflect|
# inflect.plural /^(ox)$/i, '\1en' # inflect.plural /^(ox)$/i, "\\1en"
# inflect.singular /^(ox)en/i, '\1' # inflect.singular /^(ox)en/i, "\\1"
# inflect.irregular 'person', 'people' # inflect.irregular "person", "people"
# inflect.uncountable %w( fish sheep ) # inflect.uncountable %w( fish sheep )
# end # end
# These inflection rules are supported but not enabled by default: # These inflection rules are supported but not enabled by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect| # ActiveSupport::Inflector.inflections(:en) do |inflect|
# inflect.acronym 'RESTful' # inflect.acronym "RESTful"
# end # end

View File

@ -1,6 +1,3 @@
Rails.application.config.middleware.use OmniAuth::Builder do Rails.application.config.middleware.use OmniAuth::Builder do
provider :github, provider(:github, ENV["GITHUB_KEY"], ENV["GITHUB_SECRET"], scope: "read:org")
ENV["GITHUB_KEY"],
ENV["GITHUB_SECRET"],
scope: "read:org"
end end

View File

@ -4,11 +4,11 @@
# #
# To use the locales, use `I18n.t`: # To use the locales, use `I18n.t`:
# #
# I18n.t 'hello' # I18n.t "hello"
# #
# In views, this is aliased to just `t`: # In views, this is aliased to just `t`:
# #
# <%= t('hello') %> # <%= t("hello") %>
# #
# To use a different locale, set it with `I18n.locale`: # To use a different locale, set it with `I18n.locale`:
# #
@ -16,8 +16,18 @@
# #
# This would use the information in config/locales/es.yml. # This would use the information in config/locales/es.yml.
# #
# The following keys must be escaped otherwise they will not be retrieved by
# the default I18n backend:
#
# true, false, on, off, yes, no
#
# Instead, surround them with single quotes.
#
# en:
# "true": "foo"
#
# To learn more, please read the Rails Internationalization guide # To learn more, please read the Rails Internationalization guide
# available at http://guides.rubyonrails.org/i18n.html. # available at https://guides.rubyonrails.org/i18n.html.
en: en:
hello: "Hello world" hello: "Hello world"

View File

@ -1,15 +1,43 @@
workers Integer(ENV["WEB_CONCURRENCY"] || 2) # Puma can serve each request in a thread from an internal thread pool.
threads_count = Integer(ENV["RAILS_MAX_THREADS"] || 5) # The `threads` method setting takes two numbers: a minimum and maximum.
threads threads_count, threads_count # Any libraries that use thread pools should be configured to match
# the maximum value specified for Puma. Default is set to 5 threads for minimum
# and maximum; this matches the default thread size of Active Record.
#
max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
threads min_threads_count, max_threads_count
preload_app! # Specifies the `worker_timeout` threshold that Puma will use to wait before
# terminating a worker in development environments.
#
worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development"
rackup DefaultRackup # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
port ENV["PORT"] || 3000 #
environment ENV["RACK_ENV"] || "development" port ENV.fetch("PORT") { 3000 }
on_worker_boot do # Specifies the `environment` that Puma will run in.
# Worker specific setup for Rails 4.1+ #
# See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot environment ENV.fetch("RAILS_ENV") { "development" }
ActiveRecord::Base.establish_connection
end # Specifies the `pidfile` that Puma will use.
pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
# Specifies the number of `workers` to boot in clustered mode.
# Workers are forked web server processes. If using threads and workers together
# the concurrency of the application would be max `threads` * `workers`.
# Workers do not work on JRuby or Windows (both of which do not support
# processes).
#
# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
# Use the `preload_app!` method when specifying a `workers` number.
# This directive tells Puma to first boot the application and load code
# before forking the application. This takes advantage of Copy On Write
# process behavior so workers use less memory.
#
# preload_app!
# Allow puma to be restarted by `bin/rails restart` command.
plugin :tmp_restart

View File

@ -1,4 +1,4 @@
MyImages::Application.routes.draw do Rails.application.routes.draw do
root "home#index" root "home#index"
resource :session, only: %i[new destroy] resource :session, only: %i[new destroy]

13
db/schema.rb generated
View File

@ -2,16 +2,15 @@
# of editing this file, please use the migrations feature of Active Record to # of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition. # incrementally modify your database, and then regenerate this schema definition.
# #
# Note that this schema.rb definition is the authoritative source for your # This file is the source Rails uses to define your schema when running `bin/rails
# database schema. If you need to create the application database on another # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
# system, you should be using db:schema:load, not running all the migrations # be faster and is potentially less error prone than running all of your
# from scratch. The latter is a flawed and unsustainable approach (the more migrations # migrations from scratch. Old migrations may fail to apply correctly if those
# you'll amass, the slower it'll run and the greater likelihood for issues). # migrations use external dependencies or application code.
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2018_08_26_163510) do ActiveRecord::Schema[7.0].define(version: 2018_08_26_163510) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"

View File

@ -1,7 +1,7 @@
# This file should contain all the record creation needed to seed the database with its default values. # This file should contain all the record creation needed to seed the database with its default values.
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup). # The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
# #
# Examples: # Examples:
# #
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) # movies = Movie.create([{ name: "Star Wars" }, { name: "Lord of the Rings" }])
# Mayor.create(name: 'Emanuel', city: cities.first) # Character.create(name: "Luke", movie: movies.first)

View File

@ -2,17 +2,23 @@
<html> <html>
<head> <head>
<title>The page you were looking for doesn't exist (404)</title> <title>The page you were looking for doesn't exist (404)</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style> <style>
body { .rails-default-error-page {
background-color: #EFEFEF; background-color: #EFEFEF;
color: #2E2F30; color: #2E2F30;
text-align: center; text-align: center;
font-family: arial, sans-serif; font-family: arial, sans-serif;
margin: 0;
} }
div.dialog { .rails-default-error-page div.dialog {
width: 25em; width: 95%;
margin: 4em auto 0 auto; max-width: 33em;
margin: 4em auto 0;
}
.rails-default-error-page div.dialog > div {
border: 1px solid #CCC; border: 1px solid #CCC;
border-right-color: #999; border-right-color: #999;
border-left-color: #999; border-left-color: #999;
@ -21,38 +27,41 @@
border-top-left-radius: 9px; border-top-left-radius: 9px;
border-top-right-radius: 9px; border-top-right-radius: 9px;
background-color: white; background-color: white;
padding: 7px 4em 0 4em; padding: 7px 12% 0;
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
} }
h1 { .rails-default-error-page h1 {
font-size: 100%; font-size: 100%;
color: #730E15; color: #730E15;
line-height: 1.5em; line-height: 1.5em;
} }
body > p { .rails-default-error-page div.dialog > p {
width: 33em; margin: 0 0 1em;
margin: 0 auto 1em; padding: 1em;
padding: 1em 0;
background-color: #F7F7F7; background-color: #F7F7F7;
border: 1px solid #CCC; border: 1px solid #CCC;
border-right-color: #999; border-right-color: #999;
border-left-color: #999;
border-bottom-color: #999; border-bottom-color: #999;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px;
border-top-color: #DADADA; border-top-color: #DADADA;
color: #666; color: #666;
box-shadow:0 3px 8px rgba(50, 50, 50, 0.17); box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
} }
</style> </style>
</head> </head>
<body> <body class="rails-default-error-page">
<!-- This file lives in public/404.html --> <!-- This file lives in public/404.html -->
<div class="dialog"> <div class="dialog">
<div>
<h1>The page you were looking for doesn't exist.</h1> <h1>The page you were looking for doesn't exist.</h1>
<p>You may have mistyped the address or the page may have moved.</p> <p>You may have mistyped the address or the page may have moved.</p>
</div> </div>
<p>If you are the application owner check the logs for more information.</p> <p>If you are the application owner check the logs for more information.</p>
</div>
</body> </body>
</html> </html>

View File

@ -2,17 +2,23 @@
<html> <html>
<head> <head>
<title>The change you wanted was rejected (422)</title> <title>The change you wanted was rejected (422)</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style> <style>
body { .rails-default-error-page {
background-color: #EFEFEF; background-color: #EFEFEF;
color: #2E2F30; color: #2E2F30;
text-align: center; text-align: center;
font-family: arial, sans-serif; font-family: arial, sans-serif;
margin: 0;
} }
div.dialog { .rails-default-error-page div.dialog {
width: 25em; width: 95%;
margin: 4em auto 0 auto; max-width: 33em;
margin: 4em auto 0;
}
.rails-default-error-page div.dialog > div {
border: 1px solid #CCC; border: 1px solid #CCC;
border-right-color: #999; border-right-color: #999;
border-left-color: #999; border-left-color: #999;
@ -21,38 +27,41 @@
border-top-left-radius: 9px; border-top-left-radius: 9px;
border-top-right-radius: 9px; border-top-right-radius: 9px;
background-color: white; background-color: white;
padding: 7px 4em 0 4em; padding: 7px 12% 0;
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
} }
h1 { .rails-default-error-page h1 {
font-size: 100%; font-size: 100%;
color: #730E15; color: #730E15;
line-height: 1.5em; line-height: 1.5em;
} }
body > p { .rails-default-error-page div.dialog > p {
width: 33em; margin: 0 0 1em;
margin: 0 auto 1em; padding: 1em;
padding: 1em 0;
background-color: #F7F7F7; background-color: #F7F7F7;
border: 1px solid #CCC; border: 1px solid #CCC;
border-right-color: #999; border-right-color: #999;
border-left-color: #999;
border-bottom-color: #999; border-bottom-color: #999;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px;
border-top-color: #DADADA; border-top-color: #DADADA;
color: #666; color: #666;
box-shadow:0 3px 8px rgba(50, 50, 50, 0.17); box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
} }
</style> </style>
</head> </head>
<body> <body class="rails-default-error-page">
<!-- This file lives in public/422.html --> <!-- This file lives in public/422.html -->
<div class="dialog"> <div class="dialog">
<div>
<h1>The change you wanted was rejected.</h1> <h1>The change you wanted was rejected.</h1>
<p>Maybe you tried to change something you didn't have access to.</p> <p>Maybe you tried to change something you didn't have access to.</p>
</div> </div>
<p>If you are the application owner check the logs for more information.</p> <p>If you are the application owner check the logs for more information.</p>
</div>
</body> </body>
</html> </html>

View File

@ -2,17 +2,23 @@
<html> <html>
<head> <head>
<title>We're sorry, but something went wrong (500)</title> <title>We're sorry, but something went wrong (500)</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style> <style>
body { .rails-default-error-page {
background-color: #EFEFEF; background-color: #EFEFEF;
color: #2E2F30; color: #2E2F30;
text-align: center; text-align: center;
font-family: arial, sans-serif; font-family: arial, sans-serif;
margin: 0;
} }
div.dialog { .rails-default-error-page div.dialog {
width: 25em; width: 95%;
margin: 4em auto 0 auto; max-width: 33em;
margin: 4em auto 0;
}
.rails-default-error-page div.dialog > div {
border: 1px solid #CCC; border: 1px solid #CCC;
border-right-color: #999; border-right-color: #999;
border-left-color: #999; border-left-color: #999;
@ -21,37 +27,40 @@
border-top-left-radius: 9px; border-top-left-radius: 9px;
border-top-right-radius: 9px; border-top-right-radius: 9px;
background-color: white; background-color: white;
padding: 7px 4em 0 4em; padding: 7px 12% 0;
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
} }
h1 { .rails-default-error-page h1 {
font-size: 100%; font-size: 100%;
color: #730E15; color: #730E15;
line-height: 1.5em; line-height: 1.5em;
} }
body > p { .rails-default-error-page div.dialog > p {
width: 33em; margin: 0 0 1em;
margin: 0 auto 1em; padding: 1em;
padding: 1em 0;
background-color: #F7F7F7; background-color: #F7F7F7;
border: 1px solid #CCC; border: 1px solid #CCC;
border-right-color: #999; border-right-color: #999;
border-left-color: #999;
border-bottom-color: #999; border-bottom-color: #999;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px;
border-top-color: #DADADA; border-top-color: #DADADA;
color: #666; color: #666;
box-shadow:0 3px 8px rgba(50, 50, 50, 0.17); box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
} }
</style> </style>
</head> </head>
<body> <body class="rails-default-error-page">
<!-- This file lives in public/500.html --> <!-- This file lives in public/500.html -->
<div class="dialog"> <div class="dialog">
<div>
<h1>We're sorry, but something went wrong.</h1> <h1>We're sorry, but something went wrong.</h1>
</div> </div>
<p>If you are the application owner check the logs for more information.</p> <p>If you are the application owner check the logs for more information.</p>
</div>
</body> </body>
</html> </html>

View File

@ -1,5 +1 @@
# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file # See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
#
# To ban all spiders from the entire site uncomment the next two lines:
# User-agent: *
# Disallow: /