Class: SL::IsgdSearch

Inherits:
Object
  • Object
show all
Defined in:
lib/searchlink/searches/shorteners/isgd.rb

Overview

is.gd link shortening

Class Method Summary collapse

Class Method Details

.search(_, search_terms, link_text) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/searchlink/searches/shorteners/isgd.rb', line 16

def search(_, search_terms, link_text)
  if SL::URL.url?(search_terms)
    link = search_terms
  else
    link, title, link_text = SL.ddg(search_terms, link_text)
  end

  url = shorten(link)
  title = SL::URL.title(link) if title.nil? || title.empty?
  link_text = title if (link_text.nil? || link_text.empty?) && !SL.titleize
  [url, title, link_text]
end

.settingsObject



7
8
9
10
11
12
13
14
# File 'lib/searchlink/searches/shorteners/isgd.rb', line 7

def settings
  {
    trigger: "isgd",
    searches: [
      ["isgd", "is.gd Shorten"]
    ]
  }
end

.shorten(url) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/searchlink/searches/shorteners/isgd.rb', line 29

def shorten(url)
  long_url = url.dup

  data = Curl::Json.new("https://is.gd/create.php?format=json&url=#{CGI.escape(long_url)}", symbolize_names: true)

  if data.json.key?("errorcode")
    SL.add_error("Error creating is.gd url", data.json[:errorcode])
    return false
  end

  data.json[:shorturl]
end