class Sequent::Core::Helpers::AttrMatchers::ArgumentSerializer

Public Class Methods

serialize_value(value, enclose_hash: false) click to toggle source
# File lib/sequent/core/helpers/attr_matchers/argument_serializer.rb, line 9
def serialize_value(value, enclose_hash: false)
  return value.to_s if value.respond_to?(:matches_attr?)
  return %("#{value}") if value.is_a?(String)
  return serialize_hash(value, enclose_hash: enclose_hash) if value.is_a?(Hash)

  value
end

Private Class Methods

serialize_hash(hash, enclose_hash:) click to toggle source
# File lib/sequent/core/helpers/attr_matchers/argument_serializer.rb, line 19
def serialize_hash(hash, enclose_hash:)
  serialized = hash
    .map do |(name, value)|
      "#{name}: #{serialize_value(value, enclose_hash: true)}"
    end
    .join(', ')

  return "{#{serialized}}" if enclose_hash

  serialized
end