Sha256: 38cfed5c98bd6b75f29f7b7e85aeb631e5f574b26fff27d50ca7ab26065ccf57

Contents?: true

Size: 1.14 KB

Versions: 51

Compression:

Stored size: 1.14 KB

Contents

module Aws
  class EmptyStructure < Structure

    def self.new
      super([])
    end

    def ==(other)
      other.is_a?(EmptyStructure)
    end

    def [](member_name)
      raise NameError, "no member '#{member_name}' in struct"
    end

    def []=(member_name, value)
      raise NameError, "no member '#{member_name}' in struct"
    end

    def each(&block)
      unless block_given?
        [].to_enum
      end
    end

    def each_pair(&block)
      unless block_given?
        {}.to_enum
      end
    end

    def eql?(other)
      other.is_a?(EmptyStructure)
    end

    # @api private
    def inspect
      '#<struct>'
    end

    # @api private
    def pretty_print(q)
      q.text(inspect)
    end

    def length
      0
    end

    def members
      []
    end

    def select(&block)
      []
    end

    def size
      0
    end

    def to_a
      []
    end

    def to_h
      {}
    end

    def values
      []
    end

    def values_at(*selector)
      if selector.empty?
        []
      else
        offset = selector.first
        raise IndexError, "offset #{offset} too large for struct(size:0)"
      end
    end

  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
aws-sdk-core-2.0.48 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.47 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.46 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.45 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.44 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.43 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.42 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.41 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.40 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.39 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.38 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.37 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.36 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.35 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.34 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.33 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.32 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.31 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.30 lib/aws-sdk-core/empty_structure.rb
aws-sdk-core-2.0.29 lib/aws-sdk-core/empty_structure.rb