awesome_print 0.4.0 → 1.0.0
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.
- data/.gitignore +22 -0
- data/CHANGELOG +8 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +26 -0
- data/README.md +52 -14
- data/Rakefile +2 -46
- data/lib/ap.rb +3 -17
- data/lib/awesome_print.rb +16 -12
- data/lib/{ap → awesome_print}/core_ext/array.rb +0 -0
- data/lib/{ap → awesome_print}/core_ext/class.rb +0 -0
- data/lib/{ap → awesome_print}/core_ext/kernel.rb +2 -2
- data/lib/awesome_print/core_ext/logger.rb +20 -0
- data/lib/{ap → awesome_print}/core_ext/method.rb +0 -0
- data/lib/{ap → awesome_print}/core_ext/object.rb +0 -0
- data/lib/{ap → awesome_print}/core_ext/string.rb +8 -5
- data/lib/awesome_print/ext/action_view.rb +18 -0
- data/lib/awesome_print/ext/active_record.rb +40 -0
- data/lib/awesome_print/ext/active_support.rb +40 -0
- data/lib/awesome_print/ext/mongo_mapper.rb +38 -0
- data/lib/awesome_print/ext/mongoid.rb +39 -0
- data/lib/awesome_print/ext/nokogiri.rb +45 -0
- data/lib/awesome_print/formatter.rb +350 -0
- data/lib/awesome_print/inspector.rb +140 -0
- data/{rails/init.rb → lib/awesome_print/version.rb} +5 -4
- data/spec/colors_spec.rb +106 -0
- data/spec/{awesome_print_spec.rb → formats_spec.rb} +187 -37
- data/spec/methods_spec.rb +20 -0
- data/spec/objects_spec.rb +79 -0
- data/spec/spec_helper.rb +1 -1
- metadata +49 -53
- data/VERSION +0 -1
- data/init.rb +0 -1
- data/lib/ap/awesome_print.rb +0 -352
- data/lib/ap/core_ext/logger.rb +0 -18
- data/lib/ap/mixin/action_view.rb +0 -17
- data/lib/ap/mixin/active_record.rb +0 -54
- data/lib/ap/mixin/active_support.rb +0 -46
- data/lib/ap/mixin/mongo_mapper.rb +0 -54
- data/spec/action_view_spec.rb +0 -25
- data/spec/active_record_spec.rb +0 -136
- data/spec/colorization_spec.rb +0 -84
- data/spec/logger_spec.rb +0 -43
- data/spec/mongo_mapper_spec.rb +0 -63
- data/spec/string_spec.rb +0 -20
data/lib/ap/core_ext/logger.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# Copyright (c) 2010-2011 Michael Dvorkin
|
2
|
-
#
|
3
|
-
# Awesome Print is freely distributable under the terms of MIT license.
|
4
|
-
# See LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
-
#------------------------------------------------------------------------------
|
6
|
-
module AwesomePrintLogger
|
7
|
-
|
8
|
-
# Add ap method to logger
|
9
|
-
#------------------------------------------------------------------------------
|
10
|
-
def ap(object, level = nil)
|
11
|
-
level ||= AwesomePrint.defaults[:log_level] || :debug
|
12
|
-
send level, object.ai
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
Logger.send(:include, AwesomePrintLogger)
|
18
|
-
ActiveSupport::BufferedLogger.send(:include, AwesomePrintLogger) if defined?(::ActiveSupport::BufferedLogger)
|
data/lib/ap/mixin/action_view.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
# Copyright (c) 2010-2011 Michael Dvorkin
|
2
|
-
#
|
3
|
-
# Awesome Print is freely distributable under the terms of MIT license.
|
4
|
-
# See LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
-
#------------------------------------------------------------------------------
|
6
|
-
module AwesomePrintActionView
|
7
|
-
|
8
|
-
# Use HTML colors and add default "debug_dump" class to the resulting HTML.
|
9
|
-
def ap_debug(object, options = {})
|
10
|
-
object.ai(options.merge(:html => true)).sub(/^<pre([\s>])/, '<pre class="debug_dump"\\1')
|
11
|
-
end
|
12
|
-
|
13
|
-
alias_method :ap, :ap_debug
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
ActionView::Base.send(:include, AwesomePrintActionView) if defined?(ActionView)
|
@@ -1,54 +0,0 @@
|
|
1
|
-
# Copyright (c) 2010-2011 Michael Dvorkin
|
2
|
-
#
|
3
|
-
# Awesome Print is freely distributable under the terms of MIT license.
|
4
|
-
# See LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
-
#------------------------------------------------------------------------------
|
6
|
-
module AwesomePrintActiveRecord
|
7
|
-
|
8
|
-
def self.included(base)
|
9
|
-
base.send :alias_method, :printable_without_active_record, :printable
|
10
|
-
base.send :alias_method, :printable, :printable_with_active_record
|
11
|
-
end
|
12
|
-
|
13
|
-
# Add ActiveRecord class names to the dispatcher pipeline.
|
14
|
-
#------------------------------------------------------------------------------
|
15
|
-
def printable_with_active_record(object)
|
16
|
-
printable = printable_without_active_record(object)
|
17
|
-
return printable if !defined?(ActiveRecord::Base)
|
18
|
-
|
19
|
-
if printable == :self
|
20
|
-
if object.is_a?(ActiveRecord::Base)
|
21
|
-
printable = :active_record_instance
|
22
|
-
end
|
23
|
-
elsif printable == :class and object.ancestors.include?(ActiveRecord::Base)
|
24
|
-
printable = :active_record_class
|
25
|
-
end
|
26
|
-
printable
|
27
|
-
end
|
28
|
-
|
29
|
-
# Format ActiveRecord instance object.
|
30
|
-
#------------------------------------------------------------------------------
|
31
|
-
def awesome_active_record_instance(object)
|
32
|
-
return object.inspect if !defined?(ActiveSupport::OrderedHash)
|
33
|
-
|
34
|
-
data = object.class.column_names.inject(ActiveSupport::OrderedHash.new) do |hash, name|
|
35
|
-
hash[name.to_sym] = object.send(name) if object.has_attribute?(name) || object.new_record?
|
36
|
-
hash
|
37
|
-
end
|
38
|
-
"#{object} " + awesome_hash(data)
|
39
|
-
end
|
40
|
-
|
41
|
-
# Format ActiveRecord class object.
|
42
|
-
#------------------------------------------------------------------------------
|
43
|
-
def awesome_active_record_class(object)
|
44
|
-
return object.inspect if !defined?(ActiveSupport::OrderedHash) || !object.respond_to?(:columns)
|
45
|
-
|
46
|
-
data = object.columns.inject(ActiveSupport::OrderedHash.new) do |hash, c|
|
47
|
-
hash[c.name.to_sym] = c.type
|
48
|
-
hash
|
49
|
-
end
|
50
|
-
"class #{object} < #{object.superclass} " << awesome_hash(data)
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
AwesomePrint.send(:include, AwesomePrintActiveRecord)
|
@@ -1,46 +0,0 @@
|
|
1
|
-
# Copyright (c) 2010-2011 Michael Dvorkin
|
2
|
-
#
|
3
|
-
# Awesome Print is freely distributable under the terms of MIT license.
|
4
|
-
# See LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
-
#------------------------------------------------------------------------------
|
6
|
-
module AwesomePrintActiveSupport
|
7
|
-
|
8
|
-
def self.included(base)
|
9
|
-
base.send :alias_method, :printable_without_active_support, :printable
|
10
|
-
base.send :alias_method, :printable, :printable_with_active_support
|
11
|
-
end
|
12
|
-
|
13
|
-
# Add ActiveSupport class names to the dispatcher pipeline.
|
14
|
-
#------------------------------------------------------------------------------
|
15
|
-
def printable_with_active_support(object)
|
16
|
-
printable = printable_without_active_support(object)
|
17
|
-
return printable if !defined?(ActiveSupport::TimeWithZone) || !defined?(HashWithIndifferentAccess)
|
18
|
-
|
19
|
-
if printable == :self
|
20
|
-
if object.is_a?(ActiveSupport::TimeWithZone)
|
21
|
-
printable = :active_support_time
|
22
|
-
elsif object.is_a?(HashWithIndifferentAccess)
|
23
|
-
printable = :hash_with_indifferent_access
|
24
|
-
end
|
25
|
-
end
|
26
|
-
printable
|
27
|
-
end
|
28
|
-
|
29
|
-
# Format ActiveSupport::TimeWithZone as standard Time.
|
30
|
-
#------------------------------------------------------------------------------
|
31
|
-
def awesome_active_support_time(object)
|
32
|
-
awesome_self(object, :as => :time)
|
33
|
-
end
|
34
|
-
|
35
|
-
# Format HashWithIndifferentAccess as standard Hash.
|
36
|
-
#
|
37
|
-
# NOTE: can't use awesome_self(object, :as => :hash) since awesome_self uses
|
38
|
-
# object.inspect internally, i.e. it would convert hash to string.
|
39
|
-
#------------------------------------------------------------------------------
|
40
|
-
def awesome_hash_with_indifferent_access(object)
|
41
|
-
awesome_hash(object)
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
AwesomePrint.send(:include, AwesomePrintActiveSupport)
|
@@ -1,54 +0,0 @@
|
|
1
|
-
# Copyright (c) 2010-2011 Michael Dvorkin
|
2
|
-
#
|
3
|
-
# Awesome Print is freely distributable under the terms of MIT license.
|
4
|
-
# See LICENSE file or http://www.opensource.org/licenses/mit-license.php
|
5
|
-
#------------------------------------------------------------------------------
|
6
|
-
module AwesomePrintMongoMapper
|
7
|
-
|
8
|
-
def self.included(base)
|
9
|
-
base.send :alias_method, :printable_without_mongo_mapper, :printable
|
10
|
-
base.send :alias_method, :printable, :printable_with_mongo_mapper
|
11
|
-
end
|
12
|
-
|
13
|
-
# Add MongoMapper class names to the dispatcher pipeline.
|
14
|
-
#------------------------------------------------------------------------------
|
15
|
-
def printable_with_mongo_mapper(object)
|
16
|
-
printable = printable_without_mongo_mapper(object)
|
17
|
-
return printable if !defined?(MongoMapper::Document)
|
18
|
-
|
19
|
-
if printable == :self
|
20
|
-
if object.is_a?(MongoMapper::Document) || object.is_a?(MongoMapper::EmbeddedDocument)
|
21
|
-
printable = :mongo_mapper_instance
|
22
|
-
end
|
23
|
-
elsif printable == :class && (object.ancestors & [MongoMapper::Document, MongoMapper::EmbeddedDocument]).size > 0
|
24
|
-
printable = :mongo_mapper_class
|
25
|
-
end
|
26
|
-
printable
|
27
|
-
end
|
28
|
-
|
29
|
-
# Format MongoMapper instance object.
|
30
|
-
#------------------------------------------------------------------------------
|
31
|
-
def awesome_mongo_mapper_instance(object)
|
32
|
-
return object.inspect if !defined?(ActiveSupport::OrderedHash)
|
33
|
-
|
34
|
-
data = object.keys.keys.sort_by{|k| k}.inject(ActiveSupport::OrderedHash.new) do |hash, name|
|
35
|
-
hash[name] = object[name]
|
36
|
-
hash
|
37
|
-
end
|
38
|
-
"#{object} " + awesome_hash(data)
|
39
|
-
end
|
40
|
-
|
41
|
-
# Format MongoMapper class object.
|
42
|
-
#------------------------------------------------------------------------------
|
43
|
-
def awesome_mongo_mapper_class(object)
|
44
|
-
return object.inspect if !defined?(ActiveSupport::OrderedHash) || !object.respond_to?(:keys)
|
45
|
-
|
46
|
-
data = object.keys.sort_by{|k| k}.inject(ActiveSupport::OrderedHash.new) do |hash, c|
|
47
|
-
hash[c.first] = (c.last.type || "undefined").to_s.underscore.intern
|
48
|
-
hash
|
49
|
-
end
|
50
|
-
"class #{object} < #{object.superclass} " << awesome_hash(data)
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
AwesomePrint.send(:include, AwesomePrintMongoMapper)
|
data/spec/action_view_spec.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'action_view'
|
5
|
-
require 'ap/mixin/action_view'
|
6
|
-
|
7
|
-
describe "AwesomePrint ActionView extension" do
|
8
|
-
before(:each) do
|
9
|
-
@view = ActionView::Base.new
|
10
|
-
end
|
11
|
-
|
12
|
-
it "uses HTML and adds 'debug_dump' class to plain <pre> tag" do
|
13
|
-
markup = rand
|
14
|
-
@view.ap(markup, :plain => true).should == %Q|<pre class="debug_dump">#{markup}</pre>|
|
15
|
-
end
|
16
|
-
|
17
|
-
it "uses HTML and adds 'debug_dump' class to colorized <pre> tag" do
|
18
|
-
markup = ' &<hello>'
|
19
|
-
@view.ap(markup).should == '<pre class="debug_dump" style="color:brown">" &<hello>"</pre>'
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
rescue LoadError
|
24
|
-
puts "Skipping ActionView specs..."
|
25
|
-
end
|
data/spec/active_record_spec.rb
DELETED
@@ -1,136 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'active_record'
|
5
|
-
require 'ap/mixin/active_record'
|
6
|
-
|
7
|
-
if defined?(::ActiveRecord)
|
8
|
-
|
9
|
-
# Create tableless ActiveRecord model.
|
10
|
-
#------------------------------------------------------------------------------
|
11
|
-
class User < ActiveRecord::Base
|
12
|
-
def self.columns()
|
13
|
-
@columns ||= []
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.column(name, sql_type = nil, default = nil, null = true)
|
17
|
-
columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
|
18
|
-
end
|
19
|
-
|
20
|
-
column :id, :integer
|
21
|
-
column :name, :string
|
22
|
-
column :rank, :integer
|
23
|
-
column :admin, :boolean
|
24
|
-
column :created_at, :datetime
|
25
|
-
|
26
|
-
def self.table_exists?
|
27
|
-
true
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
class SubUser < User
|
32
|
-
def self.columns
|
33
|
-
User.columns
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe "AwesomePrint/ActiveRecord" do
|
38
|
-
before(:each) do
|
39
|
-
stub_dotfile!
|
40
|
-
end
|
41
|
-
|
42
|
-
#------------------------------------------------------------------------------
|
43
|
-
describe "ActiveRecord instance" do
|
44
|
-
before(:each) do
|
45
|
-
ActiveRecord::Base.default_timezone = :utc
|
46
|
-
@diana = User.new(:name => "Diana", :rank => 1, :admin => false, :created_at => "1992-10-10 12:30:00")
|
47
|
-
@laura = User.new(:name => "Laura", :rank => 2, :admin => true, :created_at => "2003-05-26 14:15:00")
|
48
|
-
@ap = AwesomePrint.new(:plain => true)
|
49
|
-
end
|
50
|
-
|
51
|
-
it "display single record" do
|
52
|
-
out = @ap.send(:awesome, @diana)
|
53
|
-
str = <<-EOS.strip
|
54
|
-
#<User:0x01234567> {
|
55
|
-
:id => nil,
|
56
|
-
:name => "Diana",
|
57
|
-
:rank => 1,
|
58
|
-
:admin => false,
|
59
|
-
:created_at => ?
|
60
|
-
}
|
61
|
-
EOS
|
62
|
-
if RUBY_VERSION.to_f < 1.9
|
63
|
-
str.sub!('?', 'Sat Oct 10 12:30:00 UTC 1992')
|
64
|
-
else
|
65
|
-
str.sub!('?', '1992-10-10 12:30:00 UTC')
|
66
|
-
end
|
67
|
-
|
68
|
-
out.gsub(/0x([a-f\d]+)/, "0x01234567").should == str
|
69
|
-
end
|
70
|
-
|
71
|
-
it "display multiple records" do
|
72
|
-
out = @ap.send(:awesome, [ @diana, @laura ])
|
73
|
-
str = <<-EOS.strip
|
74
|
-
[
|
75
|
-
[0] #<User:0x01234567> {
|
76
|
-
:id => nil,
|
77
|
-
:name => "Diana",
|
78
|
-
:rank => 1,
|
79
|
-
:admin => false,
|
80
|
-
:created_at => ?
|
81
|
-
},
|
82
|
-
[1] #<User:0x01234567> {
|
83
|
-
:id => nil,
|
84
|
-
:name => "Laura",
|
85
|
-
:rank => 2,
|
86
|
-
:admin => true,
|
87
|
-
:created_at => !
|
88
|
-
}
|
89
|
-
]
|
90
|
-
EOS
|
91
|
-
if RUBY_VERSION.to_f < 1.9
|
92
|
-
str.sub!('?', 'Sat Oct 10 12:30:00 UTC 1992')
|
93
|
-
str.sub!('!', 'Mon May 26 14:15:00 UTC 2003')
|
94
|
-
else
|
95
|
-
str.sub!('?', '1992-10-10 12:30:00 UTC')
|
96
|
-
str.sub!('!', '2003-05-26 14:15:00 UTC')
|
97
|
-
end
|
98
|
-
|
99
|
-
out.gsub(/0x([a-f\d]+)/, "0x01234567").should == str
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
#------------------------------------------------------------------------------
|
104
|
-
describe "ActiveRecord class" do
|
105
|
-
it "should print the class" do
|
106
|
-
@ap = AwesomePrint.new(:plain => true)
|
107
|
-
@ap.send(:awesome, User).should == <<-EOS.strip
|
108
|
-
class User < ActiveRecord::Base {
|
109
|
-
:id => :integer,
|
110
|
-
:name => :string,
|
111
|
-
:rank => :integer,
|
112
|
-
:admin => :boolean,
|
113
|
-
:created_at => :datetime
|
114
|
-
}
|
115
|
-
EOS
|
116
|
-
end
|
117
|
-
|
118
|
-
it "should print the class for non-direct subclasses of AR::Base" do
|
119
|
-
@ap = AwesomePrint.new(:plain => true)
|
120
|
-
@ap.send(:awesome, SubUser).should == <<-EOS.strip
|
121
|
-
class SubUser < User {
|
122
|
-
:id => :integer,
|
123
|
-
:name => :string,
|
124
|
-
:rank => :integer,
|
125
|
-
:admin => :boolean,
|
126
|
-
:created_at => :datetime
|
127
|
-
}
|
128
|
-
EOS
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
rescue LoadError
|
135
|
-
puts "Skipping ActiveRecord specs..."
|
136
|
-
end
|
data/spec/colorization_spec.rb
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
-
|
3
|
-
describe "AwesomePrint" do
|
4
|
-
before(:each) do
|
5
|
-
stub_dotfile!
|
6
|
-
end
|
7
|
-
|
8
|
-
describe "colorization" do
|
9
|
-
PLAIN = '[ 1, :two, "three", [ nil, [ true, false ] ] ]'
|
10
|
-
COLORIZED = "[ \e[1;34m1\e[0m, \e[0;36m:two\e[0m, \e[0;33m\"three\"\e[0m, [ \e[1;31mnil\e[0m, [ \e[1;32mtrue\e[0m, \e[1;31mfalse\e[0m ] ] ]"
|
11
|
-
|
12
|
-
before(:each) do
|
13
|
-
AwesomePrint.force_colors!(false)
|
14
|
-
ENV['TERM'] = "xterm-colors"
|
15
|
-
ENV.delete('ANSICON')
|
16
|
-
@arr = [ 1, :two, "three", [ nil, [ true, false] ] ]
|
17
|
-
end
|
18
|
-
|
19
|
-
it "colorizes tty processes by default" do
|
20
|
-
stub_tty!(STDOUT, true)
|
21
|
-
|
22
|
-
@arr.ai(:multiline => false).should == COLORIZED
|
23
|
-
end
|
24
|
-
|
25
|
-
it "colorizes tty processes by default" do
|
26
|
-
stub_tty!(STDOUT, true)
|
27
|
-
|
28
|
-
@arr.ai(:multiline => false).should == COLORIZED
|
29
|
-
end
|
30
|
-
|
31
|
-
|
32
|
-
it "colorizes processes with ENV['ANSICON'] by default" do
|
33
|
-
stub_tty!(STDOUT, true)
|
34
|
-
ENV['ANSICON'] = "1"
|
35
|
-
|
36
|
-
@arr.ai(:multiline => false).should == COLORIZED
|
37
|
-
end
|
38
|
-
|
39
|
-
it "does not colorize tty processes running in dumb terminals by default" do
|
40
|
-
stub_tty!(STDOUT, true)
|
41
|
-
ENV['TERM'] = "dumb"
|
42
|
-
|
43
|
-
@arr.ai(:multiline => false).should == PLAIN
|
44
|
-
end
|
45
|
-
|
46
|
-
it "does not colorize subprocesses by default" do
|
47
|
-
stub_tty!(STDOUT, false)
|
48
|
-
|
49
|
-
@arr.ai(:multiline => false).should == PLAIN
|
50
|
-
end
|
51
|
-
|
52
|
-
describe "forced" do
|
53
|
-
before(:each) do
|
54
|
-
AwesomePrint.force_colors!
|
55
|
-
end
|
56
|
-
|
57
|
-
it "still colorizes tty processes" do
|
58
|
-
stub_tty!(STDOUT, true)
|
59
|
-
|
60
|
-
@arr.ai(:multiline => false).should == COLORIZED
|
61
|
-
end
|
62
|
-
|
63
|
-
it "colorizes dumb terminals" do
|
64
|
-
stub_tty!(STDOUT, true)
|
65
|
-
ENV["TERM"] = "dumb"
|
66
|
-
|
67
|
-
@arr.ai(:multiline => false).should == COLORIZED
|
68
|
-
end
|
69
|
-
|
70
|
-
it "colorizes subprocess" do
|
71
|
-
stub_tty!(STDOUT, true)
|
72
|
-
@arr.ai(:multiline => false).should == COLORIZED
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
def stub_tty!(stream, value)
|
78
|
-
eval(%{class << stream
|
79
|
-
def tty?
|
80
|
-
#{value}
|
81
|
-
end
|
82
|
-
end})
|
83
|
-
end
|
84
|
-
end
|
data/spec/logger_spec.rb
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
-
|
3
|
-
|
4
|
-
require 'logger'
|
5
|
-
require 'ap/core_ext/logger'
|
6
|
-
|
7
|
-
describe "AwesomePrint logging extensions" do
|
8
|
-
before(:all) do
|
9
|
-
@logger = Logger.new('/dev/null') rescue Logger.new('nul')
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "ap method" do
|
13
|
-
it "should awesome_inspect the given object" do
|
14
|
-
object = mock
|
15
|
-
object.should_receive(:ai)
|
16
|
-
@logger.ap object
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "the log level" do
|
20
|
-
before(:each) do
|
21
|
-
AwesomePrint.defaults = { }
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should fallback to the default :debug log level" do
|
25
|
-
@logger.should_receive(:debug)
|
26
|
-
@logger.ap(nil)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should use the global user default if no level passed" do
|
30
|
-
AwesomePrint.defaults = { :log_level => :info }
|
31
|
-
@logger.should_receive(:info)
|
32
|
-
@logger.ap(nil)
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should use the passed in level" do
|
36
|
-
@logger.should_receive(:warn)
|
37
|
-
@logger.ap(nil, :warn)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
|