logput 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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: