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 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
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.2
4
+ - 2.1.6
5
+ - 2.0.0
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
+ [![Build Status](https://travis-ci.org/chrisbarber86/logput.svg?branch=add_travis)](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 "bundler/gem_tasks"
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
@@ -1,6 +1,7 @@
1
1
  require "logput/version"
2
2
  require 'rack'
3
3
 
4
+ # Logput
4
5
  module Logput
5
6
  autoload :Middleware, 'logput/middleware'
6
7
  end
@@ -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
- if defined? Rails
26
- env['action_dispatch.logger'].instance_variable_get(:@logger).instance_variable_get(:@log_dest).path
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
- raise Exception, 'Must specify path to log file'
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
@@ -1,3 +1,5 @@
1
+ # Logput
1
2
  module Logput
2
- VERSION = "0.0.1"
3
+ # Gem version
4
+ VERSION = "0.0.2"
3
5
  end
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
@@ -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; end
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
- it 'returns ./log/development.log'
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.1
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: 2012-07-21 00:00:00.000000000 Z
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: 1.8.24
195
+ rubygems_version: 2.2.3
119
196
  signing_key:
120
- specification_version: 3
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: