Module: Inspectable
- Defined in:
- lib/inspectable.rb,
lib/inspectable/version.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
'0.1.0'
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
14 15 16 |
# File 'lib/inspectable.rb', line 14 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#inspect ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/inspectable.rb', line 18 def inspect return super unless respond_to?(:inspected_attrs) inspected = inspected_attrs.map do |attr_name| next if attr_name.nil? || attr_name == '' next unless respond_to?(attr_name.to_sym) '%s=%s' % [ attr_name.to_s, send(attr_name.to_sym).inspect ] end.compact.join(', ') if inspected.any? '#<%s:0x%s %s>' % [ self.class.to_s, object_id.to_s(16), inspected ] else super end end |