logput 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 +7 -0
- data/.travis.yml +5 -0
- data/Fudgefile +27 -0
- data/README.md +4 -0
- data/Rakefile +10 -1
- data/lib/logput.rb +1 -0
- data/lib/logput/middleware.rb +12 -3
- data/lib/logput/version.rb +3 -1
- data/logput.gemspec +7 -0
- data/spec/middleware_spec.rb +40 -2
- data/spec/spec_helper.rb +5 -0
- metadata +106 -28
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bcf996c334e9c8bd54c66b78402180034082c1ea
|
4
|
+
data.tar.gz: b18636e63e3c9b52088c30f5c95c1949f3e72865
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2dc24bb10c3ebd667d7c028dbb69e69b7c795fc51b730bbaf22314e4f6cf48bce4ba9d83fa976db92e866e9560f7bdfa6ac10035f7a95110f236c0913e07d3aa
|
7
|
+
data.tar.gz: fd2ed287036550895d81682c43555b60fbaa0e255f7a36fffc2a08e245ac92c089756d15b5a3eb4c6fa4ede6c0cded8bb2b379166b22c260910f16e6ee093c39
|
data/.travis.yml
ADDED
data/Fudgefile
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
task_group :spec do
|
2
|
+
rspec :coverage => 100
|
3
|
+
end
|
4
|
+
|
5
|
+
task_group :docs do
|
6
|
+
task :yard, :coverage => 100
|
7
|
+
end
|
8
|
+
|
9
|
+
task_group :codestyle do
|
10
|
+
task :cane, :max_width => 120
|
11
|
+
end
|
12
|
+
|
13
|
+
task_group :duplication do
|
14
|
+
task :flay, :exclude => '^\.\/spec\/'
|
15
|
+
end
|
16
|
+
|
17
|
+
task_group :complexity do
|
18
|
+
task :flog, :exclude => '^\.\/spec\/', :max => 14.6, :average => 7.2, :methods => true
|
19
|
+
end
|
20
|
+
|
21
|
+
build :default do
|
22
|
+
task_group :docs
|
23
|
+
task_group :codestyle
|
24
|
+
task_group :complexity
|
25
|
+
task_group :duplication
|
26
|
+
task_group :spec
|
27
|
+
end
|
data/README.md
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
# Logput
|
2
2
|
|
3
|
+
[](https://travis-ci.org/chrisbarber86/logput)
|
4
|
+
|
3
5
|
Rack middleware to sit in a rails app to put put the current environments log to a webpage. eg /logput
|
4
6
|
|
5
7
|
To be used in test and development environments to see logs without needing direct access to the box.
|
6
8
|
|
7
9
|
This NOT to be used in production like environments.
|
8
10
|
|
11
|
+
Supports Rails 3.x.x and 4.x.x
|
12
|
+
|
9
13
|
## Installation
|
10
14
|
|
11
15
|
Add this line to your application's Gemfile:
|
data/Rakefile
CHANGED
@@ -1,2 +1,11 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
|
-
require
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
RSpec::Core::RakeTask.new(:spec)
|
5
|
+
|
6
|
+
task :default => :fudge
|
7
|
+
|
8
|
+
# Test using Fudge
|
9
|
+
task :fudge do
|
10
|
+
exec 'fudge build 2> /dev/null'
|
11
|
+
end
|
data/lib/logput.rb
CHANGED
data/lib/logput/middleware.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
+
# Logput
|
1
2
|
module Logput
|
3
|
+
# Middleware
|
2
4
|
class Middleware
|
3
5
|
def initialize(app, options = {})
|
4
6
|
@app = app
|
@@ -6,6 +8,7 @@ module Logput
|
|
6
8
|
@lines_to_read = options[:lines_to_read] || 500
|
7
9
|
end
|
8
10
|
|
11
|
+
# Call
|
9
12
|
def call(env)
|
10
13
|
@path_to_log_file ||= default_path_to_log_file(env)
|
11
14
|
|
@@ -22,11 +25,17 @@ module Logput
|
|
22
25
|
private
|
23
26
|
|
24
27
|
def default_path_to_log_file(env)
|
25
|
-
|
26
|
-
|
28
|
+
raise Exception, 'Must specify path to log file' unless defined? Rails
|
29
|
+
|
30
|
+
if Rails.version >= "4.0.0"
|
31
|
+
logger(env).instance_variable_get(:@logdev).instance_variable_get(:@dev).path
|
27
32
|
else
|
28
|
-
|
33
|
+
logger(env).instance_variable_get(:@logger).instance_variable_get(:@log_dest).path
|
29
34
|
end
|
30
35
|
end
|
36
|
+
|
37
|
+
def logger(env)
|
38
|
+
env['action_dispatch.logger']
|
39
|
+
end
|
31
40
|
end
|
32
41
|
end
|
data/lib/logput/version.rb
CHANGED
data/logput.gemspec
CHANGED
@@ -7,6 +7,7 @@ Gem::Specification.new do |gem|
|
|
7
7
|
gem.description = 'Rack middleware to output rails logs to a webpage'
|
8
8
|
gem.summary = 'Rack middleware to output rails logs to a webpage'
|
9
9
|
gem.homepage = "https://github.com/asmega/logput"
|
10
|
+
gem.license = 'MIT'
|
10
11
|
|
11
12
|
gem.files = `git ls-files`.split($\)
|
12
13
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
@@ -20,4 +21,10 @@ Gem::Specification.new do |gem|
|
|
20
21
|
gem.add_development_dependency 'rspec'
|
21
22
|
gem.add_development_dependency 'rake'
|
22
23
|
gem.add_development_dependency 'pry'
|
24
|
+
gem.add_development_dependency 'fudge'
|
25
|
+
gem.add_development_dependency 'simplecov'
|
26
|
+
gem.add_development_dependency 'cane'
|
27
|
+
gem.add_development_dependency 'flay'
|
28
|
+
gem.add_development_dependency 'flog'
|
29
|
+
gem.add_development_dependency 'yard'
|
23
30
|
end
|
data/spec/middleware_spec.rb
CHANGED
@@ -31,11 +31,49 @@ describe Logput::Middleware do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
context 'when rails is defined' do
|
34
|
+
let(:logger) { double }
|
35
|
+
let(:logvar) { double }
|
36
|
+
let(:logdest) { double(:path => './spec/support/test.log') }
|
37
|
+
|
34
38
|
before :each do
|
35
|
-
class Rails
|
39
|
+
class Rails
|
40
|
+
def self.version
|
41
|
+
@rails_version
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.version=(v)
|
45
|
+
@rails_version = v
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context 'Rails 4' do
|
51
|
+
before :each do
|
52
|
+
Rails.version = '4.0.0'
|
53
|
+
allow(logger).to receive(:instance_variable_get).with(:@logdev).and_return(logvar)
|
54
|
+
allow(logvar).to receive(:instance_variable_get).with(:@dev).and_return(logdest)
|
55
|
+
|
56
|
+
@request = server.get('/logput', { 'action_dispatch.logger' => logger })
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'accesses the correct log file' do
|
60
|
+
expect(@request.status).to eq(200)
|
61
|
+
end
|
36
62
|
end
|
37
63
|
|
38
|
-
|
64
|
+
context 'Rails 3' do
|
65
|
+
before :each do
|
66
|
+
Rails.version = '3.0.0'
|
67
|
+
allow(logger).to receive(:instance_variable_get).with(:@logger).and_return(logvar)
|
68
|
+
allow(logvar).to receive(:instance_variable_get).with(:@log_dest).and_return(logdest)
|
69
|
+
|
70
|
+
@request = server.get('/logput', { 'action_dispatch.logger' => logger })
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'accesses the correct log file' do
|
74
|
+
expect(server.get('/logput').status).to eq(200)
|
75
|
+
end
|
76
|
+
end
|
39
77
|
end
|
40
78
|
end
|
41
79
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
SimpleCov.start do
|
3
|
+
add_filter 'spec/'
|
4
|
+
end
|
5
|
+
|
1
6
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
7
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
8
|
# Require this file using `require "spec_helper"` to ensure that it is only
|
metadata
CHANGED
@@ -1,78 +1,153 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logput
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Philip Lee
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-07-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rack
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: pry
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: fudge
|
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'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: cane
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: flay
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: flog
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: yard
|
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
|
+
- - ">="
|
76
151
|
- !ruby/object:Gem::Version
|
77
152
|
version: '0'
|
78
153
|
description: Rack middleware to output rails logs to a webpage
|
@@ -82,8 +157,10 @@ executables: []
|
|
82
157
|
extensions: []
|
83
158
|
extra_rdoc_files: []
|
84
159
|
files:
|
85
|
-
- .gitignore
|
86
|
-
- .rspec
|
160
|
+
- ".gitignore"
|
161
|
+
- ".rspec"
|
162
|
+
- ".travis.yml"
|
163
|
+
- Fudgefile
|
87
164
|
- Gemfile
|
88
165
|
- LICENSE
|
89
166
|
- README.md
|
@@ -96,30 +173,31 @@ files:
|
|
96
173
|
- spec/spec_helper.rb
|
97
174
|
- spec/support/test.log
|
98
175
|
homepage: https://github.com/asmega/logput
|
99
|
-
licenses:
|
176
|
+
licenses:
|
177
|
+
- MIT
|
178
|
+
metadata: {}
|
100
179
|
post_install_message:
|
101
180
|
rdoc_options: []
|
102
181
|
require_paths:
|
103
182
|
- lib
|
104
183
|
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
184
|
requirements:
|
107
|
-
- -
|
185
|
+
- - ">="
|
108
186
|
- !ruby/object:Gem::Version
|
109
187
|
version: '0'
|
110
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
-
none: false
|
112
189
|
requirements:
|
113
|
-
- -
|
190
|
+
- - ">="
|
114
191
|
- !ruby/object:Gem::Version
|
115
192
|
version: '0'
|
116
193
|
requirements: []
|
117
194
|
rubyforge_project:
|
118
|
-
rubygems_version:
|
195
|
+
rubygems_version: 2.2.3
|
119
196
|
signing_key:
|
120
|
-
specification_version:
|
197
|
+
specification_version: 4
|
121
198
|
summary: Rack middleware to output rails logs to a webpage
|
122
199
|
test_files:
|
123
200
|
- spec/middleware_spec.rb
|
124
201
|
- spec/spec_helper.rb
|
125
202
|
- spec/support/test.log
|
203
|
+
has_rdoc:
|