Module: ForemanPatch::Ticket::API
- Included in:
- AffectedItems, ChangeRequest
- Defined in:
- app/services/foreman_patch/ticket/api.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Instance Method Summary collapse
- #create_request(method, path, params = {}, payload = nil) ⇒ Object
- #delete(path) ⇒ Object
- #get(path, params = {}) ⇒ Object
- #host ⇒ Object
- #post(path, payload, params = {}) ⇒ Object
- #proxy ⇒ Object
- #put(path, payload, params = {}) ⇒ Object
- #response ⇒ Object
- #send_request ⇒ Object
- #url ⇒ Object
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
4 5 6 |
# File 'app/services/foreman_patch/ticket/api.rb', line 4 def request @request end |
Instance Method Details
#create_request(method, path, params = {}, payload = nil) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'app/services/foreman_patch/ticket/api.rb', line 40 def create_request(method, path, params = {}, payload = nil) @response = nil args = { method: method, url: URI.join(Setting[:ticket_api_host], path).to_s, headers: { accept: :json, content_type: :json, params: params, }, user: Setting[:ticket_api_user], password: Setting[:ticket_api_password], } args[:payload] = payload.to_json unless payload.nil? args[:proxy] = proxy @request = RestClient::Request.new(args) end |
#delete(path) ⇒ Object
36 37 38 |
# File 'app/services/foreman_patch/ticket/api.rb', line 36 def delete(path) create_request(:delete, path) end |
#get(path, params = {}) ⇒ Object
24 25 26 |
# File 'app/services/foreman_patch/ticket/api.rb', line 24 def get(path, params = {}) create_request(:get, path, params) end |
#host ⇒ Object
6 7 8 |
# File 'app/services/foreman_patch/ticket/api.rb', line 6 def host Setting[:ticket_api_host] end |
#post(path, payload, params = {}) ⇒ Object
28 29 30 |
# File 'app/services/foreman_patch/ticket/api.rb', line 28 def post(path, payload, params = {}) create_request(:post, path, params, payload) end |
#proxy ⇒ Object
18 19 20 21 22 |
# File 'app/services/foreman_patch/ticket/api.rb', line 18 def proxy return nil if Setting[:ticket_api_proxy].blank? HttpProxy.friendly.find(Setting[:ticket_api_proxy])&.url end |
#put(path, payload, params = {}) ⇒ Object
32 33 34 |
# File 'app/services/foreman_patch/ticket/api.rb', line 32 def put(path, payload, params = {}) create_request(:put, path, params, payload) end |
#response ⇒ Object
10 11 12 |
# File 'app/services/foreman_patch/ticket/api.rb', line 10 def response @response ||= send_request end |
#send_request ⇒ Object
61 62 63 64 65 66 67 |
# File 'app/services/foreman_patch/ticket/api.rb', line 61 def send_request @response = JSON.parse(@request.execute) rescue RestClient::ExceptionWithResponse => error Rails.logger.error(error.response) rescue => error Rails.logger.error(error) end |
#url ⇒ Object
14 15 16 |
# File 'app/services/foreman_patch/ticket/api.rb', line 14 def url request.uri.to_s end |