Class: ShortLinkController
Instance Method Summary
collapse
#define_mints_clients
#mints_contact_login, #mints_contact_logout, #mints_contact_magic_link_login, #mints_contact_signed_in?
#define_mints_clients
Instance Method Details
#generate ⇒ Object
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/generators/short_link_controller.rb', line 17
def generate
url = params[:url]
if url =~ /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/
mints_link = MintsLink.new
code = mints_link.generate(url)
render json: { code: code }
else
render json: false
end
end
|
#redirect ⇒ Object
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/generators/short_link_controller.rb', line 6
def redirect
code = params[:code]
mints_link = MintsLink.new
url = mints_link.get_url(code)
contact_id = cookies[:mints_contact_id]
user_agent = request.user_agent
ip = request.remote_ip
mints_link.visit(code, url, contact_id, user_agent, ip)
redirect_to url
end
|
#visits ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/generators/short_link_controller.rb', line 28
def visits
code = params[:code]
contact_id = params[:contact_id]
page = params[:page] ? params[:page].to_i : 1
page_size = params[:page_size] ? params[:page_size].to_i : 1000
filter = {}
if code
filter['code'] = code
end
if contact_id
filter['contact_id'] = contact_id
end
mints_link = MintsLink.new
visits = mints_link.get_visits(filter, page, page_size)
render json: { data: { visits: visits } }
end
|