Module: Zygote

Defined in:
lib/zygote/version.rb,
lib/zygote/test.rb

Overview

Namespace for our gem

Defined Under Namespace

Modules: MemorySpec, TestConfig, ZygoteSpec

Constant Summary collapse

VERSION =
'0.2.7'.freeze

Instance Method Summary collapse

Instance Method Details

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

Returns EventMachine::HttpClient



66
67
68
69
# File 'lib/zygote/test.rb', line 66

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



60
61
62
63
# File 'lib/zygote/test.rb', line 60

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



53
54
55
56
57
# File 'lib/zygote/test.rb', line 53

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



76
77
78
79
# File 'lib/zygote/test.rb', line 76

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

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

Returns EventMachine::HttpClient



72
73
74
# File 'lib/zygote/test.rb', line 72

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