Skip to content

Commit a700690

Browse files
author
Unai Abrisketa
committed
Update method order
1 parent be66093 commit a700690

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

lib/beyond_api/utils.rb

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,23 @@ module BeyondApi
44
module Utils
55
extend self
66

7-
def handle_response(response, status, respond_with_true: false)
8-
if status.between?(200, 299)
9-
return true if respond_with_true
7+
def handle_all_request(url, resource, params = {})
8+
paginated_size = BeyondApi.configuration.all_pagination_size
109

11-
response = sanitize_response(response)
12-
BeyondApi.configuration.object_struct_responses ? to_object_struct(response) : response
10+
if params[:paginated] == false
11+
result = all_paginated(url, params.merge(page: 0, size: paginated_size))
12+
13+
(1..result[:page][:total_pages] - 1).each do |page|
14+
result[:embedded][resource].concat(all_paginated(url, params.merge(page: page, size: paginated_size))[:embedded][resource])
15+
end
16+
17+
result[:page][:size] = result[:page][:total_elements]
18+
result[:page][:total_pages] = 1
19+
result[:page][:number] = 0
20+
21+
result
1322
else
14-
handle_error(response, status)
23+
all_paginated(url, params)
1524
end
1625
end
1726

@@ -21,16 +30,21 @@ def handle_error(response, status)
2130
BeyondApi.configuration.raise_error_requests ? raise(error) : error
2231
end
2332

24-
def to_object_struct(data)
25-
if data.is_a? Hash
26-
return OpenStruct.new(data.map { |key, val| [key, to_object_struct(val)] }.to_h)
27-
elsif data.is_a? Array
28-
return data.map { |o| to_object_struct(o) }
33+
def handle_response(response, status, respond_with_true: false)
34+
if status.between?(200, 299)
35+
return true if respond_with_true
36+
37+
response = sanitize_response(response)
38+
BeyondApi.configuration.object_struct_responses ? to_object_struct(response) : response
2939
else
30-
return data
40+
handle_error(response, status)
3141
end
3242
end
3343

44+
def sanitize_key(key)
45+
key.chars.first == "_" ? key[1..-1] : key
46+
end
47+
3448
def sanitize_response(hash)
3549
{}.tap do |h|
3650
hash.each do |key, value|
@@ -42,44 +56,30 @@ def sanitize_response(hash)
4256
end
4357
end
4458

45-
def sanitize_key(key)
46-
key.chars.first == "_" ? key[1..-1] : key
47-
end
48-
49-
def handle_all_request(url, resource, params = {})
50-
paginated_size = BeyondApi.configuration.all_pagination_size
51-
52-
if params[:paginated] == false
53-
result = all_paginated(url, params.merge(page: 0, size: paginated_size))
54-
55-
(1..result[:page][:total_pages] - 1).each do |page|
56-
result[:embedded][resource].concat(all_paginated(url, params.merge(page: page, size: paginated_size))[:embedded][resource])
57-
end
58-
59-
result[:page][:size] = result[:page][:total_elements]
60-
result[:page][:total_pages] = 1
61-
result[:page][:number] = 0
62-
63-
result
59+
def to_object_struct(data)
60+
if data.is_a? Hash
61+
return OpenStruct.new(data.map { |key, val| [key, to_object_struct(val)] }.to_h)
62+
elsif data.is_a? Array
63+
return data.map { |o| to_object_struct(o) }
6464
else
65-
all_paginated(url, params)
65+
return data
6666
end
6767
end
6868

6969
private
7070

71+
def all_paginated(url, params = {})
72+
response, status = BeyondApi::Request.get(@session, url, params)
73+
74+
handle_response(response, status)
75+
end
76+
7177
def transform(thing)
7278
case thing
7379
when Hash; sanitize_response(thing)
7480
when Array; thing.map { |v| transform(v) }
7581
else; thing
7682
end
7783
end
78-
79-
def all_paginated(url, params = {})
80-
response, status = BeyondApi::Request.get(@session, url, params)
81-
82-
handle_response(response, status)
83-
end
8484
end
8585
end

0 commit comments

Comments
 (0)