pg-connection-general_log 0.0.1 → 0.0.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
  SHA1:
3
- metadata.gz: 867e6e436c5d596d967ce3752bb0d6628ce265ee
4
- data.tar.gz: '092e57f1a54da5a7d549e46731e3a25950f7cbb6'
3
+ metadata.gz: 136b9087c2627d7e15e8b9628d481a2226998a91
4
+ data.tar.gz: da67bac81d731c05daa133e8084d7ae4b3523ad6
5
5
  SHA512:
6
- metadata.gz: bd28c680fc41cd5373a542b6f53824026c0faf0f6363c520e6b349a5bae2500dfa0737d51912d7b80886bc84fab5faf43675e1a53e9d4dfeada2ef50d4e4b111
7
- data.tar.gz: daa5b3ccefa426f44ab11f42d7a2943aa1de20d50514a0151e4691525dd1a98550cc4e8dae2196955765a22d2c4f6ea8c6124f06856540a3dcafb45a3ebd4fb7
6
+ metadata.gz: 472166a3d5f5dcf0f0e641c19a9e35b5fc264a44f3d8229d58c61859ced3280496935be28c8603ada34a7d588e2fb31114547be57bb2e599d8fd1870673ace63
7
+ data.tar.gz: 5285b8473499fc7928741ada338487835dbb7b561e40f3f8debb1db425f661e958d016970e3aede1ca8ec9bb3d7a482cfb36c60586807de07f757f20e04ff5e0
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  PG:Connection::GeneralLog
2
2
  ===
3
3
 
