Class: ShortLinkController
Instance Method Summary
collapse
#mints_contact_login, #mints_contact_logout, #mints_contact_magic_link_login, #mints_contact_signed_in?
Instance Method Details
#generate ⇒ Object
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/generators/short_link_controller.rb', line 14
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
3
4
5
6
7
8
9
10
11
12
|
# File 'lib/generators/short_link_controller.rb', line 3
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/generators/short_link_controller.rb', line 25
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
|