class Rodzilla::Resource::Base
Attributes
base_url[RW]
format[RW]
password[RW]
service[RW]
username[RW]
Public Class Methods
new(base_url, username, password, format=:json)
click to toggle source
# File lib/rodzilla/resource/base.rb, line 6 def initialize(base_url, username, password, format=:json) @base_url = base_url @username = username @password = password @format = format setup_service(format) end
Public Instance Methods
raw_http_request(http_method, url, options={})
click to toggle source
Makes a GET request to the service endpoint and checks if the return status is 200
# File lib/rodzilla/resource/base.rb, line 21 def raw_http_request(http_method, url, options={}) @service.send_raw_request(http_method, url, options) end
rpc_call(rpc_method_name, params={}, http_method=:post)
click to toggle source
# File lib/rodzilla/resource/base.rb, line 15 def rpc_call(rpc_method_name, params={}, http_method=:post) service.send_request!( get_resource_rpc_method_name(rpc_method_name), params, http_method) end
Protected Instance Methods
check_params(required=[], actual)
click to toggle source
# File lib/rodzilla/resource/base.rb, line 46 def check_params(required=[], actual) if actual.is_a?(Hash) (required - actual.keys).length == 0 else (required - actual).length == 0 end end
get_resource_rpc_method_name(rpc_method_name)
click to toggle source
# File lib/rodzilla/resource/base.rb, line 27 def get_resource_rpc_method_name(rpc_method_name) [Rodzilla::Util.demodulize(self.class), rpc_method_name.to_s].join('.') end
set_endpoint_url(format)
click to toggle source
# File lib/rodzilla/resource/base.rb, line 39 def set_endpoint_url(format) case format when :json File.join(@base_url, 'jsonrpc.cgi') end end
setup_service(format)
click to toggle source
# File lib/rodzilla/resource/base.rb, line 31 def setup_service(format) case format when :json @endpoint_url = set_endpoint_url(:json) @service = Rodzilla::JsonRpc::Service.new(@endpoint_url, @username, @password) end end