awesome_print 1.9.2 → 2.0.0.pre
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 +5 -5
- data/.gitignore +1 -1
- data/Appraisals +2 -33
- data/CHANGELOG.md +6 -15
- data/CONTRIBUTING.md +0 -1
- data/README.md +7 -49
- data/lib/ap.rb +1 -5
- data/lib/awesome_print.rb +7 -29
- data/lib/awesome_print/colorize.rb +2 -0
- data/lib/awesome_print/core_ext/active_support.rb +7 -0
- data/lib/awesome_print/core_ext/awesome_method_array.rb +0 -6
- data/lib/awesome_print/core_ext/class.rb +0 -5
- data/lib/awesome_print/core_ext/kernel.rb +0 -5
- data/lib/awesome_print/core_ext/logger.rb +0 -5
- data/lib/awesome_print/core_ext/object.rb +0 -5
- data/lib/awesome_print/core_ext/string.rb +0 -5
- data/lib/awesome_print/custom_defaults.rb +1 -1
- data/lib/awesome_print/formatter.rb +38 -106
- data/lib/awesome_print/formatters/array_formatter.rb +11 -8
- data/lib/awesome_print/formatters/base_formatter.rb +20 -53
- data/lib/awesome_print/formatters/bigdecimal_formatter.rb +20 -0
- data/lib/awesome_print/formatters/class_formatter.rb +5 -6
- data/lib/awesome_print/formatters/dir_formatter.rb +4 -6
- data/lib/awesome_print/formatters/ext/active_model_error_formatter.rb +44 -0
- data/lib/awesome_print/formatters/ext/active_record_attributeset_formatter.rb +27 -0
- data/lib/awesome_print/formatters/ext/active_record_class_formatter.rb +43 -0
- data/lib/awesome_print/formatters/ext/active_record_instance_formatter.rb +48 -0
- data/lib/awesome_print/formatters/ext/active_record_relation_formatter.rb +19 -0
- data/lib/awesome_print/formatters/ext/bson_objectid_formatter.rb +20 -0
- data/lib/awesome_print/formatters/ext/hash_with_indifferent_access_formatter.rb +20 -0
- data/lib/awesome_print/formatters/ext/mongoid_document_formatter.rb +59 -0
- data/lib/awesome_print/formatters/ext/nokogiri_document_formatter.rb +30 -0
- data/lib/awesome_print/formatters/ext/nokogiri_node_formatter.rb +29 -0
- data/lib/awesome_print/formatters/ext/nokogiri_nodeset_formatter.rb +32 -0
- data/lib/awesome_print/formatters/ext/sequel_dataset_formatter.rb +20 -0
- data/lib/awesome_print/formatters/ext/sequel_model_class_formatter.rb +25 -0
- data/lib/awesome_print/formatters/ext/sequel_model_formatter.rb +26 -0
- data/lib/awesome_print/formatters/ext/time_with_zone_formatter.rb +24 -0
- data/lib/awesome_print/formatters/fallback_formatter.rb +55 -0
- data/lib/awesome_print/formatters/false_class_formatter.rb +15 -0
- data/lib/awesome_print/formatters/file_formatter.rb +4 -6
- data/lib/awesome_print/formatters/hash_formatter.rb +12 -7
- data/lib/awesome_print/formatters/integer_formatter.rb +11 -0
- data/lib/awesome_print/formatters/method_formatter.rb +8 -6
- data/lib/awesome_print/formatters/module_formatter.rb +18 -0
- data/lib/awesome_print/formatters/nil_class_formatter.rb +19 -0
- data/lib/awesome_print/formatters/object_formatter.rb +19 -9
- data/lib/awesome_print/formatters/open_struct.rb +19 -0
- data/lib/awesome_print/formatters/range_formatter.rb +11 -0
- data/lib/awesome_print/formatters/rational_formatter.rb +15 -0
- data/lib/awesome_print/formatters/set_formatter.rb +19 -0
- data/lib/awesome_print/formatters/simple_formatter.rb +10 -8
- data/lib/awesome_print/formatters/string_formatter.rb +14 -0
- data/lib/awesome_print/formatters/struct_formatter.rb +8 -6
- data/lib/awesome_print/formatters/symbol_formatter.rb +18 -0
- data/lib/awesome_print/formatters/true_class_formatter.rb +15 -0
- data/lib/awesome_print/formatters/unbound_method_formatter.rb +15 -0
- data/lib/awesome_print/inspector.rb +18 -17
- data/lib/awesome_print/limiter.rb +63 -0
- data/lib/awesome_print/registrar.rb +20 -0
- data/lib/awesome_print/version.rb +6 -6
- data/spec/formatters/array_spec.rb +251 -0
- data/spec/formatters/big_decimal_spec.rb +28 -0
- data/spec/formatters/class_spec.rb +91 -0
- data/spec/formatters/dir_file_spec.rb +43 -0
- data/spec/{ext → formatters/ext}/active_record_spec.rb +14 -58
- data/spec/{ext → formatters/ext}/active_support_spec.rb +7 -11
- data/spec/{ext → formatters/ext}/mongoid_spec.rb +2 -2
- data/spec/{ext → formatters/ext}/nokogiri_spec.rb +0 -0
- data/spec/formatters/hash_spec.rb +284 -0
- data/spec/{methods_spec.rb → formatters/methods_spec.rb} +3 -5
- data/spec/{objects_spec.rb → formatters/objects_spec.rb} +0 -0
- data/spec/{ext → formatters}/ostruct_spec.rb +1 -0
- data/spec/formatters/set_spec.rb +49 -0
- data/spec/formatters/struct_spec.rb +61 -0
- data/spec/merge_options_spec.rb +13 -0
- data/spec/misc_spec.rb +3 -10
- data/spec/spec_helper.rb +2 -9
- data/spec/support/ext_verifier.rb +0 -15
- data/spec/support/mongoid_versions.rb +4 -8
- data/spec/support/rails_versions.rb +2 -32
- metadata +100 -78
- data/awesome_print.gemspec +0 -33
- data/init.rb +0 -1
- data/lib/awesome_print/core_ext/method.rb +0 -21
- data/lib/awesome_print/ext/action_view.rb +0 -22
- data/lib/awesome_print/ext/active_record.rb +0 -103
- data/lib/awesome_print/ext/active_support.rb +0 -47
- data/lib/awesome_print/ext/mongo_mapper.rb +0 -124
- data/lib/awesome_print/ext/mongoid.rb +0 -67
- data/lib/awesome_print/ext/nobrainer.rb +0 -52
- data/lib/awesome_print/ext/nokogiri.rb +0 -45
- data/lib/awesome_print/ext/ostruct.rb +0 -27
- data/lib/awesome_print/ext/ripple.rb +0 -71
- data/lib/awesome_print/ext/sequel.rb +0 -58
- data/spec/ext/action_view_spec.rb +0 -21
- data/spec/ext/mongo_mapper_spec.rb +0 -261
- data/spec/ext/nobrainer_spec.rb +0 -59
- data/spec/ext/ripple_spec.rb +0 -48
- data/spec/formats_spec.rb +0 -779
- data/spec/support/active_record_data/3_2_diana.txt +0 -24
- data/spec/support/active_record_data/3_2_diana_legacy.txt +0 -24
- data/spec/support/active_record_data/3_2_multi.txt +0 -50
- data/spec/support/active_record_data/3_2_multi_legacy.txt +0 -50
- data/spec/support/active_record_data/4_0_diana.txt +0 -98
- data/spec/support/active_record_data/4_0_multi.txt +0 -198
- data/spec/support/active_record_data/4_1_diana.txt +0 -97
- data/spec/support/active_record_data/4_1_multi.txt +0 -196
- data/spec/support/active_record_data/4_2_diana.txt +0 -109
- data/spec/support/active_record_data/4_2_diana_legacy.txt +0 -109
- data/spec/support/active_record_data/4_2_multi.txt +0 -220
- data/spec/support/active_record_data/4_2_multi_legacy.txt +0 -220
- data/spec/support/active_record_data/6_0_diana.txt +0 -104
- data/spec/support/active_record_data/6_0_multi.txt +0 -210
- data/spec/support/active_record_data/6_1_diana.txt +0 -109
- data/spec/support/active_record_data/6_1_multi.txt +0 -220
@@ -0,0 +1,30 @@
|
|
1
|
+
require_relative '../base_formatter'
|
2
|
+
|
3
|
+
module AwesomePrint
|
4
|
+
module Formatters
|
5
|
+
class NokogiriDocumentFormatter < BaseFormatter
|
6
|
+
|
7
|
+
formatter_for :nokogiri_xml_document
|
8
|
+
|
9
|
+
def self.formattable?(object)
|
10
|
+
defined?(::Nokogiri) && object.is_a?(::Nokogiri::XML::Document)
|
11
|
+
end
|
12
|
+
|
13
|
+
def format(object)
|
14
|
+
|
15
|
+
xml = object.to_xml(indent: 2)
|
16
|
+
#
|
17
|
+
# Colorize tag, id/class name, and contents.
|
18
|
+
#
|
19
|
+
xml.gsub!(/(<)(\/?[A-Za-z1-9]+)/) { |tag| "#{$1}#{colorize($2, :keyword)}" }
|
20
|
+
xml.gsub!(/(id|class)="[^"]+"/i) { |id| colorize(id, :class) }
|
21
|
+
xml.gsub!(/>([^<]+)</) do |contents|
|
22
|
+
contents = colorize($1, :trueclass) if contents && !contents.empty?
|
23
|
+
">#{contents}<"
|
24
|
+
end
|
25
|
+
xml
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative '../base_formatter'
|
2
|
+
|
3
|
+
module AwesomePrint
|
4
|
+
module Formatters
|
5
|
+
class NokogiriNodeFormatter < BaseFormatter
|
6
|
+
|
7
|
+
formatter_for :nokogiri_xml_node
|
8
|
+
|
9
|
+
def self.formattable?(object)
|
10
|
+
defined?(::Nokogiri) && object.is_a?(::Nokogiri::XML::Node)
|
11
|
+
end
|
12
|
+
|
13
|
+
def format(object)
|
14
|
+
xml = object.to_xml(indent: 2)
|
15
|
+
#
|
16
|
+
# Colorize tag, id/class name, and contents.
|
17
|
+
#
|
18
|
+
xml.gsub!(/(<)(\/?[A-Za-z1-9]+)/) { |tag| "#{$1}#{colorize($2, :keyword)}" }
|
19
|
+
xml.gsub!(/(id|class)="[^"]+"/i) { |id| colorize(id, :class) }
|
20
|
+
xml.gsub!(/>([^<]+)</) do |contents|
|
21
|
+
contents = colorize($1, :trueclass) if contents && !contents.empty?
|
22
|
+
">#{contents}<"
|
23
|
+
end
|
24
|
+
xml
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require_relative '../base_formatter'
|
2
|
+
|
3
|
+
module AwesomePrint
|
4
|
+
module Formatters
|
5
|
+
class NokogiriNodesetFormatter < BaseFormatter
|
6
|
+
|
7
|
+
formatter_for :nokogiri_xml_nodeset
|
8
|
+
|
9
|
+
def self.formattable?(object)
|
10
|
+
defined?(::Nokogiri) && object.is_a?(::Nokogiri::XML::NodeSet)
|
11
|
+
end
|
12
|
+
|
13
|
+
def format(object)
|
14
|
+
|
15
|
+
return '[]' if object.empty?
|
16
|
+
|
17
|
+
xml = object.to_xml(indent: 2)
|
18
|
+
#
|
19
|
+
# Colorize tag, id/class name, and contents.
|
20
|
+
#
|
21
|
+
xml.gsub!(/(<)(\/?[A-Za-z1-9]+)/) { |tag| "#{$1}#{colorize($2, :keyword)}" }
|
22
|
+
xml.gsub!(/(id|class)="[^"]+"/i) { |id| colorize(id, :class) }
|
23
|
+
xml.gsub!(/>([^<]+)</) do |contents|
|
24
|
+
contents = colorize($1, :trueclass) if contents && !contents.empty?
|
25
|
+
">#{contents}<"
|
26
|
+
end
|
27
|
+
xml
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative '../base_formatter'
|
2
|
+
|
3
|
+
module AwesomePrint
|
4
|
+
module Formatters
|
5
|
+
class SequelDatasetFormatter < BaseFormatter
|
6
|
+
|
7
|
+
formatter_for :sequel_dataset
|
8
|
+
|
9
|
+
def self.formattable?(object)
|
10
|
+
defined?(::Sequel::Mysql2::Dataset) && object.class.ancestors.include?(::Sequel::Mysql2::Dataset)
|
11
|
+
end
|
12
|
+
|
13
|
+
def format(object)
|
14
|
+
af = Formatters::ArrayFormatter.new(@inspector)
|
15
|
+
[af.format(dataset.to_a), colorize(dataset.sql, :string)].join("\n")
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require_relative '../base_formatter'
|
2
|
+
|
3
|
+
module AwesomePrint
|
4
|
+
module Formatters
|
5
|
+
class SequelModelClassFormatter < BaseFormatter
|
6
|
+
|
7
|
+
formatter_for :sequel_model_class
|
8
|
+
|
9
|
+
def self.formattable?(object)
|
10
|
+
defined?(::Sequel::Model) && object.is_a?(Class) && object.ancestors.include?(::Sequel::Model)
|
11
|
+
end
|
12
|
+
|
13
|
+
def format(object)
|
14
|
+
data = object.db_schema.inject({}) { |h, (prop, defn)| h.merge(prop => defn[:db_type]) }
|
15
|
+
|
16
|
+
[
|
17
|
+
"class #{colorize(object.to_s, :class)}",
|
18
|
+
"< #{colorize(object.superclass.to_s, :class)}",
|
19
|
+
Formatters::HashFormatter.new(@inspector).format(data)
|
20
|
+
].join(' ')
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative '../base_formatter'
|
2
|
+
|
3
|
+
module AwesomePrint
|
4
|
+
module Formatters
|
5
|
+
class SequelModelFormatter < BaseFormatter
|
6
|
+
|
7
|
+
formatter_for :sequel_model
|
8
|
+
|
9
|
+
def self.formattable?(object)
|
10
|
+
defined?(::Sequel::Model) && object.is_a?(::Sequel::Model)
|
11
|
+
end
|
12
|
+
|
13
|
+
def format(object)
|
14
|
+
data = object.values.sort_by { |key| key.to_s }.inject({}) do |hash, c|
|
15
|
+
hash[c[0].to_sym] = c[1]
|
16
|
+
hash
|
17
|
+
end
|
18
|
+
data = { errors: object.errors, values: data } if !object.errors.empty?
|
19
|
+
hf = Formatters::HashFormatter.new(@inspector)
|
20
|
+
|
21
|
+
"#{colorize(object.to_s, :sequel)} #{hf.format(data)}"
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative '../base_formatter'
|
2
|
+
require 'date'
|
3
|
+
|
4
|
+
module AwesomePrint
|
5
|
+
module Formatters
|
6
|
+
class TimeWithZoneFormatter < BaseFormatter
|
7
|
+
|
8
|
+
formatter_for :time_with_zone
|
9
|
+
|
10
|
+
# FIXME: should date/time/datetime not become more formal core formatters
|
11
|
+
# [maybe with tz info and other more useful things]?
|
12
|
+
|
13
|
+
def self.formattable?(object)
|
14
|
+
(defined?(::ActiveSupport::TimeWithZone) && object.is_a?(::ActiveSupport::TimeWithZone)) ||
|
15
|
+
object.is_a?(::DateTime) || object.is_a?(::Time) || object.is_a?(::Date)
|
16
|
+
end
|
17
|
+
|
18
|
+
def format(object)
|
19
|
+
colorize(object.inspect, :time)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require_relative 'base_formatter'
|
2
|
+
|
3
|
+
# this handles some fallback logic to route things we don't know what they are
|
4
|
+
|
5
|
+
module AwesomePrint
|
6
|
+
module Formatters
|
7
|
+
class FallbackFormatter < BaseFormatter
|
8
|
+
|
9
|
+
formatter_for :self
|
10
|
+
|
11
|
+
def self.formattable?(object)
|
12
|
+
true
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.core?
|
16
|
+
true
|
17
|
+
end
|
18
|
+
|
19
|
+
def format(object)
|
20
|
+
if @options[:raw] && object.instance_variables.any?
|
21
|
+
Formatters::ObjectFormatter.new(@inspector).format(object)
|
22
|
+
elsif (hash = convert_to_hash(object))
|
23
|
+
Formatters::HashFormatter.new(@inspector).format(hash)
|
24
|
+
else
|
25
|
+
Formatters::SimpleFormatter.new(@inspector).format(object.inspect.to_s)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
# Utility methods.
|
33
|
+
#------------------------------------------------------------------------------
|
34
|
+
# FIXME: this could be super fixed.
|
35
|
+
#
|
36
|
+
def convert_to_hash(object)
|
37
|
+
if !object.respond_to?(:to_hash)
|
38
|
+
return nil
|
39
|
+
end
|
40
|
+
|
41
|
+
if object.method(:to_hash).arity != 0
|
42
|
+
return nil
|
43
|
+
end
|
44
|
+
|
45
|
+
hash = object.to_hash
|
46
|
+
if !hash.respond_to?(:keys) || !hash.respond_to?('[]')
|
47
|
+
return nil
|
48
|
+
end
|
49
|
+
|
50
|
+
return hash
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -5,15 +5,13 @@ module AwesomePrint
|
|
5
5
|
module Formatters
|
6
6
|
class FileFormatter < BaseFormatter
|
7
7
|
|
8
|
-
|
8
|
+
formatter_for :file
|
9
9
|
|
10
|
-
def
|
11
|
-
|
12
|
-
@inspector = inspector
|
13
|
-
@options = inspector.options
|
10
|
+
def self.formattable?(object)
|
11
|
+
object.is_a?(File)
|
14
12
|
end
|
15
13
|
|
16
|
-
def format
|
14
|
+
def format(file)
|
17
15
|
ls = File.directory?(file) ? `ls -adlF #{file.path.shellescape}` : `ls -alF #{file.path.shellescape}`
|
18
16
|
colorize(ls.empty? ? file.inspect : "#{file.inspect}\n#{ls.chop}", :file)
|
19
17
|
end
|
@@ -3,15 +3,20 @@ require_relative 'base_formatter'
|
|
3
3
|
module AwesomePrint
|
4
4
|
module Formatters
|
5
5
|
class HashFormatter < BaseFormatter
|
6
|
-
attr_reader :hash, :inspector, :options
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
attr_reader :hash
|
8
|
+
|
9
|
+
formatter_for :hash
|
10
|
+
|
11
|
+
def self.formattable?(object)
|
12
|
+
object.is_a?(Hash)
|
12
13
|
end
|
13
14
|
|
14
|
-
|
15
|
+
# INSTANCE METHODS BELOW
|
16
|
+
|
17
|
+
def format(hash)
|
18
|
+
@hash = hash
|
19
|
+
|
15
20
|
if hash.empty?
|
16
21
|
empty_hash
|
17
22
|
elsif multiline_hash?
|
@@ -73,7 +78,7 @@ module AwesomePrint
|
|
73
78
|
|
74
79
|
keys.map! do |key|
|
75
80
|
plain_single_line do
|
76
|
-
[
|
81
|
+
[inspector.awesome(key), hash[key]]
|
77
82
|
end
|
78
83
|
end
|
79
84
|
end
|
@@ -4,15 +4,17 @@ module AwesomePrint
|
|
4
4
|
module Formatters
|
5
5
|
class MethodFormatter < BaseFormatter
|
6
6
|
|
7
|
-
|
7
|
+
formatter_for :method
|
8
8
|
|
9
|
-
def
|
10
|
-
|
11
|
-
@inspector = inspector
|
12
|
-
@options = inspector.options
|
9
|
+
def self.core?
|
10
|
+
true
|
13
11
|
end
|
14
12
|
|
15
|
-
def
|
13
|
+
def self.formattable?(object)
|
14
|
+
object.is_a?(Method)
|
15
|
+
end
|
16
|
+
|
17
|
+
def format(method)
|
16
18
|
name, args, owner = method_tuple(method)
|
17
19
|
|
18
20
|
"#{colorize(owner, :class)}##{colorize(name, :method)}#{colorize(args, :args)}"
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative 'base_formatter'
|
2
|
+
|
3
|
+
module AwesomePrint
|
4
|
+
module Formatters
|
5
|
+
class ModuleFormatter < BaseFormatter
|
6
|
+
|
7
|
+
formatter_for :module
|
8
|
+
|
9
|
+
def self.formattable?(object)
|
10
|
+
object.is_a?(Module)
|
11
|
+
end
|
12
|
+
|
13
|
+
def format(object)
|
14
|
+
colorize(object.inspect, :module)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative 'simple_formatter'
|
2
|
+
|
3
|
+
module AwesomePrint
|
4
|
+
module Formatters
|
5
|
+
class NilClassFormatter < SimpleFormatter
|
6
|
+
|
7
|
+
formatter_for :nilclass
|
8
|
+
|
9
|
+
def self.formattable?(object)
|
10
|
+
object == nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def format(object)
|
14
|
+
colorize('nil', self.class.formatted_object_type)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -4,16 +4,27 @@ module AwesomePrint
|
|
4
4
|
module Formatters
|
5
5
|
class ObjectFormatter < BaseFormatter
|
6
6
|
|
7
|
-
|
7
|
+
formatter_for :object
|
8
8
|
|
9
|
-
def
|
9
|
+
def self.core?
|
10
|
+
true
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.formattable?(object)
|
14
|
+
object.is_a?(Object)
|
15
|
+
end
|
16
|
+
|
17
|
+
attr_reader :variables
|
18
|
+
|
19
|
+
def format(object)
|
10
20
|
@object = object
|
11
21
|
@variables = object.instance_variables
|
12
|
-
@inspector = inspector
|
13
|
-
@options = inspector.options
|
14
|
-
end
|
15
22
|
|
16
|
-
|
23
|
+
# special case for ENV hashes, as they are objects but hash.
|
24
|
+
if object.to_s == 'ENV' && object.respond_to?(:to_h)
|
25
|
+
return Formatters::HashFormatter.new(@inspector).format(object.to_h)
|
26
|
+
end
|
27
|
+
|
17
28
|
vars = variables.map do |var|
|
18
29
|
property = var.to_s[1..-1].to_sym # to_s because of some monkey patching done by Puppet.
|
19
30
|
accessor = if object.respond_to?(:"#{property}=")
|
@@ -22,7 +33,7 @@ module AwesomePrint
|
|
22
33
|
object.respond_to?(property) ? :reader : nil
|
23
34
|
end
|
24
35
|
if accessor
|
25
|
-
[
|
36
|
+
["attr_#{accessor} :#{property}", var]
|
26
37
|
else
|
27
38
|
[var.to_s, var]
|
28
39
|
end
|
@@ -60,8 +71,7 @@ module AwesomePrint
|
|
60
71
|
end
|
61
72
|
|
62
73
|
def awesome_instance
|
63
|
-
str =
|
64
|
-
str << object.send(options[:class_name]).to_s
|
74
|
+
str = object.send(options[:class_name]).to_s
|
65
75
|
str << ":0x%08x" % (object.__id__ * 2) if options[:object_id]
|
66
76
|
str
|
67
77
|
end
|