Module: TDL::PresentationUtil
- Defined in:
- lib/tdl/audit/presentation_utils.rb
Class Method Summary collapse
- .list_like?(value) ⇒ Boolean
- .multiline_string?(value) ⇒ Boolean
- .serialize_and_compress(value) ⇒ Object
- .suppress_extra_lines(value) ⇒ Object
- .to_displayable_request(params) ⇒ Object
- .to_displayable_response(value) ⇒ Object
Class Method Details
.list_like?(value) ⇒ Boolean
27 28 29 |
# File 'lib/tdl/audit/presentation_utils.rb', line 27 def self.list_like?(value) value.is_a?(Array) end |
.multiline_string?(value) ⇒ Boolean
31 32 33 |
# File 'lib/tdl/audit/presentation_utils.rb', line 31 def self.multiline_string?(value) value.include?("\\n") end |
.serialize_and_compress(value) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/tdl/audit/presentation_utils.rb', line 15 def self.serialize_and_compress(value) representation = JSON.generate(value, quirks_mode: true) if list_like?(value) representation = representation.gsub(',', ', ') elsif multiline_string?(representation) representation = suppress_extra_lines(representation) end representation end |
.suppress_extra_lines(value) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/tdl/audit/presentation_utils.rb', line 35 def self.suppress_extra_lines(value) return value.to_s unless value.is_a?(String) parts = value.split("\\n") top_line = parts[0] remaining_lines = parts.size - 1 representation = "#{top_line} .. ( #{remaining_lines} more line" representation += "s" if remaining_lines > 1 representation += " )\"" representation end |
.to_displayable_request(params) ⇒ Object
4 5 6 7 8 |
# File 'lib/tdl/audit/presentation_utils.rb', line 4 def self.to_displayable_request(params) return params.map{ |param| TDL::PresentationUtil.serialize_and_compress(param) }.join(', ') end |
.to_displayable_response(value) ⇒ Object
10 11 12 |
# File 'lib/tdl/audit/presentation_utils.rb', line 10 def self.to_displayable_response(value) return TDL::PresentationUtil.serialize_and_compress(value) end |