class Ofsys::Request::Base
Constants
- ENDPOINT_BASE
Public Class Methods
new(config = Ofsys.config)
click to toggle source
# File lib/ofsys/request/base.rb, line 12 def initialize(config = Ofsys.config) @id_key = config.id_key @key = config.key @id_project = config.id_project end
suppress_id_project()
click to toggle source
# File lib/ofsys/request/base.rb, line 8 def self.suppress_id_project @suppress_id_project = true end
Public Instance Methods
perform(params = {})
click to toggle source
# File lib/ofsys/request/base.rb, line 18 def perform(params = {}) request.body = body(params) result_body = http.request(request).body decode_result(result_body) end
Private Instance Methods
body(source_params)
click to toggle source
# File lib/ofsys/request/base.rb, line 46 def body(source_params) params = merge_auth(source_params) params.merge!(idProject: @id_project) unless suppress_id_project? to_json(params) end
build_http()
click to toggle source
# File lib/ofsys/request/base.rb, line 40 def build_http Net::HTTP.new(uri.host, uri.port).tap do |http| http.use_ssl = true end end
decode_result(body)
click to toggle source
# File lib/ofsys/request/base.rb, line 73 def decode_result(body) result = to_hash(body) fail FailedError.new(body) unless result['Success'] result end
http()
click to toggle source
# File lib/ofsys/request/base.rb, line 36 def http @http ||= build_http end
merge_auth(source_params)
click to toggle source
# File lib/ofsys/request/base.rb, line 60 def merge_auth(source_params) source_params.merge!( AuthKey: { Key: @key, idKey: @id_key } ) end
request()
click to toggle source
# File lib/ofsys/request/base.rb, line 28 def request @request ||= Net::HTTP::Post.new(uri.request_uri) end
suppress_id_project?()
click to toggle source
# File lib/ofsys/request/base.rb, line 69 def suppress_id_project? self.class.instance_variable_get(:@suppress_id_project) || false end
to_hash(text)
click to toggle source
# File lib/ofsys/request/base.rb, line 56 def to_hash(text) ::Yajl::Parser.parse(text) end
to_json(hash)
click to toggle source
# File lib/ofsys/request/base.rb, line 52 def to_json(hash) ::Yajl::Encoder.encode(hash) end
uri()
click to toggle source
# File lib/ofsys/request/base.rb, line 32 def uri @uri ||= URI.parse(self.class::ENDPOINT) end