Module: Tablesalt::StringableObject
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/tablesalt/stringable_object.rb
Instance Method Summary collapse
- #attribute_string(method) ⇒ Object private
- #inspect ⇒ Object
- #safe_send(method) ⇒ Object private
- #string_for(method) ⇒ Object private
- #stringable_attribute_values ⇒ Object private
- #stringable_attributes ⇒ Object private
- #to_s ⇒ Object
Instance Method Details
#attribute_string(method) ⇒ Object (private)
27 28 29 |
# File 'lib/tablesalt/stringable_object.rb', line 27 def attribute_string(method) stringable_attribute_values.map { |attribute, value| "#{attribute}=#{value.public_send(method)}" }.join(" ") end |
#inspect ⇒ Object
13 14 15 |
# File 'lib/tablesalt/stringable_object.rb', line 13 def inspect string_for(__method__) end |
#safe_send(method) ⇒ Object (private)
35 36 37 38 39 |
# File 'lib/tablesalt/stringable_object.rb', line 35 def safe_send(method) public_send(method) rescue StandardError nil end |
#string_for(method) ⇒ Object (private)
23 24 25 |
# File 'lib/tablesalt/stringable_object.rb', line 23 def string_for(method) "#<#{self.class.name}#{" #{attribute_string(method)}" unless stringable_attributes.empty?}>" end |
#stringable_attribute_values ⇒ Object (private)
31 32 33 |
# File 'lib/tablesalt/stringable_object.rb', line 31 def stringable_attribute_values stringable_attributes.each_with_object({}) { |attribute, result| result[attribute] = safe_send(attribute) } end |
#stringable_attributes ⇒ Object (private)
19 20 21 |
# File 'lib/tablesalt/stringable_object.rb', line 19 def stringable_attributes [] end |
#to_s ⇒ Object
9 10 11 |
# File 'lib/tablesalt/stringable_object.rb', line 9 def to_s string_for(__method__) end |