Module: Minecraft::JSONAPI

Defined in:
lib/minecraft-jsonapi.rb,
lib/minecraft-jsonapi/jsonapi.rb,
lib/minecraft-jsonapi/version.rb,
lib/minecraft-jsonapi/response.rb,
lib/minecraft-jsonapi/namespace.rb

Defined Under Namespace

Classes: JSONAPI, Namespace, Response

Constant Summary collapse

CALL_URL =
'http://%{host}:%{port}/api/call?method=%{method}&args=%{args}&key=%{key}'
CALL_MULTIPLE_URL =
'http://%{host}:%{port}/api/call-multiple?method=%{method}&args=%{args}&key=%{key}'
VERSION =
'0.0.9'

Class Method Summary collapse

Class Method Details

.get_raw_response(url) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'lib/minecraft-jsonapi.rb', line 24

def self.get_raw_response(url)
	uri = URI.parse(url)

	http = Net::HTTP.new(uri.host, uri.port)
	http.open_timeout = 10
	http.read_timeout = 10
	response = http.request(Net::HTTP::Get.new(uri.request_uri))

	Minecraft::JSONAPI::Response.new(response.body)
end

.map_to_array(arguments) ⇒ Object

Wrap arguments in an array if they’re not already an array or hash Converts nil to [], “” to [“”], “Username” to [“Username”], etc.



37
38
39
40
41
42
43
44
45
# File 'lib/minecraft-jsonapi.rb', line 37

def self.map_to_array(arguments)
	if arguments.nil?
		[]
	elsif arguments.is_a?(Array) || arguments.is_a?(Hash)
		arguments
	else
		[arguments]
	end
end

.new(options = {}) ⇒ Object

Shortcut to Minecraft::JSONAPI::JSONAPI.new



16
17
18
# File 'lib/minecraft-jsonapi.rb', line 16

def self.new(options = {})
	Minecraft::JSONAPI::JSONAPI.new options
end

.send_request(url) ⇒ Object



20
21
22
# File 'lib/minecraft-jsonapi.rb', line 20

def self.send_request(url)
	get_raw_response(url).response
end

.url_encoded_json(data) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/minecraft-jsonapi.rb', line 47

def self.url_encoded_json(data)
	begin
		URI.escape JSON.generate data
	rescue JSON::GeneratorError
		URI.escape data
	end
end