Module: ContextIO::CallHelpers
- Includes:
- CollectionHelper
- Included in:
- Account, ConnectToken, Contact, ContextIO, Discovery, EmailAddress, Files, Folder, Message, OauthProvider, Sources, Sync, Threads, Webhook
- Defined in:
- lib/context_io/utilities/call_helpers.rb
Instance Method Summary collapse
- #build_url(resource, identifier) ⇒ Object
- #call_api_return_new_object(klass:, url:, method: :get, parent: nil, valid_params: nil, given_params: nil) ⇒ Object
- #call_api_return_updated_object(klass:, url:, identifier:, method: :post, valid_params: nil, given_params: nil) ⇒ Object
- #delete ⇒ Object
- #get(**kwargs) ⇒ Object
- #get_request(given_params: nil, valid_params: nil, url: nil) ⇒ Object
- #parse_response(response) ⇒ Object
- #return_post_api_call_made(object) ⇒ Object
- #success? ⇒ Boolean
- #validate_params(inputed_params, valid_params) ⇒ Object
Methods included from CollectionHelper
#collection_return, #contact_collection_return
Instance Method Details
#build_url(resource, identifier) ⇒ Object
16 17 18 |
# File 'lib/context_io/utilities/call_helpers.rb', line 16 def build_url(resource, identifier) "#{parent.call_url}/#{resource}/#{identifier}" end |
#call_api_return_new_object(klass:, url:, method: :get, parent: nil, valid_params: nil, given_params: nil) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/context_io/utilities/call_helpers.rb', line 32 def call_api_return_new_object(klass:, url:, method: :get, parent: nil, valid_params: nil, given_params: nil) request, api_call_made = call_api(method: method, url: url, given_params: given_params, valid_params: valid_params) klass.new(parent: parent || self, response: request.response, status: request.status, success: request.success, api_call_made: api_call_made) end |
#call_api_return_updated_object(klass:, url:, identifier:, method: :post, valid_params: nil, given_params: nil) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/context_io/utilities/call_helpers.rb', line 49 def call_api_return_updated_object(klass:, url:, identifier:, method: :post, valid_params: nil, given_params: nil) request, api_call_made = call_api(method: method, url: url, given_params: given_params, valid_params: valid_params) object = klass.new(parent: parent, response: request.response, identifier: identifier, status: request.status, success: request.success, api_call_made: api_call_made) return_post_api_call_made(object) end |
#delete ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/context_io/utilities/call_helpers.rb', line 90 def delete request = Request.new(connection, :delete, call_url) raise StandardError, (request.status, request.response) if request.success == false api_call_made = build_api_call_made(request.url, :delete, nil, nil) DeletedResource.new(response: request.response, status: request.status, success: request.success, api_call_made: api_call_made) end |
#get(**kwargs) ⇒ Object
86 87 88 |
# File 'lib/context_io/utilities/call_helpers.rb', line 86 def get(**kwargs) get_request(given_params: kwargs) end |
#get_request(given_params: nil, valid_params: nil, url: nil) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/context_io/utilities/call_helpers.rb', line 20 def get_request(given_params: nil, valid_params: nil, url: nil) request, api_call_made = call_api(method: :get, url: url || call_url, given_params: given_params, valid_params:valid_params) parse_response(request.response) @status = request.status @success = check_success(status) @api_call_made = api_call_made self end |
#parse_response(response) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/context_io/utilities/call_helpers.rb', line 5 def parse_response(response) if [Array, String].include?(response.class) @response = response else response.each do |k,v| key = k.to_s.gsub('-', '_') instance_variable_set("@#{key}", v) end end end |
#return_post_api_call_made(object) ⇒ Object
107 108 109 110 111 112 |
# File 'lib/context_io/utilities/call_helpers.rb', line 107 def return_post_api_call_made(object) call_made = object.api_call_made object.get object.api_call_made = call_made object end |
#success? ⇒ Boolean
103 104 105 |
# File 'lib/context_io/utilities/call_helpers.rb', line 103 def success? self.success end |
#validate_params(inputed_params, valid_params) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/context_io/utilities/call_helpers.rb', line 68 def validate_params(inputed_params, valid_params) return [nil, nil] if inputed_params.nil? rejected_params = [] params = [] inputed_params.map do |key, value| if valid_params.include?(key) params << [key, value] else rejected_params << key end end params = params.compact if !params.empty? params = params.to_h end [params, rejected_params] end |