awesome_print 1.6.1 → 1.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +4 -0
- data/Appraisals +45 -22
- data/{CHANGELOG → CHANGELOG.md} +83 -18
- data/CONTRIBUTING.md +45 -4
- data/Gemfile.lock +28 -22
- data/LICENSE +16 -19
- data/README.md +97 -92
- data/Rakefile +5 -5
- data/awesome_print.gemspec +33 -0
- data/init.rb +1 -0
- data/lib/ap.rb +2 -2
- data/lib/awesome_print/colorize.rb +24 -0
- data/lib/awesome_print/core_ext/{array.rb → awesome_method_array.rb} +16 -18
- data/lib/awesome_print/core_ext/class.rb +3 -2
- data/lib/awesome_print/core_ext/kernel.rb +1 -1
- data/lib/awesome_print/core_ext/logger.rb +1 -1
- data/lib/awesome_print/core_ext/method.rb +2 -2
- data/lib/awesome_print/core_ext/object.rb +3 -2
- data/lib/awesome_print/core_ext/string.rb +3 -3
- data/lib/awesome_print/custom_defaults.rb +57 -0
- data/lib/awesome_print/ext/action_view.rb +8 -4
- data/lib/awesome_print/ext/active_record.rb +45 -12
- data/lib/awesome_print/ext/active_support.rb +1 -1
- data/lib/awesome_print/ext/mongo_mapper.rb +16 -13
- data/lib/awesome_print/ext/mongoid.rb +8 -6
- data/lib/awesome_print/ext/nobrainer.rb +52 -0
- data/lib/awesome_print/ext/nokogiri.rb +4 -4
- data/lib/awesome_print/ext/ostruct.rb +1 -1
- data/lib/awesome_print/ext/ripple.rb +5 -6
- data/lib/awesome_print/ext/sequel.rb +7 -6
- data/lib/awesome_print/formatter.rb +54 -327
- data/lib/awesome_print/formatters/array_formatter.rb +139 -0
- data/lib/awesome_print/formatters/base_formatter.rb +140 -0
- data/lib/awesome_print/formatters/class_formatter.rb +25 -0
- data/lib/awesome_print/formatters/dir_formatter.rb +22 -0
- data/lib/awesome_print/formatters/file_formatter.rb +22 -0
- data/lib/awesome_print/formatters/hash_formatter.rb +106 -0
- data/lib/awesome_print/formatters/method_formatter.rb +22 -0
- data/lib/awesome_print/formatters/object_formatter.rb +78 -0
- data/lib/awesome_print/formatters/simple_formatter.rb +21 -0
- data/lib/awesome_print/formatters/struct_formatter.rb +71 -0
- data/lib/awesome_print/formatters.rb +15 -0
- data/lib/awesome_print/indentator.rb +18 -0
- data/lib/awesome_print/inspector.rb +92 -94
- data/lib/awesome_print/version.rb +2 -2
- data/lib/awesome_print.rb +19 -18
- data/spec/active_record_helper.rb +24 -28
- data/spec/colors_spec.rb +31 -31
- data/spec/core_ext/logger_spec.rb +43 -0
- data/spec/core_ext/string_spec.rb +20 -0
- data/spec/ext/action_view_spec.rb +21 -0
- data/spec/ext/active_record_spec.rb +260 -0
- data/spec/ext/active_support_spec.rb +30 -0
- data/spec/ext/mongo_mapper_spec.rb +261 -0
- data/spec/ext/mongoid_spec.rb +67 -0
- data/spec/ext/nobrainer_spec.rb +59 -0
- data/spec/ext/nokogiri_spec.rb +46 -0
- data/spec/ext/ostruct_spec.rb +22 -0
- data/spec/ext/ripple_spec.rb +48 -0
- data/spec/formats_spec.rb +251 -184
- data/spec/methods_spec.rb +126 -130
- data/spec/misc_spec.rb +98 -93
- data/spec/objects_spec.rb +162 -27
- data/spec/spec_helper.rb +72 -38
- data/spec/support/active_record_data/3_2_diana.txt +24 -0
- data/spec/support/active_record_data/3_2_diana_legacy.txt +24 -0
- data/spec/support/active_record_data/3_2_multi.txt +50 -0
- data/spec/support/active_record_data/3_2_multi_legacy.txt +50 -0
- data/spec/support/active_record_data/4_0_diana.txt +98 -0
- data/spec/support/active_record_data/4_0_multi.txt +198 -0
- data/spec/support/active_record_data/4_1_diana.txt +97 -0
- data/spec/support/active_record_data/4_1_multi.txt +196 -0
- data/spec/support/active_record_data/4_2_diana.txt +109 -0
- data/spec/support/active_record_data/4_2_diana_legacy.txt +109 -0
- data/spec/support/active_record_data/4_2_multi.txt +220 -0
- data/spec/support/active_record_data/4_2_multi_legacy.txt +220 -0
- data/spec/support/active_record_data/5_0_diana.txt +105 -0
- data/spec/support/active_record_data/5_0_multi.txt +212 -0
- data/spec/support/active_record_data/5_1_diana.txt +104 -0
- data/spec/support/active_record_data/5_1_multi.txt +210 -0
- data/spec/support/active_record_data/5_2_diana.txt +104 -0
- data/spec/support/active_record_data/5_2_multi.txt +210 -0
- data/spec/support/active_record_data/6_0_diana.txt +104 -0
- data/spec/support/active_record_data/6_0_multi.txt +210 -0
- data/spec/support/active_record_data/6_1_diana.txt +109 -0
- data/spec/support/active_record_data/6_1_multi.txt +220 -0
- data/spec/support/active_record_data.rb +20 -0
- data/spec/support/ext_verifier.rb +42 -0
- data/spec/support/mongoid_versions.rb +26 -0
- data/spec/support/rails_versions.rb +55 -0
- metadata +104 -15
- data/lib/awesome_print/ext/no_brainer.rb +0 -58
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'AwesomePrint/Nokogiri' do
|
4
|
+
it 'should colorize tags' do
|
5
|
+
xml = Nokogiri::XML('<html><body><h1></h1></body></html>')
|
6
|
+
expect(xml.ai).to eq <<-EOS
|
7
|
+
<?xml version=\"1.0\"?>\e[1;32m
|
8
|
+
\e[0m<\e[1;36mhtml\e[0m>\e[1;32m
|
9
|
+
\e[0m<\e[1;36mbody\e[0m>\e[1;32m
|
10
|
+
\e[0m<\e[1;36mh1\e[0m/>\e[1;32m
|
11
|
+
\e[0m<\e[1;36m/body\e[0m>\e[1;32m
|
12
|
+
\e[0m<\e[1;36m/html\e[0m>
|
13
|
+
EOS
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should colorize contents' do
|
17
|
+
xml = Nokogiri::XML('<html><body><h1>Hello</h1></body></html>')
|
18
|
+
expect(xml.ai).to eq <<-EOS
|
19
|
+
<?xml version=\"1.0\"?>\e[1;32m
|
20
|
+
\e[0m<\e[1;36mhtml\e[0m>\e[1;32m
|
21
|
+
\e[0m<\e[1;36mbody\e[0m>\e[1;32m
|
22
|
+
\e[0m<\e[1;36mh1\e[0m>\e[1;32mHello\e[0m<\e[1;36m/h1\e[0m>\e[1;32m
|
23
|
+
\e[0m<\e[1;36m/body\e[0m>\e[1;32m
|
24
|
+
\e[0m<\e[1;36m/html\e[0m>
|
25
|
+
EOS
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should colorize class and id' do
|
29
|
+
xml = Nokogiri::XML('<html><body><h1><span id="hello" class="world"></span></h1></body></html>')
|
30
|
+
expect(xml.ai).to eq <<-EOS
|
31
|
+
<?xml version=\"1.0\"?>\e[1;32m
|
32
|
+
\e[0m<\e[1;36mhtml\e[0m>\e[1;32m
|
33
|
+
\e[0m<\e[1;36mbody\e[0m>\e[1;32m
|
34
|
+
\e[0m<\e[1;36mh1\e[0m>\e[1;32m
|
35
|
+
\e[0m<\e[1;36mspan\e[0m \e[1;33mid=\"hello\"\e[0m \e[1;33mclass=\"world\"\e[0m/>\e[1;32m
|
36
|
+
\e[0m<\e[1;36m/h1\e[0m>\e[1;32m
|
37
|
+
\e[0m<\e[1;36m/body\e[0m>\e[1;32m
|
38
|
+
\e[0m<\e[1;36m/html\e[0m>
|
39
|
+
EOS
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'handle empty NodeSet' do
|
43
|
+
xml = Nokogiri::XML::NodeSet.new(Nokogiri::XML(''))
|
44
|
+
expect(xml.ai).to eq('[]')
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'AwesomePrint Ostruct extension' do
|
4
|
+
before do
|
5
|
+
@ap = AwesomePrint::Inspector.new(plain: true, sort_keys: true)
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'empty hash' do
|
9
|
+
struct = OpenStruct.new
|
10
|
+
expect(@ap.send(:awesome, struct)).to eq('OpenStruct {}')
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'plain multiline' do
|
14
|
+
struct = OpenStruct.new name: 'Foo', address: 'Bar'
|
15
|
+
expect(@ap.send(:awesome, struct)).to eq <<-EOS.strip
|
16
|
+
OpenStruct {
|
17
|
+
:address => "Bar",
|
18
|
+
:name => "Foo"
|
19
|
+
}
|
20
|
+
EOS
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'AwesomePrint/Ripple', skip: -> { !ExtVerifier.has_ripple? }.call do
|
4
|
+
|
5
|
+
if ExtVerifier.has_ripple?
|
6
|
+
before :all do
|
7
|
+
class RippleUser
|
8
|
+
include Ripple::Document
|
9
|
+
|
10
|
+
key_on :_id
|
11
|
+
property :_id, String
|
12
|
+
property :first_name, String
|
13
|
+
property :last_name, String
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
after :all do
|
18
|
+
Object.instance_eval { remove_const :RippleUser }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
before do
|
23
|
+
@ap = AwesomePrint::Inspector.new plain: true, sort_keys: true
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should print class instance' do
|
27
|
+
user = RippleUser.new _id: '12345', first_name: 'Al', last_name: 'Capone'
|
28
|
+
out = @ap.send :awesome, user
|
29
|
+
|
30
|
+
expect(out).to be_similar_to <<-EOS.strip
|
31
|
+
#<RippleUser:placeholder_id> {
|
32
|
+
:_id => "12345",
|
33
|
+
:first_name => "Al",
|
34
|
+
:last_name => "Capone"
|
35
|
+
}
|
36
|
+
EOS
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should print the class' do
|
40
|
+
expect(@ap.send(:awesome, RippleUser)).to eq <<-EOS.strip
|
41
|
+
class RippleUser < Object {
|
42
|
+
:_id => :string,
|
43
|
+
:first_name => :string,
|
44
|
+
:last_name => :string
|
45
|
+
}
|
46
|
+
EOS
|
47
|
+
end
|
48
|
+
end
|