Sha256: 648c803601f8ff97c6b6fa0aea533db946e322c433beeaf821cde4c6f574d760

Contents?: true

Size: 617 Bytes

Versions: 45

Compression:

Stored size: 617 Bytes

Contents

require 'yaml'
require 'pact_broker/client/generate_display_name'

module PactBroker
  module Client
    class DescribeTextFormatter
      extend GenerateDisplayName

      def self.call(properties)
        YAML.dump(displayify_keys(properties)).gsub("---\n", "")
      end

      def self.displayify_keys(thing)
        case thing
        when Hash then thing.each_with_object({}) { | (key, value), new_hash | new_hash[generate_display_name(key)] = displayify_keys(value) }
        when Array then thing.collect{ | value | displayify_keys(value) }
        else
          thing
        end
      end
    end
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
pact_broker-client-1.47.1 lib/pact_broker/client/describe_text_formatter.rb
pact_broker-client-1.47.0 lib/pact_broker/client/describe_text_formatter.rb
pact_broker-client-1.46.0 lib/pact_broker/client/describe_text_formatter.rb
pact_broker-client-1.45.0 lib/pact_broker/client/describe_text_formatter.rb
pact_broker-client-1.44.0 lib/pact_broker/client/describe_text_formatter.rb