railman 0.6.13 → 0.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/railman/version.rb +1 -1
- data/templates/rails_app/.env.example.development.tt +2 -0
- data/templates/rails_app/.env.example.production.tt +2 -0
- data/templates/rails_app/.env.example.test.tt +2 -0
- data/templates/rails_app/Gemfile +4 -3
- data/templates/rails_app/config/environments/production.rb.tt +1 -1
- data/templates/rails_app/config/initializers/redis.rb.tt +2 -0
- data/templates/rails_app/config/initializers/session_store.rb.tt +4 -3
- data/templates/rails_app/config/initializers/sidekiq.rb.tt +1 -1
- data/templates/rails_app/config/server/nginx.conf.tt +4 -0
- data/templates/rails_app/test/integration/homepage_test.rb.tt +1 -1
- data/templates/rails_app/test/test_helper.rb +0 -47
- data/templates/rails_app/test/webtest_helper.rb +60 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff3a64f05648faa195706f4ae12a591089c00df6
|
4
|
+
data.tar.gz: ae60b309f39a1eca295a15814bcc9fecc002149c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3eff0133a2d9fb481bde443b16490f876dc123284a80b4546506ff30ee90d86971dc7a4ac46e0266fbc026a65c70d3c0c2cf45f88dc55a6eb6fe6be3cd7ab7f1
|
7
|
+
data.tar.gz: 509ac45277e79b7e041f979b4f7bc76daf10bd921d8e3558aebece6f167a75c87bd58c2000d86bbff6e4e3b6d74a3a21818e2fed852373147f430997446e621f
|
data/lib/railman/version.rb
CHANGED
data/templates/rails_app/Gemfile
CHANGED
@@ -7,9 +7,10 @@ gem 'pg', '0.18.2'
|
|
7
7
|
|
8
8
|
gem 'semantic-rails-ui' # semantic-ui + simple_form + rails helpers
|
9
9
|
|
10
|
-
gem '
|
11
|
-
gem '
|
12
|
-
gem 'redis-
|
10
|
+
gem 'hiredis', '0.6.1'
|
11
|
+
gem 'redis', '3.3.1', require: %w(redis redis/connection/hiredis)
|
12
|
+
gem 'redis-namespace', '1.5.2'
|
13
|
+
gem 'redis-rails', '5.0.1'
|
13
14
|
|
14
15
|
gem 'sidekiq', '4.1.1' # backgroud jobs
|
15
16
|
gem 'sidekiq-scheduler', '2.0.6' # scheduled background jobs
|
@@ -56,7 +56,7 @@ Rails.application.configure do
|
|
56
56
|
|
57
57
|
# Use a different cache store in production.
|
58
58
|
# config.cache_store = :mem_cache_store
|
59
|
-
config.cache_store = :
|
59
|
+
config.cache_store = :redis_store, "redis://#{ENV.fetch('REDIS_SERVER')}/<%= @config.app_name %>:#{Rails.env}:cache"
|
60
60
|
|
61
61
|
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
62
62
|
# config.action_controller.asset_host = 'http://assets.example.com'
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
|
-
Rails.application.config.session_store :
|
3
|
+
Rails.application.config.session_store :redis_store,
|
4
|
+
redis_server: "redis://#{ENV.fetch('REDIS_SERVER')}/<%= @config.app_name %>:#{Rails.env}:sessions",
|
4
5
|
key: "_<%= @config.app_name %>_session",
|
5
|
-
|
6
|
-
|
6
|
+
expire_after: 30.minutes
|
7
|
+
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'sidekiq/scheduler'
|
2
2
|
|
3
3
|
# Configure Sidekiq Redis connection to use the '<%= @config.app_name %>' namespace
|
4
|
-
redis_config = { url:
|
4
|
+
redis_config = { url: "redis://#{ENV.fetch('REDIS_SERVER')}", namespace: "<%= @config.app_name %>:#{Rails.env}:sidekiq" }
|
5
5
|
|
6
6
|
Sidekiq.configure_server do |config|
|
7
7
|
config.redis = redis_config
|
@@ -19,6 +19,8 @@ server {
|
|
19
19
|
proxy_set_header Host $http_host;
|
20
20
|
proxy_redirect off;
|
21
21
|
proxy_pass http://<%= @config.app_name %>;
|
22
|
+
|
23
|
+
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
|
22
24
|
}
|
23
25
|
|
24
26
|
client_max_body_size 100m;
|
@@ -33,6 +35,7 @@ server {
|
|
33
35
|
if ($request_filename ~* ^.*?\.(eot)|(ttf)|(woff)|(svg)|(otf)$){
|
34
36
|
add_header Access-Control-Allow-Origin *;
|
35
37
|
}
|
38
|
+
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
|
36
39
|
break;
|
37
40
|
}
|
38
41
|
|
@@ -41,6 +44,7 @@ server {
|
|
41
44
|
gzip_static on; # to serve pre-gzipped version
|
42
45
|
expires max;
|
43
46
|
add_header Cache-Control public;
|
47
|
+
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
|
44
48
|
}
|
45
49
|
|
46
50
|
# Let's Encrypt certificates
|
@@ -17,50 +17,3 @@ class UnitTest < ActiveSupport::TestCase
|
|
17
17
|
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
|
18
18
|
fixtures :all
|
19
19
|
end
|
20
|
-
|
21
|
-
# configure webtests with capybara and poltergeist (headless)
|
22
|
-
require 'capybara/rails'
|
23
|
-
require 'capybara_minitest_spec'
|
24
|
-
require 'capybara/poltergeist'
|
25
|
-
|
26
|
-
CAPYBARA_WINDOW_SIZE = [1024, 768]
|
27
|
-
|
28
|
-
if ENV['HEADLESS'] == 'true'
|
29
|
-
# headless driver configuration
|
30
|
-
Capybara.register_driver :poltergeist do |app|
|
31
|
-
poltergeist_options = { debug: false, timeout: 30, js_errors: true, window_size: CAPYBARA_WINDOW_SIZE }
|
32
|
-
Capybara::Poltergeist::Driver.new(app, poltergeist_options)
|
33
|
-
end
|
34
|
-
Capybara.default_driver = :poltergeist
|
35
|
-
else
|
36
|
-
# chrome browser driver configuration
|
37
|
-
Capybara.register_driver :selenium do |app|
|
38
|
-
Capybara::Selenium::Driver.new(app, :browser => :chrome)
|
39
|
-
end
|
40
|
-
Capybara.default_driver = :selenium
|
41
|
-
Capybara.current_session.driver.browser.manage.window.resize_to CAPYBARA_WINDOW_SIZE[0], CAPYBARA_WINDOW_SIZE[1]
|
42
|
-
end
|
43
|
-
Capybara.default_max_wait_time = 5 # how long should capybara wait for elements to appear on the page (ajax)
|
44
|
-
|
45
|
-
# use database_cleaner to clean the database after every test with truncation, instead of using transactional fixtures
|
46
|
-
require 'database_cleaner'
|
47
|
-
DatabaseCleaner.strategy = :truncation
|
48
|
-
|
49
|
-
# default test class for webtests
|
50
|
-
class WebTest < ActionDispatch::IntegrationTest
|
51
|
-
include Capybara::DSL
|
52
|
-
extend Minitest::Spec::DSL
|
53
|
-
include Minitest::Reporters::Screenshot
|
54
|
-
|
55
|
-
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
|
56
|
-
fixtures :all
|
57
|
-
|
58
|
-
# disable transactional fixtures, as we use DatabaseCleaner
|
59
|
-
self.use_transactional_fixtures = false
|
60
|
-
|
61
|
-
# clean database after each test with database_cleaner
|
62
|
-
def after_teardown
|
63
|
-
super
|
64
|
-
DatabaseCleaner.clean
|
65
|
-
end
|
66
|
-
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'simplecov' if ENV['COVERAGE'] == 'true'
|
2
|
+
|
3
|
+
# default rails test configuration
|
4
|
+
ENV['RAILS_ENV'] ||= 'test'
|
5
|
+
require File.expand_path('../../config/environment', __FILE__)
|
6
|
+
require 'rails/test_help'
|
7
|
+
|
8
|
+
# use minitest-reporters to create xmls for jenkins and nicer terminal reporting
|
9
|
+
require 'minitest/reporters'
|
10
|
+
require 'minitest/reporters/screenshot_reporter'
|
11
|
+
Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new,
|
12
|
+
Minitest::Reporters::JUnitReporter.new,
|
13
|
+
Minitest::Reporters::ScreenshotReporter.new]
|
14
|
+
|
15
|
+
# configure webtests with capybara and poltergeist (headless)
|
16
|
+
require 'capybara/rails'
|
17
|
+
require 'capybara_minitest_spec'
|
18
|
+
require 'capybara/poltergeist'
|
19
|
+
|
20
|
+
CAPYBARA_WINDOW_SIZE = [1024, 768]
|
21
|
+
|
22
|
+
if ENV['HEADLESS'] == 'true'
|
23
|
+
# headless driver configuration
|
24
|
+
Capybara.register_driver :poltergeist do |app|
|
25
|
+
poltergeist_options = { debug: false, timeout: 30, js_errors: true, window_size: CAPYBARA_WINDOW_SIZE }
|
26
|
+
Capybara::Poltergeist::Driver.new(app, poltergeist_options)
|
27
|
+
end
|
28
|
+
Capybara.default_driver = :poltergeist
|
29
|
+
else
|
30
|
+
# chrome browser driver configuration
|
31
|
+
Capybara.register_driver :selenium do |app|
|
32
|
+
Capybara::Selenium::Driver.new(app, :browser => :chrome)
|
33
|
+
end
|
34
|
+
Capybara.default_driver = :selenium
|
35
|
+
Capybara.current_session.driver.browser.manage.window.resize_to CAPYBARA_WINDOW_SIZE[0], CAPYBARA_WINDOW_SIZE[1]
|
36
|
+
end
|
37
|
+
Capybara.default_max_wait_time = 5 # how long should capybara wait for elements to appear on the page (ajax)
|
38
|
+
|
39
|
+
# use database_cleaner to clean the database after every test with truncation, instead of using transactional fixtures
|
40
|
+
require 'database_cleaner'
|
41
|
+
DatabaseCleaner.strategy = :truncation
|
42
|
+
|
43
|
+
# default test class for webtests
|
44
|
+
class WebTest < ActionDispatch::IntegrationTest
|
45
|
+
include Capybara::DSL
|
46
|
+
extend Minitest::Spec::DSL
|
47
|
+
include Minitest::Reporters::Screenshot
|
48
|
+
|
49
|
+
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
|
50
|
+
fixtures :all
|
51
|
+
|
52
|
+
# disable transactional fixtures, as we use DatabaseCleaner
|
53
|
+
self.use_transactional_fixtures = false
|
54
|
+
|
55
|
+
# clean database after each test with database_cleaner
|
56
|
+
def after_teardown
|
57
|
+
super
|
58
|
+
DatabaseCleaner.clean
|
59
|
+
end
|
60
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: railman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Jancev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -219,6 +219,7 @@ files:
|
|
219
219
|
- templates/rails_app/config/initializers/inflections.rb
|
220
220
|
- templates/rails_app/config/initializers/log_formatting.rb
|
221
221
|
- templates/rails_app/config/initializers/mime_types.rb
|
222
|
+
- templates/rails_app/config/initializers/redis.rb.tt
|
222
223
|
- templates/rails_app/config/initializers/session_store.rb.tt
|
223
224
|
- templates/rails_app/config/initializers/sidekiq.rb.tt
|
224
225
|
- templates/rails_app/config/initializers/wrap_parameters.rb
|
@@ -252,6 +253,7 @@ files:
|
|
252
253
|
- templates/rails_app/test/mailers/.keep
|
253
254
|
- templates/rails_app/test/models/.keep
|
254
255
|
- templates/rails_app/test/test_helper.rb
|
256
|
+
- templates/rails_app/test/webtest_helper.rb
|
255
257
|
- templates/rails_app/vendor/assets/javascripts/.keep
|
256
258
|
- templates/rails_app/vendor/assets/stylesheets/.keep
|
257
259
|
homepage: https://github.com/igorj/railman
|