Sha256: e2e48f1401c35055729f9c53a3342eea40d5577342dafb0e5fbe3f018877594c

Contents?: true

Size: 848 Bytes

Versions: 2

Compression:

Stored size: 848 Bytes

Contents

# frozen_string_literal: true

module ApiTester
  # Class for defining expected responses
  class Response
    attr_accessor :code, :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|
        if f.has_key
          des[f.name] = field_display f
        else
          des = field_display f
        end
      end
      des.to_json
    end

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
api-tester-1.1.3 lib/api-tester/definition/response.rb
api-tester-1.1.2 lib/api-tester/definition/response.rb