rails_api_logger 0.5.0 → 0.6.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 545d9a066433986966d131cd6f874fbe58607fe03f2aae947eec494815e2bc60
4
- data.tar.gz: 8565825afc3af8704877c534df8e7f334a3d90ddedca4813879a89846e5b745c
3
+ metadata.gz: f8a67bf5d7fcb8870d45a30a0112940edb4ec72f5edda7361872ec52b5f03d6d
4
+ data.tar.gz: ba68121637c9ee34420f6c8743183cfaf5c0728fa46e16827a22560a136a9d1e
5
5
  SHA512:
6
- metadata.gz: 1334657ab5a74509d0a5be48e344b439038207577c80e6ced192043b13fb6005804a2b1275c195b813f5993ee104d0e8ed6b2f8dc575b038a4b5728dcb31f4aa
7
- data.tar.gz: 9ca93777e0035586de21dbfb19bac23e01b235a1556d78f824a88a2f191a61938e6fc12d44e4990a1de3b546a52d04006591641e4e053229d87d0e326b917316
6
+ metadata.gz: eafedcd8d83dc150d3a22d6dba3152d55a9ac4f32701e7e1dd2b0e3f1eb735a35d89c0cd130c7cd265dc00dac0734c2cd6123c8fd02e438f51576e7a9c37d192
7
+ data.tar.gz: ab52418861338ca00c330a7fc561a8fc4113679b80e59e9fc8156a902ece41d94a94b398e51b5848daf12ae403967c716913092549a3bae60b4c9273043876bb
@@ -1,19 +1,18 @@
1
1
  version: v1.0
2
- name: master-deploy
2
+ name: main-deploy
3
3
  agent:
4
4
  machine:
5
5
  type: e1-standard-2
6
6
  os_image: ubuntu1804
7
7
 
8
8
  blocks:
9
- - name: master-deploy
9
+ - name: main-deploy
10
10
  task:
11
11
  secrets:
12
12
  - name: rubygems-deploy
13
13
  jobs:
14
- - name: master-deploy
14
+ - name: main-deploy
15
15
  commands:
16
16
  - checkout --use-cache
17
17
  - gem build rails_api_logger
18
- - chmod 0600 ~/.gem/credentials
19
18
  - gem push rails_api_logger-*.gem
@@ -28,5 +28,5 @@ blocks:
28
28
  - bundle exec standardrb
29
29
  - bundle exec rspec
30
30
  promotions:
31
- - name: master
32
- pipeline_file: master-deploy.yml
31
+ - name: main
32
+ pipeline_file: main-deploy.yml
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # 0.6.1
2
+ * Fixes the loading of concern into controllers.
3
+
4
+ # 0.6.0
5
+ * Fixes an important concurrency issue by removing instance variables in the rack middleware.
6
+
7
+ # 0.5.0
8
+ * Started using Zeitwerk.
9
+ * Removed RailsAdmin specific code.
10
+ * Improved RailsApiLogger class.
11
+
1
12
  # 0.4.1
2
13
  * Fixed the `.failed` scope.
3
14
 
@@ -18,7 +29,7 @@ add_column :outbound_request_logs, :ended_at, :timestamp
18
29
  * Added `formatted_request_body` and `formatted_response_body` methods.
19
30
 
20
31
  # 0.2.0
21
- * Switch to a middleware solution
32
+ * Switch to a middleware solution.
22
33
 
23
34
  # 0.1.0
24
- * Initial release
35
+ * Initial release.
data/README.md CHANGED
@@ -180,7 +180,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
180
180
 
181
181
  Bug reports and pull requests are welcome on GitHub at https://github.com/renuo/rails_api_logger.
182
182
  This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
