eitil 1.0.4 → 1.1.0
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/eitil_core/lib/eitil_core/application_controller/slice_params.rb +3 -0
- data/eitil_core/lib/eitil_core/application_record/all_associations.rb +3 -0
- data/eitil_core/lib/eitil_core/application_record/find_by_like.rb +3 -0
- data/eitil_core/lib/eitil_core/application_record/where_like.rb +3 -0
- data/eitil_core/lib/eitil_core/railtie.rb +0 -3
- data/eitil_integrate/lib/eitil_integrate/railtie.rb +0 -3
- data/eitil_store/lib/eitil_store/railtie.rb +0 -3
- data/eitil_support/lib/eitil_support/railtie.rb +0 -3
- data/eitil_wrapper/README.md +16 -0
- data/eitil_wrapper/lib/eitil_wrapper.rb +2 -1
- data/eitil_wrapper/lib/eitil_wrapper/jobs/single_method_job.rb +3 -0
- data/eitil_wrapper/lib/eitil_wrapper/railtie.rb +24 -7
- data/eitil_wrapper/lib/eitil_wrapper/request_logger.rb +5 -0
- data/eitil_wrapper/lib/eitil_wrapper/request_logger/controller_mixin.rb +48 -0
- data/eitil_wrapper/lib/eitil_wrapper/request_logger/logger_job.rb +17 -0
- data/eitil_wrapper/lib/eitil_wrapper/scopes/default_scopes.rb +6 -0
- data/lib/eitil/all.rb +3 -2
- data/lib/eitil/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da8ee05892ab05d923342f6ed43e13665bba39fb04cf896bb74f1914892252fd
|
4
|
+
data.tar.gz: 372286a8ac0c7c01d0c33e7f37b6335a8045834e31e31e0a93a4ddbc1656d882
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c1dddb52e1efcb4eb8272050792fd81ec9f4281b46bafb444bece9ba0c54c1407d5f78c6ea8354760093680c3a7546c76bd7591185f4628394b4974df0e4634
|
7
|
+
data.tar.gz: 0d69428c5db0e7aea257d0a85fb8a658bae7789672718bbcadea24b11b9089faa2979d3fee67fb02176663685e17c2c1e124aa4bcf63bbe867e124ffe7cf5343
|
data/eitil_wrapper/README.md
CHANGED
@@ -179,3 +179,19 @@ Scopes are generated through the columns of your model's database table. Which s
|
|
179
179
|
```
|
180
180
|
|
181
181
|
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
## EitilWrapper::RequestLogger
|
186
|
+
|
187
|
+
```ruby
|
188
|
+
|
189
|
+
require "eitil_wrapper/request_logger"
|
190
|
+
|
191
|
+
```
|
192
|
+
|
193
|
+
The RequestLogger wrapper logs request params in /log/request_logger.log, which offers the opportunity to pry into webhooks while developing. In order to track a controller, simply include EitilWrapper::RequestLogger::ControllerMixin. This calls a background job which writes to the file.
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
@@ -2,6 +2,9 @@
|
|
2
2
|
# somehow leads to errors in the initialization process. Ideally, this code would be
|
3
3
|
# defined in eitil_wrapper/jobs/single_method_job.rb and dispatched in eitil_wrapper/railtie.rb
|
4
4
|
|
5
|
+
# require "eitil_wrapper/railtie" to run the dynamic dispatch as an init hook during boot
|
6
|
+
require "eitil_wrapper/railtie"
|
7
|
+
|
5
8
|
module EitilWrapper
|
6
9
|
module CreateSingleMethodJob
|
7
10
|
end
|
@@ -1,22 +1,17 @@
|
|
1
1
|
|
2
|
-
require "rails"
|
3
|
-
require "eitil_wrapper"
|
4
|
-
|
5
2
|
module EitilWrapper
|
6
3
|
|
7
4
|
class Railtie < Rails::Railtie
|
8
5
|
|
6
|
+
# Dynamic dispatching after initialization of Rails classes.
|
7
|
+
|
9
8
|
initializer "my_railtie.configure_rails_initialization", options: :after do |app|
|
10
9
|
|
11
|
-
# Dynamic dispatching after initialization of Rails classes.
|
12
10
|
|
13
|
-
# Scopes
|
14
|
-
|
15
11
|
if Object.const_defined?('EitilWrapper::Scopes::DefaultScopes')
|
16
12
|
::ApplicationRecord.send(:extend, EitilWrapper::Scopes::DefaultScopes)
|
17
13
|
end
|
18
14
|
|
19
|
-
# Jobs
|
20
15
|
|
21
16
|
if Object.const_defined?('EitilWrapper::CreateSingleMethodJob')
|
22
17
|
|
@@ -44,6 +39,28 @@ module EitilWrapper
|
|
44
39
|
object.send _method, *args, **kwargs
|
45
40
|
end; end; end; end
|
46
41
|
|
42
|
+
|
43
|
+
if Object.const_defined?('EitilWrapper::RequestLogger::CreateLoggerJob')
|
44
|
+
|
45
|
+
module ::EitilWrapper
|
46
|
+
module RequestLogger
|
47
|
+
class LoggerJob < ::ApplicationJob
|
48
|
+
|
49
|
+
def perform(logger_object)
|
50
|
+
|
51
|
+
# set path for logger
|
52
|
+
$request_logger_path ||= "#{Rails.root}/log/request_logger.log"
|
53
|
+
|
54
|
+
# create logger, if not present
|
55
|
+
if Dir[$request_logger_path].blank? || $request_logger.blank?
|
56
|
+
$request_logger = Logger.new($request_logger_path)
|
57
|
+
end
|
58
|
+
|
59
|
+
# add logger_object to logger
|
60
|
+
$request_logger.info(logger_object)
|
61
|
+
|
62
|
+
end; end; end; end; end
|
63
|
+
|
47
64
|
end
|
48
65
|
end
|
49
66
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
|
2
|
+
# require "eitil_wrapper/request_logger/controller_mixin"
|
3
|
+
|
4
|
+
require_relative "logger_job"
|
5
|
+
|
6
|
+
module EitilWrapper
|
7
|
+
module RequestLogger
|
8
|
+
module ControllerMixin
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def log_request
|
13
|
+
$request_logger_path ||= "#{Rails.root}/log/request_logger.log"
|
14
|
+
EitilWrapper::RequestLogger::LoggerJob.perform_later(request_logger_object)
|
15
|
+
end
|
16
|
+
|
17
|
+
def request_logger_object
|
18
|
+
|
19
|
+
log_request = {
|
20
|
+
path: request.env["REQUEST_PATH"],
|
21
|
+
method: request.env["REQUEST_METHOD"],
|
22
|
+
query_str: request.env["QUERY_STRING"],
|
23
|
+
}
|
24
|
+
|
25
|
+
log_params = {
|
26
|
+
params: params.as_json
|
27
|
+
}
|
28
|
+
|
29
|
+
log_attributes = {
|
30
|
+
time: Time.now.strftime("%Y-%m-%d %H:%M:%S")
|
31
|
+
}
|
32
|
+
|
33
|
+
log = {
|
34
|
+
request: log_request,
|
35
|
+
params: log_params,
|
36
|
+
attributes: log_attributes
|
37
|
+
}
|
38
|
+
|
39
|
+
log_time = log_attributes[:time]
|
40
|
+
log_strf = log.deep_symbolize_keys.to_s
|
41
|
+
# log_strf may be hashed through eval(log_strf)
|
42
|
+
|
43
|
+
return log_strf
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
# require "eitil_wrapper/request_logger/logger_job"
|
3
|
+
|
4
|
+
# require "eitil_wrapper/railtie" to run the dynamic dispatch as an init hook during boot
|
5
|
+
require "eitil_wrapper/railtie"
|
6
|
+
|
7
|
+
# ISSUE: this code is currently defined eitil_wrapper/railtie.rb, since module inclusion
|
8
|
+
# somehow leads to errors in the initialization process. Ideally, this code would be
|
9
|
+
# defined in eitil_wrapper/request_logger/logger_job.rb and dispatched in eitil_wrapper/railtie.rb
|
10
|
+
|
11
|
+
module EitilWrapper
|
12
|
+
module RequestLogger
|
13
|
+
module CreateLoggerJob
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/eitil/all.rb
CHANGED
@@ -6,10 +6,11 @@ Eitil::Layers.each do |layer|
|
|
6
6
|
|
7
7
|
begin
|
8
8
|
require "#{layer}/railtie"
|
9
|
-
|
9
|
+
require "#{layer}"
|
10
|
+
puts "succesfully required #{layer} and #{layer}/railtie"
|
10
11
|
|
11
12
|
rescue LoadError => e
|
12
|
-
puts "failed to require #{layer}/railtie"
|
13
|
+
puts "failed to require #{layer} and #{layer}/railtie"
|
13
14
|
puts "message: #{e.message}"
|
14
15
|
# binding.pry
|
15
16
|
|
data/lib/eitil/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eitil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurriaan Schrofer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06-
|
11
|
+
date: 2021-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -171,6 +171,9 @@ files:
|
|
171
171
|
- eitil_wrapper/lib/eitil_wrapper/jobs/new_job_debugger.rb
|
172
172
|
- eitil_wrapper/lib/eitil_wrapper/jobs/single_method_job.rb
|
173
173
|
- eitil_wrapper/lib/eitil_wrapper/railtie.rb
|
174
|
+
- eitil_wrapper/lib/eitil_wrapper/request_logger.rb
|
175
|
+
- eitil_wrapper/lib/eitil_wrapper/request_logger/controller_mixin.rb
|
176
|
+
- eitil_wrapper/lib/eitil_wrapper/request_logger/logger_job.rb
|
174
177
|
- eitil_wrapper/lib/eitil_wrapper/routes.rb
|
175
178
|
- eitil_wrapper/lib/eitil_wrapper/routes/extended_resources.rb
|
176
179
|
- eitil_wrapper/lib/eitil_wrapper/scopes.rb
|