Sha256: 38ce34949f8cdc2bb89aad6c58f6c4a2ba034d3d504b6d0b3da83229ad2c7186

Contents?: true

Size: 662 Bytes

Versions: 71

Compression:

Stored size: 662 Bytes

Contents

# frozen_string_literal: true
require 'active_support/core_ext/hash/keys'
require 'yaml'

class Array
  def deep_stringify_keys
    each_with_object([]) do |value, accum|
      if value.is_a?(Hash) || value.is_a?(Array)
        new_val = value.deep_stringify_keys
        accum.push new_val
      else
        accum.push value
      end
      accum
    end
  end
end

module Dato
  module Dump
    module Format
      module Yaml
        def self.dump(value)
          YAML.dump(value.deep_stringify_keys).chomp.gsub(/^\-+\n/, '')
        end

        def self.frontmatter_dump(value)
          "---\n#{dump(value)}\n---"
        end
      end
    end
  end
end

Version data entries

71 entries across 71 versions & 1 rubygems

Version Path
dato-0.1.23 lib/dato/dump/format/yaml.rb
dato-0.1.22 lib/dato/dump/format/yaml.rb
dato-0.1.21 lib/dato/dump/format/yaml.rb
dato-0.1.20 lib/dato/dump/format/yaml.rb
dato-0.1.19 lib/dato/dump/format/yaml.rb
dato-0.1.18 lib/dato/dump/format/yaml.rb
dato-0.1.17 lib/dato/dump/format/yaml.rb
dato-0.1.16 lib/dato/dump/format/yaml.rb
dato-0.1.15 lib/dato/dump/format/yaml.rb
dato-0.1.14 lib/dato/dump/format/yaml.rb
dato-0.1.13 lib/dato/dump/format/yaml.rb