Sha256: 6156906742af0fbc8f18ac70c3a484d72a9e2d2de9f74129dd8a7a85a3f6b9c0

Contents?: true

Size: 543 Bytes

Versions: 9

Compression:

Stored size: 543 Bytes

Contents

require 'randexp'

module Pact
  module Reification

    def self.from_term(term)
      case
      when term.respond_to?(:generate)
        term.generate
      when term.is_a?(Hash)
        term.inject({}) do |mem, (key,term)|
          mem[key] = from_term(term)
        mem
        end
      when term.is_a?(Array)
        term.inject([]) do |mem, term|
          mem << from_term(term)
          mem
        end
      when term.is_a?(Pact::Request::Base)
        from_term(term.to_hash)
      else
        term
      end
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pact-1.3.2 lib/pact/reification.rb
pact-1.3.1 lib/pact/reification.rb
pact-1.3.0 lib/pact/reification.rb
pact-1.2.1.rc2 lib/pact/reification.rb
pact-1.2.1.rc1 lib/pact/reification.rb
pact-1.1.1 lib/pact/reification.rb
pact-1.1.0 lib/pact/reification.rb
pact-1.1.0.rc5 lib/pact/reification.rb
pact-1.1.0.rc4 lib/pact/reification.rb