183
- the [code of conduct](https://github.com/renuo/rails_api_logger/blob/master/CODE_OF_CONDUCT.md).
183
+ the [code of conduct](https://github.com/renuo/rails_api_logger/blob/main/CODE_OF_CONDUCT.md).
184
184
 
185
185
  ## License
186
186
 
@@ -189,4 +189,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
189
189
  ## Code of Conduct
190
190
 
191
191
  Everyone interacting in the RailsApiLogger project's codebases, issue trackers, chat rooms and mailing lists is
192
- expected to follow the [code of conduct](https://github.com/renuo/rails_api_logger/blob/master/CODE_OF_CONDUCT.md).
192
+ expected to follow the [code of conduct](https://github.com/renuo/rails_api_logger/blob/main/CODE_OF_CONDUCT.md).
@@ -4,10 +4,6 @@ module InboundRequestsLogger
4
4
  private
5
5
 
6
6
  def attach_inbound_request_loggable(loggable)
7
- request.env["inbound_request_log"].update(loggable: loggable) if loggable&.persisted?
7
+ request.env["INBOUND_REQUEST_LOG"].update(loggable: loggable) if loggable&.persisted?
8
8
  end
9
9
  end
10
-
11
- ActiveSupport.on_load(:action_controller) do
12
- include InboundRequestsLogger
13
- end
@@ -11,13 +11,14 @@ class InboundRequestsLoggerMiddleware
11
11
  request = ActionDispatch::Request.new(env)
12
12
  logging = log?(env, request)
13
13
  if logging
14
- @inbound_request_log = InboundRequestLog.from_request(request)
15
- env["inbound_request_log"] = @inbound_request_log
14
+ env["INBOUND_REQUEST_LOG"] = InboundRequestLog.from_request(request)
16
15
  request.body.rewind
17
16
  end
18
17
  status, headers, body = @app.call(env)
19
18
  if logging
20
- @inbound_request_log.update_columns(response_body: parsed_body(body), response_code: status, ended_at: Time.current)
19
+ env["INBOUND_REQUEST_LOG"].update_columns(response_body: parsed_body(body),
20
+ response_code: status,
21
+ ended_at: Time.current)
21
22
  end
22
23
  [status, headers, body]
23
24
  end
@@ -25,7 +26,7 @@ class InboundRequestsLoggerMiddleware
25
26
  private
26
27
 
27
28
  def log?(env, request)
28
- env["REQUEST_URI"] =~ path_regexp && (!only_state_change || request_with_state_change?(request))
29
+ env["PATH_INFO"] =~ path_regexp && (!only_state_change || request_with_state_change?(request))
29
30
  end
30
31
 
31
32
  def parsed_body(body)
@@ -4,7 +4,7 @@ require "zeitwerk"
4
4
 
5
5
  loader = Zeitwerk::Loader.for_gem
6
6
  loader.collapse("#{__dir__}/rails_api_logger")
7
- loader.do_not_eager_load("#{__dir__}/generators")
7
+ loader.ignore("#{__dir__}/generators")
8
8
  loader.setup
9
9
 
10
10
  class RailsApiLogger
@@ -27,3 +27,7 @@ class RailsApiLogger
27
27
  log.save!
28
28
  end
29
29
  end
30
+
31
+ ActiveSupport.on_load(:action_controller) do
32
+ include InboundRequestsLogger
33
+ end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "rails_api_logger"
3
- spec.version = "0.5.0"
3
+ spec.version = "0.6.2"
4
4
  spec.authors = ["Alessandro Rodi"]
5
5
  spec.email = ["alessandro.rodi@renuo.ch"]
6
6
 
@@ -25,6 +25,7 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.add_dependency "railties", ">= 4.1.0"
27
27
  spec.add_dependency "activerecord", ">= 4.1.0"
28
+ spec.add_dependency "actionpack", ">= 4.1.0"
28
29
  spec.add_dependency "nokogiri"
29
30
  spec.add_dependency "zeitwerk", ">= 2.0.0"
30
31
 
@@ -32,4 +33,5 @@ Gem::Specification.new do |spec|
32
33
  spec.add_development_dependency "standard", "~> 0.13.0"
33
34
  spec.add_development_dependency "rake", "~> 12.0"
34
35
  spec.add_development_dependency "rspec", "~> 3.0"
36
+ spec.add_development_dependency "rack"
35
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_api_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessandro Rodi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-24 00:00:00.000000000 Z
11
+ date: 2022-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 4.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: actionpack
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 4.1.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 4.1.0
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: nokogiri
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '3.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rack
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  description: Log inbound and outbound API requests in your Rails application
126
154
  email:
127
155
  - alessandro.rodi@renuo.ch
@@ -132,7 +160,7 @@ files:
132
160
  - ".gitignore"
133
161
  - ".rspec"
134
162
  - ".ruby-version"
135
- - ".semaphore/master-deploy.yml"
163
+ - ".semaphore/main-deploy.yml"
136
164
  - ".semaphore/semaphore.yml"
137
165
  - CHANGELOG.md
138
166
  - CODE_OF_CONDUCT.md