Sha256: 24678dbb323e59ead3ea0b09f87d40cba2446f9b0ef6386419fa8b93e7c9c213

Contents?: true

Size: 572 Bytes

Versions: 9

Compression:

Stored size: 572 Bytes

Contents

require_relative '../../output/text_adaptor'

module Vedeu
  class HashParser
    def self.parse(output = {})
      new(output).parse
    end

    def initialize(output = {})
      @output = output
    end

    def parse
      { interfaces: interfaces }
    end

    private

    attr_reader :output

    def interfaces
      stringified_keys.map do |name, content|
        {
          name:  name,
          lines: TextAdaptor.adapt(content)
        }
      end
    end

    def stringified_keys
      output.inject({}) { |a, (k, v)| a[k.to_s] = v; a }
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
vedeu-0.0.36 lib/vedeu/support/parsing/hash_parser.rb
vedeu-0.0.35 lib/vedeu/support/parsing/hash_parser.rb
vedeu-0.0.34 lib/vedeu/support/parsing/hash_parser.rb
vedeu-0.0.33 lib/vedeu/support/parsing/hash_parser.rb
vedeu-0.0.32 lib/vedeu/support/parsing/hash_parser.rb
vedeu-0.0.31 lib/vedeu/support/parsing/hash_parser.rb
vedeu-0.0.30 lib/vedeu/support/parsing/hash_parser.rb
vedeu-0.0.29 lib/vedeu/support/parsing/hash_parser.rb
vedeu-0.0.28 lib/vedeu/support/parsing/hash_parser.rb