Commit 743234271e8c5082b5a80a366a00f1e3be23295e
0 parents
Exists in
master
commit committed
Showing
82 changed files
with
1224 additions
and
0 deletions
Show diff stats
1 | +++ a/Gemfile | |
... | ... | @@ -0,0 +1,14 @@ |
1 | +source 'https://rubygems.org' | |
2 | + | |
3 | +# Declare your gem's dependencies in scim_rails.gemspec. | |
4 | +# Bundler will treat runtime dependencies like base dependencies, and | |
5 | +# development dependencies will be added by default to the :development group. | |
6 | +gemspec | |
7 | + | |
8 | +# Declare any dependencies that are still in development here instead of in | |
9 | +# your gemspec. These might include edge Rails or gems from your path or | |
10 | +# Git. Remember to move these dependencies to your gemspec before releasing | |
11 | +# your gem to rubygems.org. | |
12 | + | |
13 | +# To use a debugger | |
14 | +# gem 'byebug', group: [:development, :test] | ... | ... |
1 | +++ a/Gemfile.lock | |
... | ... | @@ -0,0 +1,142 @@ |
1 | +PATH | |
2 | + remote: . | |
3 | + specs: | |
4 | + scim_rails (0.1.0) | |
5 | + rails (~> 5.0) | |
6 | + | |
7 | +GEM | |
8 | + remote: https://rubygems.org/ | |
9 | + specs: | |
10 | + actioncable (5.2.0) | |
11 | + actionpack (= 5.2.0) | |
12 | + nio4r (~> 2.0) | |
13 | + websocket-driver (>= 0.6.1) | |
14 | + actionmailer (5.2.0) | |
15 | + actionpack (= 5.2.0) | |
16 | + actionview (= 5.2.0) | |
17 | + activejob (= 5.2.0) | |
18 | + mail (~> 2.5, >= 2.5.4) | |
19 | + rails-dom-testing (~> 2.0) | |
20 | + actionpack (5.2.0) | |
21 | + actionview (= 5.2.0) | |
22 | + activesupport (= 5.2.0) | |
23 | + rack (~> 2.0) | |
24 | + rack-test (>= 0.6.3) | |
25 | + rails-dom-testing (~> 2.0) | |
26 | + rails-html-sanitizer (~> 1.0, >= 1.0.2) | |
27 | + actionview (5.2.0) | |
28 | + activesupport (= 5.2.0) | |
29 | + builder (~> 3.1) | |
30 | + erubi (~> 1.4) | |
31 | + rails-dom-testing (~> 2.0) | |
32 | + rails-html-sanitizer (~> 1.0, >= 1.0.3) | |
33 | + activejob (5.2.0) | |
34 | + activesupport (= 5.2.0) | |
35 | + globalid (>= 0.3.6) | |
36 | + activemodel (5.2.0) | |
37 | + activesupport (= 5.2.0) | |
38 | + activerecord (5.2.0) | |
39 | + activemodel (= 5.2.0) | |
40 | + activesupport (= 5.2.0) | |
41 | + arel (>= 9.0) | |
42 | + activestorage (5.2.0) | |
43 | + actionpack (= 5.2.0) | |
44 | + activerecord (= 5.2.0) | |
45 | + marcel (~> 0.3.1) | |
46 | + activesupport (5.2.0) | |
47 | + concurrent-ruby (~> 1.0, >= 1.0.2) | |
48 | + i18n (>= 0.7, < 2) | |
49 | + minitest (~> 5.1) | |
50 | + tzinfo (~> 1.1) | |
51 | + arel (9.0.0) | |
52 | + builder (3.2.3) | |
53 | + concurrent-ruby (1.0.5) | |
54 | + crass (1.0.4) | |
55 | + diff-lcs (1.3) | |
56 | + erubi (1.7.1) | |
57 | + globalid (0.4.1) | |
58 | + activesupport (>= 4.2.0) | |
59 | + i18n (1.1.1) | |
60 | + concurrent-ruby (~> 1.0) | |
61 | + loofah (2.2.2) | |
62 | + crass (~> 1.0.2) | |
63 | + nokogiri (>= 1.5.9) | |
64 | + mail (2.7.0) | |
65 | + mini_mime (>= 0.1.1) | |
66 | + marcel (0.3.2) | |
67 | + mimemagic (~> 0.3.2) | |
68 | + method_source (0.9.0) | |
69 | + mimemagic (0.3.2) | |
70 | + mini_mime (1.0.0) | |
71 | + mini_portile2 (2.3.0) | |
72 | + minitest (5.11.3) | |
73 | + nio4r (2.3.1) | |
74 | + nokogiri (1.8.2) | |
75 | + mini_portile2 (~> 2.3.0) | |
76 | + rack (2.0.5) | |
77 | + rack-test (1.0.0) | |
78 | + rack (>= 1.0, < 3) | |
79 | + rails (5.2.0) | |
80 | + actioncable (= 5.2.0) | |
81 | + actionmailer (= 5.2.0) | |
82 | + actionpack (= 5.2.0) | |
83 | + actionview (= 5.2.0) | |
84 | + activejob (= 5.2.0) | |
85 | + activemodel (= 5.2.0) | |
86 | + activerecord (= 5.2.0) | |
87 | + activestorage (= 5.2.0) | |
88 | + activesupport (= 5.2.0) | |
89 | + bundler (>= 1.3.0) | |
90 | + railties (= 5.2.0) | |
91 | + sprockets-rails (>= 2.0.0) | |
92 | + rails-dom-testing (2.0.3) | |
93 | + activesupport (>= 4.2.0) | |
94 | + nokogiri (>= 1.6) | |
95 | + rails-html-sanitizer (1.0.4) | |
96 | + loofah (~> 2.2, >= 2.2.2) | |
97 | + railties (5.2.0) | |
98 | + actionpack (= 5.2.0) | |
99 | + activesupport (= 5.2.0) | |
100 | + method_source | |
101 | + rake (>= 0.8.7) | |
102 | + thor (>= 0.18.1, < 2.0) | |
103 | + rake (10.5.0) | |
104 | + rspec (3.8.0) | |
105 | + rspec-core (~> 3.8.0) | |
106 | + rspec-expectations (~> 3.8.0) | |
107 | + rspec-mocks (~> 3.8.0) | |
108 | + rspec-core (3.8.0) | |
109 | + rspec-support (~> 3.8.0) | |
110 | + rspec-expectations (3.8.2) | |
111 | + diff-lcs (>= 1.2.0, < 2.0) | |
112 | + rspec-support (~> 3.8.0) | |
113 | + rspec-mocks (3.8.0) | |
114 | + diff-lcs (>= 1.2.0, < 2.0) | |
115 | + rspec-support (~> 3.8.0) | |
116 | + rspec-support (3.8.0) | |
117 | + sprockets (3.7.1) | |
118 | + concurrent-ruby (~> 1.0) | |
119 | + rack (> 1, < 3) | |
120 | + sprockets-rails (3.2.1) | |
121 | + actionpack (>= 4.0) | |
122 | + activesupport (>= 4.0) | |
123 | + sprockets (>= 3.0.0) | |
124 | + thor (0.20.0) | |
125 | + thread_safe (0.3.6) | |
126 | + tzinfo (1.2.5) | |
127 | + thread_safe (~> 0.1) | |
128 | + websocket-driver (0.7.0) | |
129 | + websocket-extensions (>= 0.1.0) | |
130 | + websocket-extensions (0.1.3) | |
131 | + | |
132 | +PLATFORMS | |
133 | + ruby | |
134 | + | |
135 | +DEPENDENCIES | |
136 | + bundler (~> 1.16) | |
137 | + rake (~> 10.0) | |
138 | + rspec (~> 3.0) | |
139 | + scim_rails! | |
140 | + | |
141 | +BUNDLED WITH | |
142 | + 1.16.1 | ... | ... |
1 | +++ a/MIT-LICENSE | |
... | ... | @@ -0,0 +1,20 @@ |
1 | +Copyright 2018 Lessonly | |
2 | + | |
3 | +Permission is hereby granted, free of charge, to any person obtaining | |
4 | +a copy of this software and associated documentation files (the | |
5 | +"Software"), to deal in the Software without restriction, including | |
6 | +without limitation the rights to use, copy, modify, merge, publish, | |
7 | +distribute, sublicense, and/or sell copies of the Software, and to | |
8 | +permit persons to whom the Software is furnished to do so, subject to | |
9 | +the following conditions: | |
10 | + | |
11 | +The above copyright notice and this permission notice shall be | |
12 | +included in all copies or substantial portions of the Software. | |
13 | + | |
14 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
15 | +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
16 | +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
17 | +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |
18 | +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |
19 | +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |
20 | +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ... | ... |
1 | +++ a/README.md | |
... | ... | @@ -0,0 +1,28 @@ |
1 | +# ScimRails | |
2 | +Short description and motivation. | |
3 | + | |
4 | +## Usage | |
5 | +How to use my plugin. | |
6 | + | |
7 | +## Installation | |
8 | +Add this line to your application's Gemfile: | |
9 | + | |
10 | +```ruby | |
11 | +gem 'scim_rails' | |
12 | +``` | |
13 | + | |
14 | +And then execute: | |
15 | +```bash | |
16 | +$ bundle | |
17 | +``` | |
18 | + | |
19 | +Or install it yourself as: | |
20 | +```bash | |
21 | +$ gem install scim_rails | |
22 | +``` | |
23 | + | |
24 | +## Contributing | |
25 | +Contribution directions go here. | |
26 | + | |
27 | +## License | |
28 | +The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). | ... | ... |
1 | +++ a/Rakefile | |
... | ... | @@ -0,0 +1,37 @@ |
1 | +begin | |
2 | + require 'bundler/setup' | |
3 | +rescue LoadError | |
4 | + puts 'You must `gem install bundler` and `bundle install` to run rake tasks' | |
5 | +end | |
6 | + | |
7 | +require 'rdoc/task' | |
8 | + | |
9 | +RDoc::Task.new(:rdoc) do |rdoc| | |
10 | + rdoc.rdoc_dir = 'rdoc' | |
11 | + rdoc.title = 'ScimRails' | |
12 | + rdoc.options << '--line-numbers' | |
13 | + rdoc.rdoc_files.include('README.md') | |
14 | + rdoc.rdoc_files.include('lib/**/*.rb') | |
15 | +end | |
16 | + | |
17 | +APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__) | |
18 | +load 'rails/tasks/engine.rake' | |
19 | + | |
20 | + | |
21 | +load 'rails/tasks/statistics.rake' | |
22 | + | |
23 | + | |
24 | + | |
25 | +require 'bundler/gem_tasks' | |
26 | + | |
27 | +require 'rake/testtask' | |
28 | + | |
29 | +Rake::TestTask.new(:test) do |t| | |
30 | + t.libs << 'lib' | |
31 | + t.libs << 'test' | |
32 | + t.pattern = 'test/**/*_test.rb' | |
33 | + t.verbose = false | |
34 | +end | |
35 | + | |
36 | + | |
37 | +task default: :test | ... | ... |
1 | +++ a/app/assets/images/scim_rails/.keep | ... | ... |
1 | +++ a/app/assets/javascripts/scim_rails/application.js | |
... | ... | @@ -0,0 +1,13 @@ |
1 | +// This is a manifest file that'll be compiled into application.js, which will include all the files | |
2 | +// listed below. | |
3 | +// | |
4 | +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, | |
5 | +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. | |
6 | +// | |
7 | +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the | |
8 | +// compiled file. JavaScript code in this file should be added after the last require_* statement. | |
9 | +// | |
10 | +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details | |
11 | +// about supported directives. | |
12 | +// | |
13 | +//= require_tree . | ... | ... |
1 | +++ a/app/assets/stylesheets/scim_rails/application.css | |
... | ... | @@ -0,0 +1,15 @@ |
1 | +/* | |
2 | + * This is a manifest file that'll be compiled into application.css, which will include all the files | |
3 | + * listed below. | |
4 | + * | |
5 | + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, | |
6 | + * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path. | |
7 | + * | |
8 | + * You're free to add application-wide styles to this file and they'll appear at the bottom of the | |
9 | + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS | |
10 | + * files in this directory. Styles in this file should be added after the last require_* statement. | |
11 | + * It is generally better to create a new file per style scope. | |
12 | + * | |
13 | + *= require_tree . | |
14 | + *= require_self | |
15 | + */ | ... | ... |
1 | +++ a/app/views/layouts/scim_rails/application.html.erb | |
... | ... | @@ -0,0 +1,14 @@ |
1 | +<!DOCTYPE html> | |
2 | +<html> | |
3 | +<head> | |
4 | + <title>Scim rails</title> | |
5 | + <%= stylesheet_link_tag "scim_rails/application", media: "all" %> | |
6 | + <%= javascript_include_tag "scim_rails/application" %> | |
7 | + <%= csrf_meta_tags %> | |
8 | +</head> | |
9 | +<body> | |
10 | + | |
11 | +<%= yield %> | |
12 | + | |
13 | +</body> | |
14 | +</html> | ... | ... |
1 | +++ a/bin/rails | |
... | ... | @@ -0,0 +1,13 @@ |
1 | +#!/usr/bin/env ruby | |
2 | +# This command will automatically be run when you run "rails" with Rails gems | |
3 | +# installed from the root of your application. | |
4 | + | |
5 | +ENGINE_ROOT = File.expand_path('../..', __FILE__) | |
6 | +ENGINE_PATH = File.expand_path('../../lib/scim_rails/engine', __FILE__) | |
7 | + | |
8 | +# Set up gems listed in the Gemfile. | |
9 | +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) | |
10 | +require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) | |
11 | + | |
12 | +require 'rails/all' | |
13 | +require 'rails/engine/commands' | ... | ... |
1 | +++ a/scim_rails.gemspec | |
... | ... | @@ -0,0 +1,24 @@ |
1 | +$:.push File.expand_path("../lib", __FILE__) | |
2 | + | |
3 | +# Maintain your gem's version: | |
4 | +require "scim_rails/version" | |
5 | + | |
6 | +# Describe your gem and declare its dependencies: | |
7 | +Gem::Specification.new do |s| | |
8 | + s.name = "scim_rails" | |
9 | + s.version = ScimRails::VERSION | |
10 | + s.authors = ["Spencer Alan"] | |
11 | + s.email = ["devops@lessonly.com"] | |
12 | + s.homepage = "https://github.com/lessonly/scim_rails" | |
13 | + s.summary = "SCIM Adapter for Rails." | |
14 | + s.description = "SCIM Adapter for Rails." | |
15 | + s.license = "MIT" | |
16 | + | |
17 | + s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.md"] | |
18 | + | |
19 | + s.add_dependency "rails", "~> 5.0" | |
20 | + | |
21 | + s.add_development_dependency "bundler", "~> 1.16" | |
22 | + s.add_development_dependency "rake", "~> 10.0" | |
23 | + s.add_development_dependency "rspec", "~> 3.0" | |
24 | +end | ... | ... |
1 | +++ a/test/dummy/Rakefile | |
... | ... | @@ -0,0 +1,6 @@ |
1 | +# Add your own tasks in files placed in lib/tasks ending in .rake, | |
2 | +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. | |
3 | + | |
4 | +require_relative 'config/application' | |
5 | + | |
6 | +Rails.application.load_tasks | ... | ... |
1 | +++ a/test/dummy/app/assets/images/.keep | ... | ... |
1 | +++ a/test/dummy/app/assets/javascripts/application.js | |
... | ... | @@ -0,0 +1,13 @@ |
1 | +// This is a manifest file that'll be compiled into application.js, which will include all the files | |
2 | +// listed below. | |
3 | +// | |
4 | +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, | |
5 | +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. | |
6 | +// | |
7 | +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the | |
8 | +// compiled file. JavaScript code in this file should be added after the last require_* statement. | |
9 | +// | |
10 | +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details | |
11 | +// about supported directives. | |
12 | +// | |
13 | +//= require_tree . | ... | ... |
1 | +++ a/test/dummy/app/assets/javascripts/cable.js | |
... | ... | @@ -0,0 +1,13 @@ |
1 | +// Action Cable provides the framework to deal with WebSockets in Rails. | |
2 | +// You can generate new channels where WebSocket features live using the rails generate channel command. | |
3 | +// | |
4 | +//= require action_cable | |
5 | +//= require_self | |
6 | +//= require_tree ./channels | |
7 | + | |
8 | +(function() { | |
9 | + this.App || (this.App = {}); | |
10 | + | |
11 | + App.cable = ActionCable.createConsumer(); | |
12 | + | |
13 | +}).call(this); | ... | ... |
1 | +++ a/test/dummy/app/assets/javascripts/channels/.keep | ... | ... |
1 | +++ a/test/dummy/app/assets/stylesheets/application.css | |
... | ... | @@ -0,0 +1,15 @@ |
1 | +/* | |
2 | + * This is a manifest file that'll be compiled into application.css, which will include all the files | |
3 | + * listed below. | |
4 | + * | |
5 | + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, | |
6 | + * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path. | |
7 | + * | |
8 | + * You're free to add application-wide styles to this file and they'll appear at the bottom of the | |
9 | + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS | |
10 | + * files in this directory. Styles in this file should be added after the last require_* statement. | |
11 | + * It is generally better to create a new file per style scope. | |
12 | + * | |
13 | + *= require_tree . | |
14 | + *= require_self | |
15 | + */ | ... | ... |
1 | +++ a/test/dummy/app/controllers/concerns/.keep | ... | ... |
1 | +++ a/test/dummy/app/models/concerns/.keep | ... | ... |
1 | +++ a/test/dummy/app/views/layouts/application.html.erb | |
... | ... | @@ -0,0 +1,14 @@ |
1 | +<!DOCTYPE html> | |
2 | +<html> | |
3 | + <head> | |
4 | + <title>Dummy</title> | |
5 | + <%= csrf_meta_tags %> | |
6 | + | |
7 | + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> | |
8 | + <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> | |
9 | + </head> | |
10 | + | |
11 | + <body> | |
12 | + <%= yield %> | |
13 | + </body> | |
14 | +</html> | ... | ... |
1 | +++ a/test/dummy/app/views/layouts/mailer.html.erb | |
... | ... | @@ -0,0 +1,13 @@ |
1 | +<!DOCTYPE html> | |
2 | +<html> | |
3 | + <head> | |
4 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
5 | + <style> | |
6 | + /* Email styles need to be inline */ | |
7 | + </style> | |
8 | + </head> | |
9 | + | |
10 | + <body> | |
11 | + <%= yield %> | |
12 | + </body> | |
13 | +</html> | ... | ... |
1 | +++ a/test/dummy/bin/setup | |
... | ... | @@ -0,0 +1,34 @@ |
1 | +#!/usr/bin/env ruby | |
2 | +require 'pathname' | |
3 | +require 'fileutils' | |
4 | +include FileUtils | |
5 | + | |
6 | +# path to your application root. | |
7 | +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) | |
8 | + | |
9 | +def system!(*args) | |
10 | + system(*args) || abort("\n== Command #{args} failed ==") | |
11 | +end | |
12 | + | |
13 | +chdir APP_ROOT do | |
14 | + # This script is a starting point to setup your application. | |
15 | + # Add necessary setup steps to this file. | |
16 | + | |
17 | + puts '== Installing dependencies ==' | |
18 | + system! 'gem install bundler --conservative' | |
19 | + system('bundle check') || system!('bundle install') | |
20 | + | |
21 | + # puts "\n== Copying sample files ==" | |
22 | + # unless File.exist?('config/database.yml') | |
23 | + # cp 'config/database.yml.sample', 'config/database.yml' | |
24 | + # end | |
25 | + | |
26 | + puts "\n== Preparing database ==" | |
27 | + system! 'bin/rails db:setup' | |
28 | + | |
29 | + puts "\n== Removing old logs and tempfiles ==" | |
30 | + system! 'bin/rails log:clear tmp:clear' | |
31 | + | |
32 | + puts "\n== Restarting application server ==" | |
33 | + system! 'bin/rails restart' | |
34 | +end | ... | ... |
1 | +++ a/test/dummy/bin/update | |
... | ... | @@ -0,0 +1,29 @@ |
1 | +#!/usr/bin/env ruby | |
2 | +require 'pathname' | |
3 | +require 'fileutils' | |
4 | +include FileUtils | |
5 | + | |
6 | +# path to your application root. | |
7 | +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) | |
8 | + | |
9 | +def system!(*args) | |
10 | + system(*args) || abort("\n== Command #{args} failed ==") | |
11 | +end | |
12 | + | |
13 | +chdir APP_ROOT do | |
14 | + # This script is a way to update your development environment automatically. | |
15 | + # Add necessary update steps to this file. | |
16 | + | |
17 | + puts '== Installing dependencies ==' | |
18 | + system! 'gem install bundler --conservative' | |
19 | + system('bundle check') || system!('bundle install') | |
20 | + | |
21 | + puts "\n== Updating database ==" | |
22 | + system! 'bin/rails db:migrate' | |
23 | + | |
24 | + puts "\n== Removing old logs and tempfiles ==" | |
25 | + system! 'bin/rails log:clear tmp:clear' | |
26 | + | |
27 | + puts "\n== Restarting application server ==" | |
28 | + system! 'bin/rails restart' | |
29 | +end | ... | ... |
1 | +++ a/test/dummy/config/application.rb | |
... | ... | @@ -0,0 +1,15 @@ |
1 | +require_relative 'boot' | |
2 | + | |
3 | +require 'rails/all' | |
4 | + | |
5 | +Bundler.require(*Rails.groups) | |
6 | +require "scim_rails" | |
7 | + | |
8 | +module Dummy | |
9 | + class Application < Rails::Application | |
10 | + # Settings in config/environments/* take precedence over those specified here. | |
11 | + # Application configuration should go into files in config/initializers | |
12 | + # -- all .rb files in that directory are automatically loaded. | |
13 | + end | |
14 | +end | |
15 | + | ... | ... |
1 | +++ a/test/dummy/config/boot.rb | |
... | ... | @@ -0,0 +1,5 @@ |
1 | +# Set up gems listed in the Gemfile. | |
2 | +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__) | |
3 | + | |
4 | +require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) | |
5 | +$LOAD_PATH.unshift File.expand_path('../../../lib', __dir__) | ... | ... |
1 | +++ a/test/dummy/config/database.yml | |
... | ... | @@ -0,0 +1,25 @@ |
1 | +# SQLite version 3.x | |
2 | +# gem install sqlite3 | |
3 | +# | |
4 | +# Ensure the SQLite 3 gem is defined in your Gemfile | |
5 | +# gem 'sqlite3' | |
6 | +# | |
7 | +default: &default | |
8 | + adapter: sqlite3 | |
9 | + pool: 5 | |
10 | + timeout: 5000 | |
11 | + | |
12 | +development: | |
13 | + <<: *default | |
14 | + database: db/development.sqlite3 | |
15 | + | |
16 | +# Warning: The database defined as "test" will be erased and | |
17 | +# re-generated from your development database when you run "rake". | |
18 | +# Do not set this db to the same as development or production. | |
19 | +test: | |
20 | + <<: *default | |
21 | + database: db/test.sqlite3 | |
22 | + | |
23 | +production: | |
24 | + <<: *default | |
25 | + database: db/production.sqlite3 | ... | ... |
1 | +++ a/test/dummy/config/environments/development.rb | |
... | ... | @@ -0,0 +1,54 @@ |
1 | +Rails.application.configure do | |
2 | + # Settings specified here will take precedence over those in config/application.rb. | |
3 | + | |
4 | + # In the development environment your application's code is reloaded on | |
5 | + # every request. This slows down response time but is perfect for development | |
6 | + # since you don't have to restart the web server when you make code changes. | |
7 | + config.cache_classes = false | |
8 | + | |
9 | + # Do not eager load code on boot. | |
10 | + config.eager_load = false | |
11 | + | |
12 | + # Show full error reports. | |
13 | + config.consider_all_requests_local = true | |
14 | + | |
15 | + # Enable/disable caching. By default caching is disabled. | |
16 | + if Rails.root.join('tmp/caching-dev.txt').exist? | |
17 | + config.action_controller.perform_caching = true | |
18 | + | |
19 | + config.cache_store = :memory_store | |
20 | + config.public_file_server.headers = { | |
21 | + 'Cache-Control' => 'public, max-age=172800' | |
22 | + } | |
23 | + else | |
24 | + config.action_controller.perform_caching = false | |
25 | + | |
26 | + config.cache_store = :null_store | |
27 | + end | |
28 | + | |
29 | + # Don't care if the mailer can't send. | |
30 | + config.action_mailer.raise_delivery_errors = false | |
31 | + | |
32 | + config.action_mailer.perform_caching = false | |
33 | + | |
34 | + # Print deprecation notices to the Rails logger. | |
35 | + config.active_support.deprecation = :log | |
36 | + | |
37 | + # Raise an error on page load if there are pending migrations. | |
38 | + config.active_record.migration_error = :page_load | |
39 | + | |
40 | + # Debug mode disables concatenation and preprocessing of assets. | |
41 | + # This option may cause significant delays in view rendering with a large | |
42 | + # number of complex assets. | |
43 | + config.assets.debug = true | |
44 | + | |
45 | + # Suppress logger output for asset requests. | |
46 | + config.assets.quiet = true | |
47 | + | |
48 | + # Raises error for missing translations | |
49 | + # config.action_view.raise_on_missing_translations = true | |
50 | + | |
51 | + # Use an evented file watcher to asynchronously detect changes in source code, | |
52 | + # routes, locales, etc. This feature depends on the listen gem. | |
53 | + # config.file_watcher = ActiveSupport::EventedFileUpdateChecker | |
54 | +end | ... | ... |
1 | +++ a/test/dummy/config/environments/production.rb | |
... | ... | @@ -0,0 +1,86 @@ |
1 | +Rails.application.configure do | |
2 | + # Settings specified here will take precedence over those in config/application.rb. | |
3 | + | |
4 | + # Code is not reloaded between requests. | |
5 | + config.cache_classes = true | |
6 | + | |
7 | + # Eager load code on boot. This eager loads most of Rails and | |
8 | + # your application in memory, allowing both threaded web servers | |
9 | + # and those relying on copy on write to perform better. | |
10 | + # Rake tasks automatically ignore this option for performance. | |
11 | + config.eager_load = true | |
12 | + | |
13 | + # Full error reports are disabled and caching is turned on. | |
14 | + config.consider_all_requests_local = false | |
15 | + config.action_controller.perform_caching = true | |
16 | + | |
17 | + # Disable serving static files from the `/public` folder by default since | |
18 | + # Apache or NGINX already handles this. | |
19 | + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? | |
20 | + | |
21 | + # Compress JavaScripts and CSS. | |
22 | + config.assets.js_compressor = :uglifier | |
23 | + # config.assets.css_compressor = :sass | |
24 | + | |
25 | + # Do not fallback to assets pipeline if a precompiled asset is missed. | |
26 | + config.assets.compile = false | |
27 | + | |
28 | + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb | |
29 | + | |
30 | + # Enable serving of images, stylesheets, and JavaScripts from an asset server. | |
31 | + # config.action_controller.asset_host = 'http://assets.example.com' | |
32 | + | |
33 | + # Specifies the header that your server uses for sending files. | |
34 | + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache | |
35 | + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX | |
36 | + | |
37 | + # Mount Action Cable outside main process or domain | |
38 | + # config.action_cable.mount_path = nil | |
39 | + # config.action_cable.url = 'wss://example.com/cable' | |
40 | + # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] | |
41 | + | |
42 | + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. | |
43 | + # config.force_ssl = true | |
44 | + | |
45 | + # Use the lowest log level to ensure availability of diagnostic information | |
46 | + # when problems arise. | |
47 | + config.log_level = :debug | |
48 | + | |
49 | + # Prepend all log lines with the following tags. | |
50 | + config.log_tags = [ :request_id ] | |
51 | + | |
52 | + # Use a different cache store in production. | |
53 | + # config.cache_store = :mem_cache_store | |
54 | + | |
55 | + # Use a real queuing backend for Active Job (and separate queues per environment) | |
56 | + # config.active_job.queue_adapter = :resque | |
57 | + # config.active_job.queue_name_prefix = "dummy_#{Rails.env}" | |
58 | + config.action_mailer.perform_caching = false | |
59 | + | |
60 | + # Ignore bad email addresses and do not raise email delivery errors. | |
61 | + # Set this to true and configure the email server for immediate delivery to raise delivery errors. | |
62 | + # config.action_mailer.raise_delivery_errors = false | |
63 | + | |
64 | + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to | |
65 | + # the I18n.default_locale when a translation cannot be found). | |
66 | + config.i18n.fallbacks = true | |
67 | + | |
68 | + # Send deprecation notices to registered listeners. | |
69 | + config.active_support.deprecation = :notify | |
70 | + | |
71 | + # Use default logging formatter so that PID and timestamp are not suppressed. | |
72 | + config.log_formatter = ::Logger::Formatter.new | |
73 | + | |
74 | + # Use a different logger for distributed setups. | |
75 | + # require 'syslog/logger' | |
76 | + # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') | |
77 | + | |
78 | + if ENV["RAILS_LOG_TO_STDOUT"].present? | |
79 | + logger = ActiveSupport::Logger.new(STDOUT) | |
80 | + logger.formatter = config.log_formatter | |
81 | + config.logger = ActiveSupport::TaggedLogging.new(logger) | |
82 | + end | |
83 | + | |
84 | + # Do not dump schema after migrations. | |
85 | + config.active_record.dump_schema_after_migration = false | |
86 | +end | ... | ... |
1 | +++ a/test/dummy/config/environments/test.rb | |
... | ... | @@ -0,0 +1,42 @@ |
1 | +Rails.application.configure do | |
2 | + # Settings specified here will take precedence over those in config/application.rb. | |
3 | + | |
4 | + # The test environment is used exclusively to run your application's | |
5 | + # test suite. You never need to work with it otherwise. Remember that | |
6 | + # your test database is "scratch space" for the test suite and is wiped | |
7 | + # and recreated between test runs. Don't rely on the data there! | |
8 | + config.cache_classes = true | |
9 | + | |
10 | + # Do not eager load code on boot. This avoids loading your whole application | |
11 | + # just for the purpose of running a single test. If you are using a tool that | |
12 | + # preloads Rails for running tests, you may have to set it to true. | |
13 | + config.eager_load = false | |
14 | + | |
15 | + # Configure public file server for tests with Cache-Control for performance. | |
16 | + config.public_file_server.enabled = true | |
17 | + config.public_file_server.headers = { | |
18 | + 'Cache-Control' => 'public, max-age=3600' | |
19 | + } | |
20 | + | |
21 | + # Show full error reports and disable caching. | |
22 | + config.consider_all_requests_local = true | |
23 | + config.action_controller.perform_caching = false | |
24 | + | |
25 | + # Raise exceptions instead of rendering exception templates. | |
26 | + config.action_dispatch.show_exceptions = false | |
27 | + | |
28 | + # Disable request forgery protection in test environment. | |
29 | + config.action_controller.allow_forgery_protection = false | |
30 | + config.action_mailer.perform_caching = false | |
31 | + | |
32 | + # Tell Action Mailer not to deliver emails to the real world. | |
33 | + # The :test delivery method accumulates sent emails in the | |
34 | + # ActionMailer::Base.deliveries array. | |
35 | + config.action_mailer.delivery_method = :test | |
36 | + | |
37 | + # Print deprecation notices to the stderr. | |
38 | + config.active_support.deprecation = :stderr | |
39 | + | |
40 | + # Raises error for missing translations | |
41 | + # config.action_view.raise_on_missing_translations = true | |
42 | +end | ... | ... |
test/dummy/config/initializers/application_controller_renderer.rb
0 → 100644
1 | +++ a/test/dummy/config/initializers/assets.rb | |
... | ... | @@ -0,0 +1,11 @@ |
1 | +# Be sure to restart your server when you modify this file. | |
2 | + | |
3 | +# Version of your assets, change this if you want to expire all your assets. | |
4 | +Rails.application.config.assets.version = '1.0' | |
5 | + | |
6 | +# Add additional assets to the asset load path | |
7 | +# Rails.application.config.assets.paths << Emoji.images_path | |
8 | + | |
9 | +# Precompile additional assets. | |
10 | +# application.js, application.css, and all non-JS/CSS in app/assets folder are already added. | |
11 | +# Rails.application.config.assets.precompile += %w( search.js ) | ... | ... |
1 | +++ a/test/dummy/config/initializers/backtrace_silencers.rb | |
... | ... | @@ -0,0 +1,7 @@ |
1 | +# Be sure to restart your server when you modify this file. | |
2 | + | |
3 | +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. | |
4 | +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } | |
5 | + | |
6 | +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. | |
7 | +# Rails.backtrace_cleaner.remove_silencers! | ... | ... |
1 | +++ a/test/dummy/config/initializers/cookies_serializer.rb | |
... | ... | @@ -0,0 +1,5 @@ |
1 | +# Be sure to restart your server when you modify this file. | |
2 | + | |
3 | +# Specify a serializer for the signed and encrypted cookie jars. | |
4 | +# Valid options are :json, :marshal, and :hybrid. | |
5 | +Rails.application.config.action_dispatch.cookies_serializer = :json | ... | ... |
test/dummy/config/initializers/filter_parameter_logging.rb
0 → 100644
1 | +++ a/test/dummy/config/initializers/filter_parameter_logging.rb | |
... | ... | @@ -0,0 +1,4 @@ |
1 | +# Be sure to restart your server when you modify this file. | |
2 | + | |
3 | +# Configure sensitive parameters which will be filtered from the log file. | |
4 | +Rails.application.config.filter_parameters += [:password] | ... | ... |
1 | +++ a/test/dummy/config/initializers/inflections.rb | |
... | ... | @@ -0,0 +1,16 @@ |
1 | +# Be sure to restart your server when you modify this file. | |
2 | + | |
3 | +# Add new inflection rules using the following format. Inflections | |
4 | +# are locale specific, and you may define rules for as many different | |
5 | +# locales as you wish. All of these examples are active by default: | |
6 | +# ActiveSupport::Inflector.inflections(:en) do |inflect| | |
7 | +# inflect.plural /^(ox)$/i, '\1en' | |
8 | +# inflect.singular /^(ox)en/i, '\1' | |
9 | +# inflect.irregular 'person', 'people' | |
10 | +# inflect.uncountable %w( fish sheep ) | |
11 | +# end | |
12 | + | |
13 | +# These inflection rules are supported but not enabled by default: | |
14 | +# ActiveSupport::Inflector.inflections(:en) do |inflect| | |
15 | +# inflect.acronym 'RESTful' | |
16 | +# end | ... | ... |
test/dummy/config/initializers/new_framework_defaults.rb
0 → 100644
1 | +++ a/test/dummy/config/initializers/new_framework_defaults.rb | |
... | ... | @@ -0,0 +1,24 @@ |
1 | +# Be sure to restart your server when you modify this file. | |
2 | +# | |
3 | +# This file contains migration options to ease your Rails 5.0 upgrade. | |
4 | +# | |
5 | +# Read the Rails 5.0 release notes for more info on each option. | |
6 | + | |
7 | +# Enable per-form CSRF tokens. Previous versions had false. | |
8 | +Rails.application.config.action_controller.per_form_csrf_tokens = true | |
9 | + | |
10 | +# Enable origin-checking CSRF mitigation. Previous versions had false. | |
11 | +Rails.application.config.action_controller.forgery_protection_origin_check = true | |
12 | + | |
13 | +# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`. | |
14 | +# Previous versions had false. | |
15 | +ActiveSupport.to_time_preserves_timezone = true | |
16 | + | |
17 | +# Require `belongs_to` associations by default. Previous versions had false. | |
18 | +Rails.application.config.active_record.belongs_to_required_by_default = true | |
19 | + | |
20 | +# Do not halt callback chains when a callback returns false. Previous versions had true. | |
21 | +ActiveSupport.halt_callback_chains_on_return_false = false | |
22 | + | |
23 | +# Configure SSL options to enable HSTS with subdomains. Previous versions had false. | |
24 | +Rails.application.config.ssl_options = { hsts: { subdomains: true } } | ... | ... |
1 | +++ a/test/dummy/config/initializers/wrap_parameters.rb | |
... | ... | @@ -0,0 +1,14 @@ |
1 | +# Be sure to restart your server when you modify this file. | |
2 | + | |
3 | +# This file contains settings for ActionController::ParamsWrapper which | |
4 | +# is enabled by default. | |
5 | + | |
6 | +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. | |
7 | +ActiveSupport.on_load(:action_controller) do | |
8 | + wrap_parameters format: [:json] | |
9 | +end | |
10 | + | |
11 | +# To enable root element in JSON for ActiveRecord objects. | |
12 | +# ActiveSupport.on_load(:active_record) do | |
13 | +# self.include_root_in_json = true | |
14 | +# end | ... | ... |
1 | +++ a/test/dummy/config/locales/en.yml | |
... | ... | @@ -0,0 +1,23 @@ |
1 | +# Files in the config/locales directory are used for internationalization | |
2 | +# and are automatically loaded by Rails. If you want to use locales other | |
3 | +# than English, add the necessary files in this directory. | |
4 | +# | |
5 | +# To use the locales, use `I18n.t`: | |
6 | +# | |
7 | +# I18n.t 'hello' | |
8 | +# | |
9 | +# In views, this is aliased to just `t`: | |
10 | +# | |
11 | +# <%= t('hello') %> | |
12 | +# | |
13 | +# To use a different locale, set it with `I18n.locale`: | |
14 | +# | |
15 | +# I18n.locale = :es | |
16 | +# | |
17 | +# This would use the information in config/locales/es.yml. | |
18 | +# | |
19 | +# To learn more, please read the Rails Internationalization guide | |
20 | +# available at http://guides.rubyonrails.org/i18n.html. | |
21 | + | |
22 | +en: | |
23 | + hello: "Hello world" | ... | ... |
1 | +++ a/test/dummy/config/puma.rb | |
... | ... | @@ -0,0 +1,47 @@ |
1 | +# Puma can serve each request in a thread from an internal thread pool. | |
2 | +# The `threads` method setting takes two numbers a minimum and maximum. | |
3 | +# Any libraries that use thread pools should be configured to match | |
4 | +# the maximum value specified for Puma. Default is set to 5 threads for minimum | |
5 | +# and maximum, this matches the default thread size of Active Record. | |
6 | +# | |
7 | +threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i | |
8 | +threads threads_count, threads_count | |
9 | + | |
10 | +# Specifies the `port` that Puma will listen on to receive requests, default is 3000. | |
11 | +# | |
12 | +port ENV.fetch("PORT") { 3000 } | |
13 | + | |
14 | +# Specifies the `environment` that Puma will run in. | |
15 | +# | |
16 | +environment ENV.fetch("RAILS_ENV") { "development" } | |
17 | + | |
18 | +# Specifies the number of `workers` to boot in clustered mode. | |
19 | +# Workers are forked webserver processes. If using threads and workers together | |
20 | +# the concurrency of the application would be max `threads` * `workers`. | |
21 | +# Workers do not work on JRuby or Windows (both of which do not support | |
22 | +# processes). | |
23 | +# | |
24 | +# workers ENV.fetch("WEB_CONCURRENCY") { 2 } | |
25 | + | |
26 | +# Use the `preload_app!` method when specifying a `workers` number. | |
27 | +# This directive tells Puma to first boot the application and load code | |
28 | +# before forking the application. This takes advantage of Copy On Write | |
29 | +# process behavior so workers use less memory. If you use this option | |
30 | +# you need to make sure to reconnect any threads in the `on_worker_boot` | |
31 | +# block. | |
32 | +# | |
33 | +# preload_app! | |
34 | + | |
35 | +# The code in the `on_worker_boot` will be called if you are using | |
36 | +# clustered mode by specifying a number of `workers`. After each worker | |
37 | +# process is booted this block will be run, if you are using `preload_app!` | |
38 | +# option you will want to use this block to reconnect to any threads | |
39 | +# or connections that may have been created at application boot, Ruby | |
40 | +# cannot share connections between processes. | |
41 | +# | |
42 | +# on_worker_boot do | |
43 | +# ActiveRecord::Base.establish_connection if defined?(ActiveRecord) | |
44 | +# end | |
45 | + | |
46 | +# Allow puma to be restarted by `rails restart` command. | |
47 | +plugin :tmp_restart | ... | ... |
1 | +++ a/test/dummy/config/secrets.yml | |
... | ... | @@ -0,0 +1,22 @@ |
1 | +# Be sure to restart your server when you modify this file. | |
2 | + | |
3 | +# Your secret key is used for verifying the integrity of signed cookies. | |
4 | +# If you change this key, all old signed cookies will become invalid! | |
5 | + | |
6 | +# Make sure the secret is at least 30 characters and all random, | |
7 | +# no regular words or you'll be exposed to dictionary attacks. | |
8 | +# You can use `rails secret` to generate a secure secret key. | |
9 | + | |
10 | +# Make sure the secrets in this file are kept private | |
11 | +# if you're sharing your code publicly. | |
12 | + | |
13 | +development: | |
14 | + secret_key_base: 57bd54316c4891fb7f568e3e3d7d1d358ad5c02b10ea6938705fc16a0ad3c459b97d93d88b9d29cdaa326404f3bcacdf1bb12b13bdd78778a0e4c7284180ad1d | |
15 | + | |
16 | +test: | |
17 | + secret_key_base: 5bd661937b4ded6f6077df28ec6256813e626ed73550ca006897e809e1dc70630e5d7de07d6199abbeb6aea397fc031313c0c44f13c43773e44904e8fd92fcc8 | |
18 | + | |
19 | +# Do not keep production secrets in the repository, | |
20 | +# instead read values from the environment. | |
21 | +production: | |
22 | + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> | ... | ... |
1 | +++ a/test/dummy/lib/assets/.keep | ... | ... |
1 | +++ a/test/dummy/log/.keep | ... | ... |
1 | +++ a/test/dummy/public/404.html | |
... | ... | @@ -0,0 +1,67 @@ |
1 | +<!DOCTYPE html> | |
2 | +<html> | |
3 | +<head> | |
4 | + <title>The page you were looking for doesn't exist (404)</title> | |
5 | + <meta name="viewport" content="width=device-width,initial-scale=1"> | |
6 | + <style> | |
7 | + body { | |
8 | + background-color: #EFEFEF; | |
9 | + color: #2E2F30; | |
10 | + text-align: center; | |
11 | + font-family: arial, sans-serif; | |
12 | + margin: 0; | |
13 | + } | |
14 | + | |
15 | + div.dialog { | |
16 | + width: 95%; | |
17 | + max-width: 33em; | |
18 | + margin: 4em auto 0; | |
19 | + } | |
20 | + | |
21 | + div.dialog > div { | |
22 | + border: 1px solid #CCC; | |
23 | + border-right-color: #999; | |
24 | + border-left-color: #999; | |
25 | + border-bottom-color: #BBB; | |
26 | + border-top: #B00100 solid 4px; | |
27 | + border-top-left-radius: 9px; | |
28 | + border-top-right-radius: 9px; | |
29 | + background-color: white; | |
30 | + padding: 7px 12% 0; | |
31 | + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); | |
32 | + } | |
33 | + | |
34 | + h1 { | |
35 | + font-size: 100%; | |
36 | + color: #730E15; | |
37 | + line-height: 1.5em; | |
38 | + } | |
39 | + | |
40 | + div.dialog > p { | |
41 | + margin: 0 0 1em; | |
42 | + padding: 1em; | |
43 | + background-color: #F7F7F7; | |
44 | + border: 1px solid #CCC; | |
45 | + border-right-color: #999; | |
46 | + border-left-color: #999; | |
47 | + border-bottom-color: #999; | |
48 | + border-bottom-left-radius: 4px; | |
49 | + border-bottom-right-radius: 4px; | |
50 | + border-top-color: #DADADA; | |
51 | + color: #666; | |
52 | + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); | |
53 | + } | |
54 | + </style> | |
55 | +</head> | |
56 | + | |
57 | +<body> | |
58 | + <!-- This file lives in public/404.html --> | |
59 | + <div class="dialog"> | |
60 | + <div> | |
61 | + <h1>The page you were looking for doesn't exist.</h1> | |
62 | + <p>You may have mistyped the address or the page may have moved.</p> | |
63 | + </div> | |
64 | + <p>If you are the application owner check the logs for more information.</p> | |
65 | + </div> | |
66 | +</body> | |
67 | +</html> | ... | ... |
1 | +++ a/test/dummy/public/422.html | |
... | ... | @@ -0,0 +1,67 @@ |
1 | +<!DOCTYPE html> | |
2 | +<html> | |
3 | +<head> | |
4 | + <title>The change you wanted was rejected (422)</title> | |
5 | + <meta name="viewport" content="width=device-width,initial-scale=1"> | |
6 | + <style> | |
7 | + body { | |
8 | + background-color: #EFEFEF; | |
9 | + color: #2E2F30; | |
10 | + text-align: center; | |
11 | + font-family: arial, sans-serif; | |
12 | + margin: 0; | |
13 | + } | |
14 | + | |
15 | + div.dialog { | |
16 | + width: 95%; | |
17 | + max-width: 33em; | |
18 | + margin: 4em auto 0; | |
19 | + } | |
20 | + | |
21 | + div.dialog > div { | |
22 | + border: 1px solid #CCC; | |
23 | + border-right-color: #999; | |
24 | + border-left-color: #999; | |
25 | + border-bottom-color: #BBB; | |
26 | + border-top: #B00100 solid 4px; | |
27 | + border-top-left-radius: 9px; | |
28 | + border-top-right-radius: 9px; | |
29 | + background-color: white; | |
30 | + padding: 7px 12% 0; | |
31 | + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); | |
32 | + } | |
33 | + | |
34 | + h1 { | |
35 | + font-size: 100%; | |
36 | + color: #730E15; | |
37 | + line-height: 1.5em; | |
38 | + } | |
39 | + | |
40 | + div.dialog > p { | |
41 | + margin: 0 0 1em; | |
42 | + padding: 1em; | |
43 | + background-color: #F7F7F7; | |
44 | + border: 1px solid #CCC; | |
45 | + border-right-color: #999; | |
46 | + border-left-color: #999; | |
47 | + border-bottom-color: #999; | |
48 | + border-bottom-left-radius: 4px; | |
49 | + border-bottom-right-radius: 4px; | |
50 | + border-top-color: #DADADA; | |
51 | + color: #666; | |
52 | + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); | |
53 | + } | |
54 | + </style> | |
55 | +</head> | |
56 | + | |
57 | +<body> | |
58 | + <!-- This file lives in public/422.html --> | |
59 | + <div class="dialog"> | |
60 | + <div> | |
61 | + <h1>The change you wanted was rejected.</h1> | |
62 | + <p>Maybe you tried to change something you didn't have access to.</p> | |
63 | + </div> | |
64 | + <p>If you are the application owner check the logs for more information.</p> | |
65 | + </div> | |
66 | +</body> | |
67 | +</html> | ... | ... |
1 | +++ a/test/dummy/public/500.html | |
... | ... | @@ -0,0 +1,66 @@ |
1 | +<!DOCTYPE html> | |
2 | +<html> | |
3 | +<head> | |
4 | + <title>We're sorry, but something went wrong (500)</title> | |
5 | + <meta name="viewport" content="width=device-width,initial-scale=1"> | |
6 | + <style> | |
7 | + body { | |
8 | + background-color: #EFEFEF; | |
9 | + color: #2E2F30; | |
10 | + text-align: center; | |
11 | + font-family: arial, sans-serif; | |
12 | + margin: 0; | |
13 | + } | |
14 | + | |
15 | + div.dialog { | |
16 | + width: 95%; | |
17 | + max-width: 33em; | |
18 | + margin: 4em auto 0; | |
19 | + } | |
20 | + | |
21 | + div.dialog > div { | |
22 | + border: 1px solid #CCC; | |
23 | + border-right-color: #999; | |
24 | + border-left-color: #999; | |
25 | + border-bottom-color: #BBB; | |
26 | + border-top: #B00100 solid 4px; | |
27 | + border-top-left-radius: 9px; | |
28 | + border-top-right-radius: 9px; | |
29 | + background-color: white; | |
30 | + padding: 7px 12% 0; | |
31 | + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); | |
32 | + } | |
33 | + | |
34 | + h1 { | |
35 | + font-size: 100%; | |
36 | + color: #730E15; | |
37 | + line-height: 1.5em; | |
38 | + } | |
39 | + | |
40 | + div.dialog > p { | |
41 | + margin: 0 0 1em; | |
42 | + padding: 1em; | |
43 | + background-color: #F7F7F7; | |
44 | + border: 1px solid #CCC; | |
45 | + border-right-color: #999; | |
46 | + border-left-color: #999; | |
47 | + border-bottom-color: #999; | |
48 | + border-bottom-left-radius: 4px; | |
49 | + border-bottom-right-radius: 4px; | |
50 | + border-top-color: #DADADA; | |
51 | + color: #666; | |
52 | + box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17); | |
53 | + } | |
54 | + </style> | |
55 | +</head> | |
56 | + | |
57 | +<body> | |
58 | + <!-- This file lives in public/500.html --> | |
59 | + <div class="dialog"> | |
60 | + <div> | |
61 | + <h1>We're sorry, but something went wrong.</h1> | |
62 | + </div> | |
63 | + <p>If you are the application owner check the logs for more information.</p> | |
64 | + </div> | |
65 | +</body> | |
66 | +</html> | ... | ... |
1 | +++ a/test/dummy/public/apple-touch-icon-precomposed.png | ... | ... |
1 | +++ a/test/dummy/public/apple-touch-icon.png | ... | ... |
1 | +++ a/test/dummy/public/favicon.ico | ... | ... |
1 | +++ a/test/test_helper.rb | |
... | ... | @@ -0,0 +1,20 @@ |
1 | +# Configure Rails Environment | |
2 | +ENV["RAILS_ENV"] = "test" | |
3 | + | |
4 | +require File.expand_path("../../test/dummy/config/environment.rb", __FILE__) | |
5 | +ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)] | |
6 | +ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__) | |
7 | +require "rails/test_help" | |
8 | + | |
9 | +# Filter out Minitest backtrace while allowing backtrace from other libraries | |
10 | +# to be shown. | |
11 | +Minitest.backtrace_filter = Minitest::BacktraceFilter.new | |
12 | + | |
13 | + | |
14 | +# Load fixtures from the engine | |
15 | +if ActiveSupport::TestCase.respond_to?(:fixture_path=) | |
16 | + ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__) | |
17 | + ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path | |
18 | + ActiveSupport::TestCase.file_fixture_path = ActiveSupport::TestCase.fixture_path + "/files" | |
19 | + ActiveSupport::TestCase.fixtures :all | |
20 | +end | ... | ... |