Class: ActiveRecordApi::Rest::RequestUrlGenerator

Inherits:
Object
  • Object
show all
Includes:
ActiveAttr::Model
Defined in:
lib/active_record_api/rest/request_url_generator.rb

Instance Method Summary collapse

Instance Method Details

#current_urlObject



24
25
26
# File 'lib/active_record_api/rest/request_url_generator.rb', line 24

def current_url
  "#{protocol}#{host_with_port}#{micro_service_prefix}#{path}"
end

#micro_service_prefixObject



28
29
30
# File 'lib/active_record_api/rest/request_url_generator.rb', line 28

def micro_service_prefix
  request.headers['HTTP_X_REAL_PATH'].split(path).first if request.headers['HTTP_X_REAL_PATH'].present?
end

#new_paramsObject



20
21
22
# File 'lib/active_record_api/rest/request_url_generator.rb', line 20

def new_params
  query_parameters.dup.merge(pagination_param_name.to_s => models_remaining.limit(limit).last.send(pagination_param_name))
end

#next_urlObject



15
16
17
18
# File 'lib/active_record_api/rest/request_url_generator.rb', line 15

def next_url
  return if total_count == 0 || models_remaining.count <= limit
  "#{current_url}?#{new_params.to_param}"
end

#protocolObject



32
33
34
35
# File 'lib/active_record_api/rest/request_url_generator.rb', line 32

def protocol
  return 'http://' if Rails.env.development?
  'https://'
end