Sha256: 5c9569425be314357828f1b5fb0db635328fdc5b6a093870a4a5d0e4c1991ea4
Contents?: true
Size: 976 Bytes
Versions: 3
Compression:
Stored size: 976 Bytes
Contents
# frozen_string_literal: true module Coactive module Contexts module Inspect extend ActiveSupport::Concern def to_s "#<#{self.class} #{self.class.inspect(@_data)}>" end class_methods do def inspect(data) data.map { |k, v| "#{k}=#{Coactive::Contexts::Inspect.call(v)}" }.join(', ') end end class << self class_attribute :max_num, :max_length self.max_num = 5 self.max_length = 300 def call(data) if data.is_a?(Array) str = data.take(max_num).map { |v| call(v) }.join(', ') str += '...' if data.size > max_num "[#{str}]" elsif data.is_a?(Hash) str = data.take(max_num).map { |k, v| "#{k}: #{call(v)}" }.join(', ') str += '...' if data.size > max_num "{#{str}}" else data.to_s.truncate(max_length) end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
coactive-0.4.1 | lib/coactive/contexts/inspect.rb |
coactive-0.4.0 | lib/coactive/contexts/inspect.rb |
coactive-0.3.0 | lib/coactive/contexts/inspect.rb |