Sha256: 8f68323e7128f35e1d79b287ffdda6bd30db38fd76a96c7aac5dd6d9b9a5f855

Contents?: true

Size: 697 Bytes

Versions: 1

Compression:

Stored size: 697 Bytes

Contents

# frozen_string_literal: true

module ApiTester
  # Class for defining expected responses
  class Response
    attr_accessor :code
    attr_accessor :body

    def initialize(status_code: 200)
      self.code = status_code
      self.body = []
    end

    def add_field(new_field)
      body << new_field
      self
    end

    def to_s
      des = {}
      body.map do |f|
        des[f.name] = field_display f
      end
      des.to_json
    end

    def field_display(field)
      des = field.display_class
      if field.subfields?
        des = {}
        field.fields.map do |f|
          des[f.name] = field_display f
        end
        des.to_json
      end
      des
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
api-tester-1.1.1 lib/api-tester/definition/response.rb