Sha256: aabeef1da3fc160794a26ca6a2c943bbd8cc41ef17baa377966b3431a4e98c4d

Contents?: true

Size: 892 Bytes

Versions: 3

Compression:

Stored size: 892 Bytes

Contents

# encoding: UTF-8
require 'hashie'
require_relative './array_of'

#
# A class to model headers in payloads.
# @author:: Nayyara Samuel (mailto: nayyara.samuel@opower.com)
#
module MockServer::Model
  # A class that only stores strings
  class Strings < ArrayOf
    def child_class
      String
    end
  end

  # Model for header
  class Header < Hashie::Dash
    include Hashie::Extensions::MethodAccess
    include Hashie::Extensions::IgnoreUndeclared
    include Hashie::Extensions::Coercion

    property :name, required: true
    property :values, default: Strings.new([])

    coerce_key :name, String
    coerce_key :values, Strings
  end

  # A collection that only stores headers
  class Headers < ArrayOf
    def child_class
      Header
    end
  end

  # DSL methods for header
  module DSL
    def header(key, *value)
      Header.new(name: key, values: value)
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
flipp-mockserver-client-0.1.0 lib/mockserver/model/header.rb
mockserver-client-1.0.8.pre lib/mockserver/model/header.rb
mockserver-client-1.0.7 lib/mockserver/model/header.rb