heimdall_logbook 0.0.0 → 0.0.1

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: cec0d18fc1070f49efe83100c9b83c1565436e90e30e19cdf06cb4431f564cbb
4
- data.tar.gz: 96dbdc9f7f7e3f4031295836b186086d5f7b0302443bf02efa49cec8ccedd042
3
+ metadata.gz: 198159aab50a6d268f4c2c828caaccc6f67f5d2c92a306359aa7bedb604bdf87
4
+ data.tar.gz: ae73974e2e33df91b9aa0b031ee32b7876ab91825998e479fd38daa7fa168350
5
5
  SHA512:
6
- metadata.gz: b8022b13defadfd8c155d93799877f3305b6b7ee1f602bc8581cf8e00e46444a8ebc15f37f90f68d63372ec0f5a989c048a8fe0cb53c448a7e64471bc38e672a
7
- data.tar.gz: a9c2657e7be98a17fe5277eb93e104b801eff1f9d95c5d0b1f815084f0d6fcb92aa8ace5886627f531025cc533f106968f7ac5bdedc4af50f6209c6c8f72d11f
6
+ metadata.gz: 512e5ea93683995dafe58ba68e04522fb9a2dccb64525bf134cd747cd35a779cda04cee7f73051b18a55f50338c49026958cc099e51db421f1b0c849106e607b
7
+ data.tar.gz: ae32e0dae8654062aa00f883388ede158f6f1a2a502e43f8b701df2c5d1db914638ed20176da92681da3ea952452084435d0374ad8a82c675967601ef41d2d3c
@@ -0,0 +1,5 @@
1
+ # heimdall_logbook
2
+ A gem to log all incoming request and response
3
+
4
+
5
+ https://rubygems.org/gems/heimdall_logbook
@@ -0,0 +1,23 @@
1
+ require "rails/generators/active_record"
2
+
3
+ module HeimdallLogbook
4
+ module Generators
5
+ class InstallGenerator < ::Rails::Generators::Base
6
+ include Rails::Generators::Migration
7
+ source_root File.join(__dir__, "templates")
8
+
9
+ def copy_migration
10
+ migration_template "migration.rb", "db/migrate/create_heimdall_logbook.rb", migration_version: migration_version
11
+ end
12
+
13
+ def self.next_migration_number(path)
14
+ next_migration_number = current_migration_number(path) + 1
15
+ ActiveRecord::Migration.next_migration_number(next_migration_number)
16
+ end
17
+
18
+ def migration_version
19
+ "[#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}]"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,34 @@
1
+ class <%= migration_class_name %> < ActiveRecord::Migration<%= migration_version %>
2
+ def change
3
+ create_table :heimdall_logbook_request do |t|
4
+ t.string :request_method
5
+ t.string :params
6
+ t.string :ip
7
+ t.string :original_url
8
+ t.string :remote_ip
9
+ t.string :uuid
10
+ t.string :authorization
11
+ t.string :format
12
+ t.string :headers
13
+ t.string :port
14
+ t.string :protocol
15
+ t.string :query_string
16
+ t.string :domain
17
+ t.string :host
18
+ t.datetime :requested_at
19
+ end
20
+
21
+ create_table :heimdall_logbook_response do |t|
22
+ t.string :body
23
+ t.string :response_code
24
+ t.string :headers
25
+ t.string :content_type
26
+ t.string :status
27
+ t.string :location
28
+ t.string :message
29
+ t.string :charset
30
+ t.string :status
31
+ t.datetime :responded_at
32
+ end
33
+ end
34
+ end
@@ -1,5 +1,8 @@
1
- class HeimdallLogbook
2
- def self.hi
3
- puts "Hello world!"
4
- end
5
- end
1
+ require 'active_record'
2
+
3
+ require 'heimdall_logbook/version'
4
+
5
+ require 'heimdall_logbook/request'
6
+ require 'heimdall_logbook/response'
7
+
8
+ require 'heimdall_logbook/logger'
@@ -0,0 +1,33 @@
1
+ module HeimdallLogbook
2
+ def log_request
3
+ data = {requested_at: Time.zone.now}
4
+ request_fields.map{ |f| data[f] = request.send(f) }
5
+ HeimdallLogbook::Request.create(data)
6
+ true
7
+ end
8
+
9
+
10
+ def log_response
11
+ data = {responded_at: Time.zone.now}
12
+ response_fields.map{ |f| data[f] = response.send(f) }
13
+ HeimdallLogbook::Response.create(data)
14
+ true
15
+ end
16
+
17
+ private
18
+
19
+ def request_fields
20
+ [
21
+ :request_method, :ip, :original_url, :remote_ip, :uuid,
22
+ :authorization, :format, :headers, :port, :protocol, :query_string,
23
+ :domain, :host
24
+ ]
25
+ end
26
+
27
+ def response_fields
28
+ [
29
+ :body, :response_code, :headers, :content_type, :status,
30
+ :location, :message, :charset, :status
31
+ ]
32
+ end
33
+ end
@@ -0,0 +1,5 @@
1
+ module HeimdallLogbook
2
+ class Request < ActiveRecord::Base
3
+ self.table_name = 'heimdall_logbook_request'
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module HeimdallLogbook
2
+ class Response < ActiveRecord::Base
3
+ self.table_name = 'heimdall_logbook_response'
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module HeimdallLogbook
2
+ VERSION = "0.0.1"
3
+ end
metadata CHANGED
@@ -1,23 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heimdall_logbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anuja Joshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-10 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2019-04-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: railties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activerecord
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  description: A gem to log all incoming request and response
14
42
  email: anuja.joshi443@gmail.com
15
43
  executables: []
16
44
  extensions: []
17
45
  extra_rdoc_files: []
18
46
  files:
47
+ - README.md
48
+ - lib/generators/heimdall_logbook/install_generator.rb
49
+ - lib/generators/heimdall_logbook/templates/migration.rb.tt
19
50
  - lib/heimdall_logbook.rb
20
- homepage: https://rubygems.org/gems/heimdall_logbook
51
+ - lib/heimdall_logbook/logger.rb
52
+ - lib/heimdall_logbook/request.rb
53
+ - lib/heimdall_logbook/response.rb
54
+ - lib/heimdall_logbook/version.rb
55
+ homepage: https://github.com/anuja-joshi/heimdall_logbook
21
56
  licenses:
22
57
  - MIT
23
58
  metadata: {}