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



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

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

#new_paramsObject



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

def new_params
  request.query_parameters.dup.merge(pagination_param_name.to_s => models.last.send(pagination_param_name))
end

#next_urlObject



12
13
14
15
# File 'lib/active_record_api/rest/request_url_generator.rb', line 12

def next_url
  return if models.count == 0
  "#{current_url}?#{new_params}"
end

#protocolObject



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

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

#redirect_url(model) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/active_record_api/rest/request_url_generator.rb', line 25

def redirect_url(model)
  if action_name == 'update'
    current_url
  else
    "#{current_url}/#{model.id}"
  end
end