cb-api 17.1.0 → 17.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -0
- data/lib/cb/models/api_call_model.rb +1 -1
- data/lib/cb/utils/api.rb +15 -6
- data/lib/cb/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc361451cedcf53facb26907387a0ac7ec5f8414
|
4
|
+
data.tar.gz: 02ee8f06d35f76f97f31d6ac1610f8fdd1a123c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f38f46f69986d146be3782e52406aac88d4871b07d6d1ce5b5e15d92c30686a2ab974acbec2e17118709ddf18763186fd90b0b430d4bcb7615e702971fce916d
|
7
|
+
data.tar.gz: 2c72fa5e9facb62007da9124dc57ff3069a9b1ea5ac6d55bd52072a6d7ffc84a6d2e15d1d15ce533394c469a2ee919d94bb5d808b5569f2f9110eb10d7007f48
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,7 @@ Version History
|
|
3
3
|
* All Version bumps are required to update this file as well!!
|
4
4
|
----
|
5
5
|
|
6
|
+
* 17.2.0 Give back more information about the API caller for timings
|
6
7
|
* 17.1.0 Start sending timings to all observers for API calls
|
7
8
|
* 17.0.2 making sure we explicitly ask for version 1 of the consumer APIs
|
8
9
|
* 17.0.1 adding posted_time and company_did to job results
|
data/lib/cb/utils/api.rb
CHANGED
@@ -46,10 +46,11 @@ module Cb
|
|
46
46
|
|
47
47
|
def execute_http_request(http_method, uri, path, options={}, &block)
|
48
48
|
self.class.base_uri(uri || Cb.configuration.base_uri)
|
49
|
+
api_caller = find_api_caller(caller)
|
49
50
|
start_time = Time.now.to_f
|
50
|
-
cb_event(:"cb_#{ http_method }_before", path, options, nil, 0.0, &block)
|
51
|
+
cb_event(:"cb_#{ http_method }_before", path, options, api_caller, nil, 0.0, &block)
|
51
52
|
response = self.class.method(http_method).call(path, options)
|
52
|
-
cb_event(:"cb_#{ http_method }_after", path, options, response, Time.now.to_f - start_time, &block)
|
53
|
+
cb_event(:"cb_#{ http_method }_after", path, options, api_caller, response, Time.now.to_f - start_time, &block)
|
53
54
|
validate_response(response)
|
54
55
|
end
|
55
56
|
|
@@ -101,18 +102,26 @@ module Cb
|
|
101
102
|
|
102
103
|
private
|
103
104
|
|
105
|
+
def find_api_caller(call_list)
|
106
|
+
filename_regex = /.*\.rb/
|
107
|
+
linenum_regex = /:.*:in `/
|
108
|
+
filename, method_name = call_list.find { |l| l[filename_regex] != __FILE__ }[0..-2].split(linenum_regex)
|
109
|
+
simplified_filename = filename.include?('/lib/') ? filename[/\/lib\/.*/] : filename
|
110
|
+
{ file: simplified_filename, method: method_name }
|
111
|
+
end
|
112
|
+
|
104
113
|
def validate_response(response)
|
105
114
|
validated_response = ResponseValidator.validate(response)
|
106
115
|
set_api_error(validated_response)
|
107
116
|
validated_response
|
108
117
|
end
|
109
118
|
|
110
|
-
def api_call_model(api_call_type, path, options, response, time_elapsed)
|
111
|
-
Cb::Models::ApiCall.new(api_call_type, path, options, response, time_elapsed)
|
119
|
+
def api_call_model(api_call_type, path, options, api_caller, response, time_elapsed)
|
120
|
+
Cb::Models::ApiCall.new(api_call_type, path, options, api_caller, response, time_elapsed)
|
112
121
|
end
|
113
122
|
|
114
|
-
def cb_event(api_call_type, path, options, response, time_elapsed, &block)
|
115
|
-
call_model = api_call_model(api_call_type, path, options, response, time_elapsed)
|
123
|
+
def cb_event(api_call_type, path, options, api_caller, response, time_elapsed, &block)
|
124
|
+
call_model = api_call_model(api_call_type, path, options, api_caller, response, time_elapsed)
|
116
125
|
block.call(call_model) if block_given?
|
117
126
|
changed(true)
|
118
127
|
notify_observers(call_model)
|
data/lib/cb/version.rb
CHANGED