Sha256: c2d5f60066fc8892011fedcb4939a68bf034fbf69cd79246fa4c802b5d006019

Contents?: true

Size: 898 Bytes

Versions: 15

Compression:

Stored size: 898 Bytes

Contents

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

#
# A class to model a forwarding on a request.
# @author:: Nayyara Samuel (mailto: nayyara.samuel@opower.com)
#
module MockServer::Model
  # Enum for a scheme used in a forward request
  class Scheme < SymbolizedEnum
    def allowed_values
      [:HTTP, :HTTPS]
    end
  end

  # Model for forwarding
  class Forward < Hashie::Dash
    include Hashie::Extensions::MethodAccess
    include Hashie::Extensions::IgnoreUndeclared
    include Hashie::Extensions::Coercion

    property :host, default: 'localhost'
    property :port, default: 80
    property :scheme, default: 'HTTP'

    coerce_key :host, String
    coerce_key :scheme, Scheme
  end

  # DSL methods for forward
  module DSL
    def forward(&_)
      obj = Forward.new
      yield obj if block_given?
      obj
    end

    alias_method :http_forward, :forward
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
flipp-mockserver-client-0.1.0 lib/mockserver/model/forward.rb
mockserver-client-1.0.8.pre lib/mockserver/model/forward.rb
mockserver-client-1.0.7 lib/mockserver/model/forward.rb
mockserver-client-1.0.7.pre lib/mockserver/model/forward.rb
mockserver-client-1.0.6 lib/mockserver/model/forward.rb
mockserver-client-1.0.6.pre lib/mockserver/model/forward.rb
mockserver-client-1.0.4 lib/mockserver/model/forward.rb
mockserver-client-1.0.3 lib/mockserver/model/forward.rb
mockserver-client-1.0.2.pre lib/mockserver/model/forward.rb
mockserver-client-1.0.1.pre lib/mockserver/model/forward.rb
mockserver-client-1.0.1 lib/mockserver/model/forward.rb
mockserver-client-1.0.0 lib/mockserver/model/forward.rb
mockserver-client-1.0.0.pre lib/mockserver/model/forward.rb
mockserver-client-0.0.3 lib/mockserver/model/forward.rb
mockserver-client-0.0.1 lib/mockserver/model/forward.rb