Sha256: 084f32425083ebcc1f30179645755d22b9c0a900bdac9063007978eddcd0b285

Contents?: true

Size: 1.31 KB

Versions: 11

Compression:

Stored size: 1.31 KB

Contents

module Aws
  module Resources
    module Validator
      class Context

        # @option options [required, String] :path
        # @option options [required, Object] :value
        # @option options [required, Hash] :definition
        # @option options [required, Hash] :api
        # @option options [required, MatchData] :matches
        def initialize(options = {})
          [:path, :value, :definition, :api, :matches].each do |opt|
            if options.key?(opt)
              instance_variable_set("@#{opt}", options[opt])
            else
              raise ArgumentError, "missing required option :#{opt}"
            end
          end
          @errors = []
        end

        # @return [String]
        attr_reader :path

        # @return [Object]
        attr_reader :value

        # @return [Hash]
        attr_reader :definition

        # @return [Hash]
        attr_reader :api

        # @return [MatchData]
        attr_reader :matches

        # @return [Array<String>]
        attr_reader :errors

        def error(msg)
          @errors << msg
          false
        end

        def resource
          definition['resources'][matches[1]]
        end

        def resource_name
          matches[1]
        end

        def shape(name)
          api['shapes'][name]
        end

      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
aws-sdk-resources-2.0.10.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.9.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.8.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.7.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.6.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.5.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.4.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.3.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.2.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.1.pre lib/aws-sdk-resources/validator/context.rb
aws-sdk-resources-2.0.0.pre lib/aws-sdk-resources/validator/context.rb