Module: SReq

Extended by:
SReq
Included in:
SReq
Defined in:
lib/sreq.rb

Instance Method Summary collapse

Instance Method Details

#create_url(base, added, path_params = []) ⇒ Object

Example: >> SReq::create_url(“cardanoscan.io/”, “/transaction/{id}/”, [“name”, “age”])

>



11
12
13
14
15
16
17
18
19
# File 'lib/sreq.rb', line 11

def create_url(base, added, path_params = [])
	url = trim(base, "/") + "/" + trim(added, "/")
	return url if path_params.empty?
	url = url + "?"
	path_params.each do |name|
		url += "#{name}={{#{name}}}&"
	end
	trim(url, "&")
end

#GET(url, data = {}) ⇒ Object



21
22
23
24
25
26
# File 'lib/sreq.rb', line 21

def GET(url, data = {})
	url = fill_url_data(url, data)
	puts "making request: #{url}"
	uri = URI(url)
	Net::HTTP.get_response(uri)
end

#POST(url, data = {}) ⇒ Object



28
29
30
31
32
33
# File 'lib/sreq.rb', line 28

def POST(url, data = {})
	url = fill_url_data(url, data)
	puts "making request: #{url} with data: #{data}"
	uri = URI(url)
	Net::HTTP.post_form(uri, data)
end

#testObject



35
36
37
38
39
40
41
42
43
44
45
# File 'lib/sreq.rb', line 35

def test
	base_url = "https://cardanoscan.io/".freeze
	generated_url = SReq::create_url(base_url, "transaction/{{id}}", ["name", "age"]).freeze
	expected_url = "https://cardanoscan.io/transaction/{{id}}?name={{name}}&age={{age}}"
	raise "Output: #{generated_url}, Expected: #{expected_url}" unless generated_url == expected_url
	data = {"id" => "0x123", "age" => 23, "name" => "Oswald"}
	filled_url = fill_url_data(generated_url, data)
	expected_url = "https://cardanoscan.io/transaction/#{data["id"]}?name=#{data["name"]}&age=#{data["age"]}"
	raise "Output: #{filled_url}, Expected: #{expected_url}" unless filled_url == expected_url
	puts "Test succeeded generating: #{expected_url}"
end