eivo-rails-api 0.1.4 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +0 -3
- data/README.md +0 -4
- data/config/initializers/logger.rb +35 -0
- data/eivo-rails-api.gemspec +2 -1
- data/lib/eivo-rails-api.rb +1 -0
- data/lib/eivo-rails-api/environments/development.rb +1 -1
- data/lib/eivo-rails-api/environments/production.rb +13 -6
- data/lib/eivo-rails-api/environments/test.rb +5 -1
- data/lib/eivo-rails-api/formatter.rb +31 -0
- data/lib/generators/eivo/templates/Gemfile +3 -3
- data/lib/generators/eivo/templates/config/puma.rb +1 -1
- metadata +19 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d26122daa50eea4591dfb5e59b7f03bb58b32c02b6dd3c770e4197bf74058ac1
|
4
|
+
data.tar.gz: 37c9a1bcaaf83ccdf406a8fbd6fcac62396805597081f36d378c8327a273fac5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6561c1ccabc788339a7b27032375dee85e4ccd2d4c2e27dc9fd50e4e43b4af76284e9c03d25dfdee32b09a95774e14f378d6675e3e50262d8539289b69f58c10
|
7
|
+
data.tar.gz: 64db5e1ecd54e0eb03a84ede95df803eae130ccfc3fa8d15cbe28d10fd8222bd9e0c76ee9c5c6853dd6708b617b7608b568912d89a3a7876121bb33b0eb37047
|
data/.rubocop.yml
CHANGED
data/README.md
CHANGED
@@ -37,10 +37,6 @@ sentry:
|
|
37
37
|
dsn: ""
|
38
38
|
```
|
39
39
|
|
40
|
-
### Warning
|
41
|
-
|
42
|
-
`force_ssl` option is not enabled, for performance reasons SSL / TLS should be managed by the web server (nginx, Apache).
|
43
|
-
|
44
40
|
## License
|
45
41
|
|
46
42
|
This project is released under the MIT license. See the LICENSE file for more info.
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'lograge'
|
4
|
+
|
5
|
+
if Rails.env.staging? || Rails.env.production?
|
6
|
+
Rails.application.configure do
|
7
|
+
config.colorize_logging = false
|
8
|
+
|
9
|
+
config.lograge.enabled = true
|
10
|
+
config.lograge.formatter = ::Lograge::Formatters::Raw.new
|
11
|
+
config.lograge.base_controller_class = [
|
12
|
+
'ActionController::API',
|
13
|
+
'ActionController::Base'
|
14
|
+
]
|
15
|
+
|
16
|
+
config.lograge.ignore_actions = ['EIVO::StatusController#index']
|
17
|
+
|
18
|
+
config.lograge.custom_options = ->(event) do
|
19
|
+
result = {
|
20
|
+
params: event.payload[:params].except('controller', 'action', 'format'),
|
21
|
+
request_id: event.payload[:request_id]
|
22
|
+
}
|
23
|
+
|
24
|
+
result[:user_id] = event.payload[:user_id] if event.payload[:user_id]
|
25
|
+
result[:organization_id] = event.payload[:organization_id] if event.payload[:organization_id]
|
26
|
+
|
27
|
+
# https://github.com/roidrage/lograge/pull/307
|
28
|
+
if event.respond_to?(:allocations)
|
29
|
+
result[:allocations] = event.allocations
|
30
|
+
end
|
31
|
+
|
32
|
+
result
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/eivo-rails-api.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path('lib', __dir__)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'eivo-rails-api'
|
7
|
-
spec.version = '0.1.
|
7
|
+
spec.version = '0.1.9'
|
8
8
|
spec.authors = ['Jonathan VUKOVICH-TRIBOUHARET']
|
9
9
|
spec.email = ['jonathan@eivo.co']
|
10
10
|
|
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
|
28
28
|
spec.add_dependency 'kaminari'
|
29
29
|
|
30
|
+
spec.add_dependency 'lograge'
|
30
31
|
spec.add_dependency 'sentry-raven'
|
31
32
|
|
32
33
|
spec.add_development_dependency 'bundler'
|
data/lib/eivo-rails-api.rb
CHANGED
@@ -39,7 +39,7 @@ module EIVO
|
|
39
39
|
# Highlight code that triggered database queries in logs.
|
40
40
|
config.active_record.verbose_query_logs = true
|
41
41
|
|
42
|
-
# Raises error for missing translations
|
42
|
+
# Raises error for missing translations.
|
43
43
|
# config.action_view.raise_on_missing_translations = true
|
44
44
|
|
45
45
|
# Use an evented file watcher to asynchronously detect changes in source code,
|
@@ -16,7 +16,7 @@ module EIVO
|
|
16
16
|
config.eager_load = true
|
17
17
|
|
18
18
|
# Full error reports are disabled and caching is turned on.
|
19
|
-
config.consider_all_requests_local
|
19
|
+
config.consider_all_requests_local = false
|
20
20
|
|
21
21
|
# Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
|
22
22
|
# or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
|
@@ -31,10 +31,11 @@ module EIVO
|
|
31
31
|
|
32
32
|
# Specifies the header that your server uses for sending files.
|
33
33
|
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
34
|
-
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
34
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
35
35
|
|
36
36
|
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
37
|
-
|
37
|
+
config.force_ssl = true
|
38
|
+
config.ssl_options = { redirect: { exclude: ->(request) { request.path == '/status' } } }
|
38
39
|
|
39
40
|
# Use the lowest log level to ensure availability of diagnostic information
|
40
41
|
# when problems arise.
|
@@ -46,7 +47,7 @@ module EIVO
|
|
46
47
|
# Use a different cache store in production.
|
47
48
|
# config.cache_store = :mem_cache_store
|
48
49
|
|
49
|
-
# Use a real queuing backend for Active Job (and separate queues per environment)
|
50
|
+
# Use a real queuing backend for Active Job (and separate queues per environment).
|
50
51
|
# config.active_job.queue_adapter = :resque
|
51
52
|
# config.active_job.queue_name_prefix = "example_#{Rails.env}"
|
52
53
|
|
@@ -65,9 +66,15 @@ module EIVO
|
|
65
66
|
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
|
66
67
|
|
67
68
|
if ENV['RAILS_LOG_TO_STDOUT'].present?
|
68
|
-
logger = ActiveSupport::Logger.new(STDOUT)
|
69
|
+
# logger = ActiveSupport::Logger.new(STDOUT)
|
70
|
+
# logger.formatter = config.log_formatter
|
71
|
+
# config.logger = ActiveSupport::TaggedLogging.new(logger)
|
72
|
+
|
73
|
+
config.log_formatter = ::EIVO::Formatter.new
|
74
|
+
logger = ActiveSupport::Logger.new(STDOUT)
|
69
75
|
logger.formatter = config.log_formatter
|
70
|
-
config.
|
76
|
+
config.log_level = :info
|
77
|
+
config.logger = logger
|
71
78
|
end
|
72
79
|
|
73
80
|
# Do not dump schema after migrations.
|
@@ -3,6 +3,10 @@
|
|
3
3
|
module EIVO
|
4
4
|
class Environment
|
5
5
|
def self.test
|
6
|
+
# The test environment is used exclusively to run your application's
|
7
|
+
# test suite. You never need to work with it otherwise. Remember that
|
8
|
+
# your test database is "scratch space" for the test suite and is wiped
|
9
|
+
# and recreated between test runs. Don't rely on the data there!
|
6
10
|
Rails.application.configure do
|
7
11
|
# Settings specified here will take precedence over those in config/application.rb.
|
8
12
|
|
@@ -33,7 +37,7 @@ module EIVO
|
|
33
37
|
# Print deprecation notices to the stderr.
|
34
38
|
config.active_support.deprecation = :stderr
|
35
39
|
|
36
|
-
# Raises error for missing translations
|
40
|
+
# Raises error for missing translations.
|
37
41
|
# config.action_view.raise_on_missing_translations = true
|
38
42
|
end
|
39
43
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'logger'
|
4
|
+
require 'multi_json'
|
5
|
+
|
6
|
+
module EIVO
|
7
|
+
class Formatter < ::Logger::Formatter
|
8
|
+
def call(severity, timestamp, progname, message)
|
9
|
+
json = {
|
10
|
+
pid: $PROCESS_ID,
|
11
|
+
level: severity,
|
12
|
+
timestamp: timestamp.utc.iso8601(3),
|
13
|
+
message: message
|
14
|
+
}
|
15
|
+
|
16
|
+
if progname
|
17
|
+
json[:tag] = progname
|
18
|
+
end
|
19
|
+
|
20
|
+
if defined?(::Sidekiq)
|
21
|
+
context = ::Sidekiq::Context.current
|
22
|
+
|
23
|
+
if !context.empty?
|
24
|
+
json[:context] = context
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
MultiJson.dump(json) << "\n"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -3,9 +3,9 @@
|
|
3
3
|
source 'https://rubygems.org'
|
4
4
|
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
5
5
|
|
6
|
-
ruby '2.
|
6
|
+
ruby '2.7.1'
|
7
7
|
|
8
|
-
gem 'rails', '~> 6.0.
|
8
|
+
gem 'rails', '~> 6.0.3', '>= 6.0.3.1'
|
9
9
|
gem 'pg', '>= 0.18', '< 2.0'
|
10
10
|
gem 'puma', '~> 4.1'
|
11
11
|
|
@@ -14,7 +14,7 @@ group :development, :test do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
group :development do
|
17
|
-
gem 'listen', '
|
17
|
+
gem 'listen', '~> 3.2'
|
18
18
|
end
|
19
19
|
|
20
20
|
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
@@ -9,7 +9,7 @@ environment ENV.fetch('RAILS_ENV') { 'development' }
|
|
9
9
|
if %w[production staging].include?(ENV['RAILS_ENV'])
|
10
10
|
pidfile 'tmp/pids/puma.pid'
|
11
11
|
state_path 'tmp/pids/puma.state'
|
12
|
-
daemonize
|
12
|
+
daemonize ENV.fetch('RAILS_DAEMONIZE') { false }
|
13
13
|
|
14
14
|
if ENV['PORT']
|
15
15
|
bind "tcp://0.0.0.0:#{ENV['PORT']}"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eivo-rails-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan VUKOVICH-TRIBOUHARET
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: lograge
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: sentry-raven
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,6 +186,7 @@ files:
|
|
172
186
|
- app/controllers/eivo/concerns/resources.rb
|
173
187
|
- app/controllers/eivo/status_controller.rb
|
174
188
|
- bin/eivo
|
189
|
+
- config/initializers/logger.rb
|
175
190
|
- config/initializers/sentry.rb
|
176
191
|
- config/routes.rb
|
177
192
|
- eivo-rails-api.gemspec
|
@@ -182,6 +197,7 @@ files:
|
|
182
197
|
- lib/eivo-rails-api/environments/production.rb
|
183
198
|
- lib/eivo-rails-api/environments/staging.rb
|
184
199
|
- lib/eivo-rails-api/environments/test.rb
|
200
|
+
- lib/eivo-rails-api/formatter.rb
|
185
201
|
- lib/generators/eivo/USAGE
|
186
202
|
- lib/generators/eivo/install_generator.rb
|
187
203
|
- lib/generators/eivo/templates/.env.example
|
@@ -217,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
217
233
|
- !ruby/object:Gem::Version
|
218
234
|
version: '0'
|
219
235
|
requirements: []
|
220
|
-
rubygems_version: 3.
|
236
|
+
rubygems_version: 3.1.2
|
221
237
|
signing_key:
|
222
238
|
specification_version: 4
|
223
239
|
summary: EIVO Rails API
|