4
- [![Build Status](https://travis-ci.org/abcang/pg-connection-general_log.svg?branch=v0.0.1)](https://travis-ci.org/abcang/pg-connection-general_log)
4
+ [![Build Status](https://travis-ci.org/abcang/pg-connection-general_log.svg?branch=master)](https://travis-ci.org/abcang/pg-connection-general_log)
5
5
 
6
6
  A monkey patch for pg.
7
7
  Stock all general logs.
@@ -16,7 +16,7 @@ require "pg/connection/general_log"
16
16
  client = PG::Connection.new(config)
17
17
  client.query("SELECT * FROM users LIMIT 1")
18
18
 
19
- p client.general_log #=>
19
+ p PG::Connection::GeneralLog.general_log #=>
20
20
  # [
21
21
  # #<struct PG::Connection::GeneralLog::Log
22
22
  # sql="SELECT * FROM users LIMIT 1",
@@ -30,6 +30,16 @@ p client.general_log #=>
30
30
 
31
31
  ### sinatra
32
32
 
33
+ config.ru:
34
+ ```ruby
35
+ require_relative './test'
36
+
37
+ require 'pg/connection/general_log'
38
+
39
+ use PG::Connection::GeneralLog::Middleware, enabled: true, backtrace: true, path: '/tmp/general_log'
40
+ run Sinatra::Application
41
+ ```
42
+
33
43
  test.rb:
34
44
  ```ruby
35
45
  require 'sinatra'
@@ -50,13 +60,9 @@ get '/' do
50
60
  db.exec_prepared('select', ['bar'])
51
61
  db.exec_prepared('select', ['foo'])
52
62
  end
53
-
54
- after do
55
- db.general_log.writefile(path: '/tmp/sql.log', req: request, backtrace: true)
56
- end
57
63
  ```
58
64
 
59
- /tmp/sql.log:
65
+ /tmp/general_log/2017-11-19.log:
60
66
  ```
61
67
  REQUEST GET / 4
62
68
  SQL (0000.89ms) SELECT * FROM users WHERE name = 'hoge' [] /path/to/test.rb:12:in `block in <main>'
@@ -78,6 +84,18 @@ And then execute:
78
84
  $ bundle
79
85
 
80
86
 
87
+ ## Test
88
+
89
+ ```ruby
90
+ $ bundle exec rake
91
+ ```
92
+
93
+ ## example server
94
+
95
+ ```ruby
96
+ $ bundle exec rake example
97
+ ```
98
+
81
99
  ## License
82
100
 
83
101
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -4,4 +4,8 @@ task :test do
4
4
  sh "rgot -v #{Dir.glob('lib/**/*_test.rb').join(' ')}"
5
5
  end
6
6
 
7
+ task :example do
8
+ sh 'rackup example/config.ru'
9
+ end
10
+
7
11
  task default: [:test]
@@ -0,0 +1,6 @@
1
+ require_relative './test'
2
+
3
+ require 'pg/connection/general_log'
4
+
5
+ use PG::Connection::GeneralLog::Middleware, enabled: true, backtrace: true, path: '/tmp/general_log'
6
+ run Sinatra::Application
@@ -1,6 +1,5 @@
1
1
  require 'sinatra'
2
2
  require 'pg'
3
- require 'pg/connection/general_log'
4
3
 
5
4
  helpers do
6
5
  def db
@@ -11,6 +10,13 @@ helpers do
11
10
  )
12
11
  end
13
12
 
13
+ def pg
14
+ PG.connect(
15
+ host: '127.0.0.1',
16
+ user: 'postgres'
17
+ )
18
+ end
19
+
14
20
  def init
15
21
  db.exec('DROP TABLE IF EXISTS users')
16
22
  db.exec(<<-SQL)
@@ -37,12 +43,21 @@ get '/' do
37
43
  db.prepare('select', 'SELECT * FROM users WHERE name = $1')
38
44
  db.exec_prepared('select', ['bar'])
39
45
  db.exec_prepared('select', ['foo'])
46
+
47
+ 'ok'
40
48
  end
41
49
 
42
50
  get '/init' do
51
+ pg.exec('DROP DATABASE IF EXISTS pg_connection_general_log_test')
52
+ pg.exec('CREATE DATABASE pg_connection_general_log_test')
53
+
43
54
  init
55
+
56
+ 'init'
44
57
  end
45
58
 
46
- after do
47
- db.general_log.writefile(req: request, backtrace: true)
59
+ get '/down' do
60
+ pg.exec('DROP DATABASE IF EXISTS pg_connection_general_log_test')
61
+
62
+ 'down'
48
63
  end
@@ -1,89 +1,24 @@
1
1
  require 'pg'
2
2
  require 'benchmark'
3
3
 
4
+ require 'pg/connection/general_log/connection_ext'
5
+ require 'pg/connection/general_log/log'
6
+ require 'pg/connection/general_log/logger'
7
+ require 'pg/connection/general_log/middleware'
8
+ require 'pg/connection/general_log/version'
9
+
4
10
  module PG
5
11
  class Connection
6
12
  module GeneralLog
7
- require 'pg/connection/general_log/version'
8
-
9
- class Log < Struct.new(:sql, :args, :backtrace, :time)
10
- def format(use_bt = false)
11
- ret = [
12
- 'SQL',
13
- '(%07.2fms)' % (time * 1000),
14
- sql.gsub(/[\r\n]/, ' ').gsub(/ +/, ' ').strip,
15
- args.to_s
16
- ]
17
- ret << backtrace[0] if use_bt
18
-
19
- ret.join("\t")
20
- end
21
- end
22
-
23
- class Logger < Array
24
- def writefile(path: '/tmp/sql.log', req: nil, backtrace: false)
25
- File.open(path, 'a') do |file|
26
- if req
27
- file.puts "REQUEST\t#{req.request_method}\t#{req.path}\t#{self.length}"
28
- end
29
-
30
- file.puts self.map { |log| log.format(backtrace) }.join("\n")
31
- file.puts ''
32
- end
33
- self.clear
13
+ class << self
14
+ def general_log
15
+ Thread.current[:general_log] ||= Logger.new
34
16
  end
35
17
 
36
- def push(sql, args, backtrace, time)
37
- super(Log.new(sql, args, backtrace, time))
18
+ def prepend_module
19
+ PG::Connection.send(:prepend, ConnectionExt)
38
20
  end
39
21
  end
40
-
41
- attr_accessor :general_log
42
-
43
- def initialize(opts = {})
44
- @general_log = Logger.new
45
- @stmt_map = {}
46
- super
47
- end
48
-
49
- def exec(sql)
50
- ret = nil
51
- time = Benchmark.realtime do
52
- ret = super
53
- end
54
- @general_log.push(sql, [], caller_locations, time)
55
- ret
56
- end
57
-
58
- def exec_params(*args)
59
- sql, params = args
60
- ret = nil
61
- time = Benchmark.realtime do
62
- ret = super
63
- end
64
- @general_log.push(sql, params, caller_locations, time)
65
- ret
66
- end
67
-
68
- def prepare(*args)
69
- stmt_name, sql = args
70
- @stmt_map[stmt_name] = sql
71
- super
72
- end
73
-
74
- def exec_prepared(*args)
75
- stmt_name, params = args
76
- sql = @stmt_map[stmt_name]
77
-
78
- ret = nil
79
- time = Benchmark.realtime do
80
- ret = super
81
- end
82
- @general_log.push(sql, params, caller_locations, time)
83
- ret
84
- end
85
22
  end
86
-
87
- prepend GeneralLog
88
23
  end
89
24
  end
@@ -0,0 +1,49 @@
1
+ module PG
2
+ class Connection
3
+ module GeneralLog
4
+ module ConnectionExt
5
+ def initialize(*)
6
+ @stmt_map = {}
7
+ super
8
+ end
9
+
10
+ def exec(sql)
11
+ ret = nil
12
+ time = Benchmark.realtime do
13
+ ret = super
14
+ end
15
+ GeneralLog.general_log.push(sql, [], caller_locations, time)
16
+ ret
17
+ end
18
+
19
+ def exec_params(*args)
20
+ sql, params = args
21
+ ret = nil
22
+ time = Benchmark.realtime do
23
+ ret = super
24
+ end
25
+ GeneralLog.general_log.push(sql, params, caller_locations, time)
26
+ ret
27
+ end
28
+
29
+ def prepare(*args)
30
+ stmt_name, sql = args
31
+ @stmt_map[stmt_name] = sql
32
+ super
33
+ end
34
+
35
+ def exec_prepared(*args)
36
+ stmt_name, params = args
37
+ sql = @stmt_map[stmt_name]
38
+
39
+ ret = nil
40
+ time = Benchmark.realtime do
41
+ ret = super
42
+ end
43
+ GeneralLog.general_log.push(sql, params, caller_locations, time)
44
+ ret
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,19 @@
1
+ module PG
2
+ class Connection
3
+ module GeneralLog
4
+ class Log < Struct.new(:sql, :args, :backtrace, :time)
5
+ def format(use_bt = false)
6
+ ret = [
7
+ 'SQL',
8
+ '(%07.2fms)' % (time * 1000),
9
+ sql.gsub(/[\r\n]/, ' ').gsub(/ +/, ' ').strip,
10
+ args.to_s
11
+ ]
12
+ ret << backtrace[0] if use_bt
13
+
14
+ ret.join("\t")
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,25 @@
1
+ require 'fileutils'
2
+ require 'date'
3
+
4
+ module PG
5
+ class Connection
6
+ module GeneralLog
7
+ class Logger < Array
8
+ def writefile(req)
9
+ FileUtils.mkdir_p(Middleware.path)
10
+ File.open(File.join(Middleware.path, "#{Date.today}.txt"), 'a') do |file|
11
+ if req
12
+ file.puts "REQUEST\t#{req.request_method}\t#{req.fullpath}\t#{self.length}"
13
+ end
14
+
15
+ file.puts self.map { |log| log.format(Middleware.backtrace) }.join("\n") + "\n\n"
16
+ end
17
+ end
18
+
19
+ def push(sql, args, backtrace, time)
20
+ super(Log.new(sql, args, backtrace, time))
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,31 @@
1
+ module PG
2
+ class Connection
3
+ module GeneralLog
4
+ class Middleware
5
+ class << self
6
+ attr_accessor :enabled, :path, :backtrace
7
+ end
8
+
9
+ def initialize(app, options = {})
10
+ @app = app
11
+ Middleware.enabled = options[:enabled]
12
+ Middleware.path = options[:path] || '/tmp/general_log'
13
+ Middleware.backtrace = options[:backtrace] || false
14
+
15
+ GeneralLog.prepend_module if Middleware.enabled
16
+ end
17
+
18
+ def call(env)
19
+ GeneralLog.general_log.clear if Middleware.enabled
20
+ @app.call(env)
21
+ ensure
22
+ if Middleware.enabled
23
+ request = Rack::Request.new env
24
+ puts request.path
25
+ GeneralLog.general_log.writefile(request)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,5 +1,7 @@
1
1
  module PG
2
- module GeneralLog
3
- VERSION = "0.0.1"
2
+ class Connection
3
+ module GeneralLog
4
+ VERSION = "0.0.2"
5
+ end
4
6
  end
5
7
  end
@@ -2,6 +2,7 @@ require 'pg/connection/general_log'
2
2
 
3
3
  module PGConnectionGeneralLogTest
4
4
  def test_main(m)
5
+ PG::Connection::GeneralLog.prepend_module
5
6
  client = PG.connect(
6
7
  host: '127.0.0.1',
7
8
  user: 'postgres'
@@ -14,6 +15,7 @@ module PGConnectionGeneralLogTest
14
15
  user: 'postgres',
15
16
  dbname: 'pg_connection_general_log_test'
16
17
  )
18
+ PG::Connection::GeneralLog.general_log.clear
17
19
  exit m.run
18
20
 
19
21
  client.exec('DROP DATABASE IF EXISTS pg_connection_general_log_test')
@@ -35,15 +37,15 @@ module PGConnectionGeneralLogTest
35
37
  ('bar', 'barr')
36
38
  ;
37
39
  SQL
38
- @client.general_log.clear
40
+ PG::Connection::GeneralLog.general_log.clear
39
41
  end
40
42
 
41
43
  def test_init(t)
42
- unless @client.general_log.is_a?(Array)
43
- t.error("initial value expect Array class got #{@client.general_log.class}")
44
+ unless PG::Connection::GeneralLog.general_log.is_a?(Array)
45
+ t.error("initial value expect Array class got #{PG::Connection::GeneralLog.general_log.class}")
44
46
  end
45
- unless @client.general_log.empty?
46
- t.error("initial value expect [] got #{@client.general_log}")
47
+ unless PG::Connection::GeneralLog.general_log.empty?
48
+ t.error("initial value expect [] got #{PG::Connection::GeneralLog.general_log}")
47
49
  end
48
50
  end
49
51
 
@@ -53,21 +55,21 @@ module PGConnectionGeneralLogTest
53
55
  @client.exec("SELECT * FROM users WHERE name = '#{'bar'}'")
54
56
  @client.exec("SELECT * FROM users WHERE name = '#{'foo'}'")
55
57
 
56
- if @client.general_log.length != 3
57
- t.error("expect log length 3 got #{@client.general_log.length}")
58
+ if PG::Connection::GeneralLog.general_log.length != 3
59
+ t.error("expect log length 3 got #{PG::Connection::GeneralLog.general_log.length}")
58
60
  end
59
- if @client.general_log.any?{|log| !log.is_a?(PG::Connection::GeneralLog::Log)}
60
- t.error("expect all collection item is instance of PG::Connection::GeneralLog::Log got #{@client.general_log.map(&:class).uniq}")
61
+ if PG::Connection::GeneralLog.general_log.any?{|log| !log.is_a?(PG::Connection::GeneralLog::Log)}
62
+ t.error("expect all collection item is instance of PG::Connection::GeneralLog::Log got #{PG::Connection::GeneralLog.general_log.map(&:class).uniq}")
61
63
  end
62
64
  expect = { 'id' => '1', 'name' => 'hoge', 'password' => 'cheap-pass' }
63
65
  if ret != expect
64
66
  t.error("expect exec output not change from #{expect} got #{ret}")
65
67
  end
66
- unless @client.general_log.first.format =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = 'hoge'\t\[\]$/
67
- t.error("expect log format not correct got `#{@client.general_log.first.format}`")
68
+ unless PG::Connection::GeneralLog.general_log.first.format =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = 'hoge'\t\[\]$/
69
+ t.error("expect log format not correct got `#{PG::Connection::GeneralLog.general_log.first.format}`")
68
70
  end
69
- unless @client.general_log.first.format(true) =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = 'hoge'\t\[\].+in `test_values'$/
70
- t.error("expect log format not correct got `#{@client.general_log.first.format(true)}`")
71
+ unless PG::Connection::GeneralLog.general_log.first.format(true) =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = 'hoge'\t\[\].+in `test_values'$/
72
+ t.error("expect log format not correct got `#{PG::Connection::GeneralLog.general_log.first.format(true)}`")
71
73
  end
72
74
  end
73
75
 
@@ -77,21 +79,21 @@ module PGConnectionGeneralLogTest
77
79
  @client.exec_params('SELECT * FROM users WHERE name = $1', ['bar'])
78
80
  @client.exec_params('SELECT * FROM users WHERE name = $1', ['foo'])
79
81
 
80
- if @client.general_log.length != 3
81
- t.error("expect log length 3 got #{@client.general_log.length}")
82
+ if PG::Connection::GeneralLog.general_log.length != 3
83
+ t.error("expect log length 3 got #{PG::Connection::GeneralLog.general_log.length}")
82
84
  end
83
- if @client.general_log.any?{|log| !log.is_a?(PG::Connection::GeneralLog::Log)}
84
- t.error("expect all collection item is instance of PG::Connection::GeneralLog::Log got #{@client.general_log.map(&:class).uniq}")
85
+ if PG::Connection::GeneralLog.general_log.any?{|log| !log.is_a?(PG::Connection::GeneralLog::Log)}
86
+ t.error("expect all collection item is instance of PG::Connection::GeneralLog::Log got #{PG::Connection::GeneralLog.general_log.map(&:class).uniq}")
85
87
  end
86
88
  expect = { 'id' => '1', 'name' => 'hoge', 'password' => 'cheap-pass' }
87
89
  if ret != expect
88
90
  t.error("expect exec output not change from #{expect} got #{ret}")
89
91
  end
90
- unless @client.general_log.first.format =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = \$1\t\["hoge"\]$/
91
- t.error("expect log format not correct got `#{@client.general_log.first.format}`")
92
+ unless PG::Connection::GeneralLog.general_log.first.format =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = \$1\t\["hoge"\]$/
93
+ t.error("expect log format not correct got `#{PG::Connection::GeneralLog.general_log.first.format}`")
92
94
  end
93
- unless @client.general_log.first.format(true) =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = \$1\t\["hoge"\].+in `test_params_values'$/
94
- t.error("expect log format not correct got `#{@client.general_log.first.format(true)}`")
95
+ unless PG::Connection::GeneralLog.general_log.first.format(true) =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = \$1\t\["hoge"\].+in `test_params_values'$/
96
+ t.error("expect log format not correct got `#{PG::Connection::GeneralLog.general_log.first.format(true)}`")
95
97
  end
96
98
  end
97
99
 
@@ -102,21 +104,21 @@ module PGConnectionGeneralLogTest
102
104
  @client.exec_prepared('select', ['bar'])
103
105
  @client.exec_prepared('select', ['foo'])
104
106
 
105
- if @client.general_log.length != 3
106
- t.error("expect log length 3 got #{@client.general_log.length}")
107
+ if PG::Connection::GeneralLog.general_log.length != 3
108
+ t.error("expect log length 3 got #{PG::Connection::GeneralLog.general_log.length}")
107
109
  end
108
- if @client.general_log.any?{|log| !log.is_a?(PG::Connection::GeneralLog::Log)}
109
- t.error("expect all collection item is instance of PG::Connection::GeneralLog::Log got #{@client.general_log.map(&:class).uniq}")
110
+ if PG::Connection::GeneralLog.general_log.any?{|log| !log.is_a?(PG::Connection::GeneralLog::Log)}
111
+ t.error("expect all collection item is instance of PG::Connection::GeneralLog::Log got #{PG::Connection::GeneralLog.general_log.map(&:class).uniq}")
110
112
  end
111
113
  expect = { 'id' => '1', 'name' => 'hoge', 'password' => 'cheap-pass' }
112
114
  if ret != expect
113
115
  t.error("expect exec output not change from #{expect} got #{ret}")
114
116
  end
115
- unless @client.general_log.first.format =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = \$1\t\["hoge"\]$/
116
- t.error("expect log format not correct got `#{@client.general_log.first.format}`")
117
+ unless PG::Connection::GeneralLog.general_log.first.format =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = \$1\t\["hoge"\]$/
118
+ t.error("expect log format not correct got `#{PG::Connection::GeneralLog.general_log.first.format}`")
117
119
  end
118
- unless @client.general_log.first.format(true) =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = \$1\t\["hoge"\].+in `test_prepare_values'$/
119
- t.error("expect log format not correct got `#{@client.general_log.first.format(true)}`")
120
+ unless PG::Connection::GeneralLog.general_log.first.format(true) =~ /^SQL\t\(\d+\.\d+ms\)\tSELECT \* FROM users WHERE name = \$1\t\["hoge"\].+in `test_prepare_values'$/
121
+ t.error("expect log format not correct got `#{PG::Connection::GeneralLog.general_log.first.format(true)}`")
120
122
  end
121
123
  end
122
124
 
@@ -134,7 +136,7 @@ module PGConnectionGeneralLogTest
134
136
  @client.prepare('select2', 'SELECT * FROM users WHERE name = $1')
135
137
  @client.exec_prepared('select2', ['bar'])
136
138
  @client.exec_prepared('select2', ['foo'])
137
- puts @client.general_log.map { |log| [log.sql, log.args.to_s, log.backtrace.find{|c| %r{/gems/} !~ c.to_s}.to_s.gsub(/.*?:/, '')].join(' ') }
139
+ puts PG::Connection::GeneralLog.general_log.map { |log| [log.sql, log.args.to_s, log.backtrace.find{|c| %r{/gems/} !~ c.to_s}.to_s.gsub(/.*?:/, '')].join(' ') }
138
140
  # Output:
139
141
  # SELECT * FROM users WHERE name = 'hoge' [] in `example_general_log'
140
142
  # SELECT * FROM users WHERE name = $1 ["hoge"] in `example_general_log'
@@ -1,11 +1,10 @@
1
1
  lib = File.expand_path('../lib', __FILE__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- File.read('lib/pg/connection/general_log/version.rb') =~ /.*VERSION\s*=\s*['"](.*?)['"]\s.*/
4
- version = Regexp.last_match(1)
3
+ require 'pg/connection/general_log/version'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = 'pg-connection-general_log'
8
- spec.version = version
7
+ spec.version = PG::Connection::GeneralLog::VERSION
9
8
  spec.authors = ['abcang']
10
9
  spec.email = ['abcang1015@gmail.com']
11
10
 
@@ -21,4 +20,5 @@ Gem::Specification.new do |spec|
21
20
  spec.add_development_dependency 'bundler', '~> 1.15'
22
21
  spec.add_development_dependency 'rake', '~> 12.2'
23
22
  spec.add_development_dependency 'rgot'
23
+ spec.add_development_dependency 'sinatra'
24
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg-connection-general_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - abcang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-12 00:00:00.000000000 Z
11
+ date: 2017-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sinatra
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Simple stocker general log for pg gem.
70
84
  email:
71
85
  - abcang1015@gmail.com
@@ -79,8 +93,13 @@ files:
79
93
  - LICENSE.txt
80
94
  - README.md
81
95
  - Rakefile
96
+ - example/config.ru
82
97
  - example/test.rb
83
98
  - lib/pg/connection/general_log.rb
99
+ - lib/pg/connection/general_log/connection_ext.rb
100
+ - lib/pg/connection/general_log/log.rb
101
+ - lib/pg/connection/general_log/logger.rb
102
+ - lib/pg/connection/general_log/middleware.rb
84
103
  - lib/pg/connection/general_log/version.rb
85
104
  - lib/pg/connection/general_log_test.rb
86
105
  - pg-connection-general_logs.gemspec