class Mountebank::Stub

Attributes

predicates[R]
responses[R]

Public Class Methods

create(responses=[], predicates=[]) click to toggle source
# File lib/mountebank/stub.rb, line 8
def self.create(responses=[], predicates=[])
  data = {
    :responses => responses,
    :predicates => predicates
  }
  new(data)
end
new(data={}) click to toggle source
# File lib/mountebank/stub.rb, line 4
def initialize(data={})
  set_attributes(data)
end

Public Instance Methods

to_json(*args) click to toggle source
# File lib/mountebank/stub.rb, line 16
def to_json(*args)
  data = {}
  data[:responses] = @responses unless @responses.empty?
  data[:predicates] = @predicates unless @predicates.empty?
  data.to_json(*args)
end

Private Instance Methods

set_attributes(data={}) click to toggle source
# File lib/mountebank/stub.rb, line 25
def set_attributes(data={})
  @responses, @predicates = [], []

  if data[:responses]
    data[:responses].each do |response|
      unless response.is_a? Mountebank::Stub::Response
        response = Mountebank::Stub::Response.new(response)
      end
      @responses << response
    end
  end

  if data[:predicates]
    data[:predicates].each do |predicate|
      unless predicate.is_a? Mountebank::Stub::Predicate
        predicate = Mountebank::Stub::Predicate.new(predicate)
      end
      @predicates << predicate
    end
  end
end