Sha256: 3599bfb80cad4aab19663b4c6c500d39d588c538c51e18f2e0f16436c77cf1cb

Contents?: true

Size: 994 Bytes

Versions: 12

Compression:

Stored size: 994 Bytes

Contents

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

#
# A class to model parameters 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 parameter
  class Parameter < 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 parameters
  class Parameters < ArrayOf
    def child_class
      Parameter
    end
  end

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

    alias_method :cookie, :parameter
    alias_method :header, :parameter
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

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