Module: TsJsonApi::Requestor::PrivateMethods::ClassMethods
- Defined in:
- lib/ts_json_api/requestor/private_methods.rb
Instance Method Summary collapse
- #api ⇒ Object
- #api_version(partial_url) ⇒ Object
- #log(path, url, str) ⇒ Object
- #perfom_request(partial_url) ⇒ Object
- #send_json_request_and_deliver_response(path, partial_url) ⇒ Object
Instance Method Details
#api ⇒ Object
22 23 24 |
# File 'lib/ts_json_api/requestor/private_methods.rb', line 22 def api @@api ||= RestClient::Resource.new(Configure.server_url, user: Configure.username, password: Configure.password, timeout: 20) end |
#api_version(partial_url) ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/ts_json_api/requestor/private_methods.rb', line 53 def api_version(partial_url) if Configure.api_version.respond_to?(:call) Configure.api_version.call(partial_url) else Configure.api_version end end |
#log(path, url, str) ⇒ Object
48 49 50 51 |
# File 'lib/ts_json_api/requestor/private_methods.rb', line 48 def log(path, url, str) f = Logging::File.new(relative_path: path, url: url) f.write str end |
#perfom_request(partial_url) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/ts_json_api/requestor/private_methods.rb', line 26 def perfom_request(partial_url) begin api[partial_url].get accept: "application/json;version=#{api_version(partial_url)}" rescue RestClient::Exceptions::EXCEPTIONS_MAP[400] => e raise ApiLimitExceededException.new exception: e rescue RestClient::Exceptions::EXCEPTIONS_MAP[404] => e raise ResourceNotFound.new exception: e rescue RestClient::ServerBrokeConnection, Errno::ECONNRESET => e raise ServerBrokeConnection.new exception: e rescue RestClient::Exceptions::EXCEPTIONS_MAP[401] => e raise AccessTokenRefused.new exception: e rescue RestClient::Exception => e raise Exception.new exception: e end end |
#send_json_request_and_deliver_response(path, partial_url) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/ts_json_api/requestor/private_methods.rb', line 9 def send_json_request_and_deliver_response(path, partial_url) url = "#{Configure.server_url}#{partial_url}" response = perfom_request(partial_url) json = response.to_str json.gsub!(/[^\x20-\x7e]/,'') json.gsub! 'NaN', '"NaN"' log(path, url, json) JSON.parse(json) end |