Sha256: 8cd9c52e929b5a87a7062867b888cafe7984be736bd25b25ad51f3081b2198c5

Contents?: true

Size: 657 Bytes

Versions: 9

Compression:

Stored size: 657 Bytes

Contents

require 'yaml'

module  Cfnlego
  class Resource
    attr_reader :type, :name

    def initialize(type, name)
      @type = type
      @name = name 
    end

    def attributes
      definition["AWS::#{@type}"]["Attributes"]
    end

    def properties
      definition["AWS::#{@type}"]['Properties']
    end

    private

    # example AutoScaling::AutoScalingGroup
    def type2file
      @file ||= "#{File.realpath(File.dirname(__FILE__))}/resources/#{@type.gsub(/::/, "/")}.yaml"
    end

    def definition
      @definition ||= YAML.load_file(type2file)
    rescue
      $stderr.puts "unknown #{@type}, no matching definition found"
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
cfnlego-0.1.1 lib/cfnlego/resource.rb
cfnlego-0.1.0 lib/cfnlego/resource.rb
cfnlego-0.0.9 lib/cfnlego/resource.rb
cfnlego-0.0.8 lib/cfnlego/resource.rb
cfnlego-0.0.6 lib/cfnlego/resource.rb
cfnlego-0.0.5 lib/cfnlego/resource.rb
cfnlego-0.0.4 lib/cfnlego/resource.rb
cfnlego-0.0.3 lib/cfnlego/resource.rb
cfnlego-0.0.2 lib/cfnlego/resource.rb