Module: Zygote

Defined in:
lib/zygote/http.rb,
lib/zygote/test.rb,
lib/zygote/memory.rb,
lib/zygote/server.rb,
lib/zygote/version.rb,
lib/zygote/cell_queue.rb,
lib/zygote/identifier.rb

Overview

Namespace for our gem

Defined Under Namespace

Modules: CellQueue, Memory, MemorySpec, TestConfig, ZygoteSpec Classes: CellQueueEntry, Identifier, Server, Web

Constant Summary collapse

VERSION =
'0.2.15'.freeze

Instance Method Summary collapse

Instance Method Details

#delete(uri, params = {}) ⇒ Object

Returns EventMachine::HttpClient



68
69
70
71
# File 'lib/zygote/test.rb', line 68

def delete(uri, params = {})
  uriq = "#{uri}#{parameterize(params)}"
  EM::Synchrony.sync(EventMachine::HttpRequest.new(File.join("http://127.0.0.1:#{TestConfig.port}/", uriq)).adelete(query: params))
end

#get(uri, params = {}) ⇒ Object

Returns EventMachine::HttpClient



62
63
64
65
# File 'lib/zygote/test.rb', line 62

def get(uri, params = {})
  uriq = "#{uri}#{parameterize(params)}"
  EM::Synchrony.sync(EventMachine::HttpRequest.new(File.join("http://127.0.0.1:#{TestConfig.port}/", uriq)).aget(query: params))
end

#match_fixture(name, actual) ⇒ Object



55
56
57
58
59
# File 'lib/zygote/test.rb', line 55

def match_fixture(name, actual)
  path = File.join(TestConfig.fixtures, 'data', "#{name}.txt")
  File.open(path, 'w') { |f| f.write(actual) } if ENV['FIXTURE_RECORD']
  expect(actual).to eq(File.read(path))
end

#parameterize(params) ⇒ Object



78
79
80
81
# File 'lib/zygote/test.rb', line 78

def parameterize(params)
  q = params.to_query
  q.empty? ? '' : "?#{q}"
end

#post(uri, params = {}) ⇒ Object

Returns EventMachine::HttpClient



74
75
76
# File 'lib/zygote/test.rb', line 74

def post(uri, params = {})
  EM::Synchrony.sync(EventMachine::HttpRequest.new("http://127.0.0.1:#{TestConfig.port}/#{uri}").apost(body: JSON.dump(params), head: { 'Content-Type' => 'application/json' }))
end