rack-colorized_logger 1.0.1 → 1.0.3

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.
Files changed (2) hide show
  1. data/lib/rack-colorized_logger.rb +26 -6
  2. metadata +2 -2
@@ -10,23 +10,34 @@ module Rack
10
10
  :cookies => [:green, :magenta]
11
11
  }
12
12
 
13
- DEFAULT_OUTPUT = ::STDOUT
13
+ DEFAULT_OUTPUT = STDOUT
14
14
 
15
- attr_writer :public, :colors, :out
15
+ attr_writer :public, :colors, :out, :path, :assets
16
16
 
17
17
  def initialize(app)
18
+ @app = app
19
+
20
+ if defined? Rails
21
+ @path = false
22
+ @public = ::File.join Rails.root, 'public'
23
+ @assets = '/assets'
24
+ else
25
+ @path = true
26
+ @public = nil
27
+ @assets = nil
28
+ end
29
+
18
30
  yield self if block_given?
31
+
19
32
  @colors ||= (defined? Rack::ColorizedLogger::COLORS) ? Rack::ColorizedLogger::COLORS : DEFAULT_COLORS
20
33
  @out ||= DEFAULT_OUTPUT
21
- @app = app
22
34
  @public_map = Dir[::File.join(@public, '**', '*')].map {|f| ::File.basename f} if @public and ::File.directory? @public
23
35
  end
24
36
 
25
37
  def call env
26
38
  @request = Rack::Request.new(env)
27
- selected_paths = (@public_map.nil? or @public_map.empty?) ? nil : @public_map.select {|p| @request.path.index("\/#{p}") == 0}
28
- if selected_paths.nil? or selected_paths.empty?
29
- @out.puts "path:".bold + " " + @request.path
39
+ if not public_file? and not asset?
40
+ @out.puts "path:".bold + " " + @request.path if @path
30
41
  @colors.each do |thing, color_a|
31
42
  if thing.respond_to? :call
32
43
  _thing = thing.call(@request)
@@ -38,11 +49,20 @@ module Rack
38
49
  end
39
50
  end
40
51
  end
52
+
41
53
  @app.call env
42
54
  end
43
55
 
44
56
  private
45
57
 
58
+ def public_file?
59
+ !@public_map.select {|p| @request.path.index(%{/#{p}}) == 0}.empty? if @public_map and not @public_map.empty?
60
+ end
61
+
62
+ def asset?
63
+ @request.path.index(@assets) == 0 unless @assets.nil?
64
+ end
65
+
46
66
  def pretty_colors_h(hash, k_color, v_color = nil, padding = 1, start = true)
47
67
  v_color ||= k_color
48
68
  indent = padding + 1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-colorized_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-25 00:00:00.000000000 Z
12
+ date: 2012-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: term-ansicolor