Sha256: f6cf2f4eb065654722cb9d815fbc45517bbc442e7882607675ba031f365a5d5f

Contents?: true

Size: 809 Bytes

Versions: 1

Compression:

Stored size: 809 Bytes

Contents

require 'puppet-strings/markdown/base'

module PuppetStrings::Markdown
  # This class encapsualtes ruby data types and puppet type aliases
  class DataType < Base
    attr_reader :alias_of
    attr_reader :functions

    def initialize(registry)
      @template = 'data_type.erb'
      super(registry, 'data type')
      @alias_of = registry[:alias_of] unless registry[:alias_of].nil?
      @functions = @registry[:functions].nil? ? nil : @registry[:functions].map { |func| DataType::Function.new(func) }
    end

    def render
      super(@template)
    end
  end

  class DataType::Function < Base
    def initialize(registry)
      super(registry, 'data_type_function')
    end

    def render
      super('data_type_function.erb')
    end

    def signature
      @registry[:signature]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
puppet-strings-2.5.0 lib/puppet-strings/markdown/data_type.rb