Class: Lolink

Inherits:
Object
  • Object
show all
Defined in:
lib/lolink.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeLolink

Returns a new instance of Lolink.



6
7
8
9
# File 'lib/lolink.rb', line 6

def initialize
  @base_url = "http://down.qq.com/lol"
  parse_version
end

Class Method Details

.aria2(links) ⇒ Object



52
53
54
# File 'lib/lolink.rb', line 52

def self.aria2(links)
  system "aria2c -Z #{links.join(' ')}"
end

Instance Method Details



36
37
38
39
40
41
42
# File 'lib/lolink.rb', line 36

def full_links
  files = ["http://dlied1.qq.com/lol/full/LOL_#{@version}_FULL.exe"]

  files += test_link do |i|
    "http://dlied1.qq.com/lol/full/LOL_#{@version}_FULL.7z.#{i}"
  end
end

#parse_versionObject



11
12
13
14
15
16
17
18
19
# File 'lib/lolink.rb', line 11

def parse_version
  @doc = Nokogiri::HTML(open("http://lol.qq.com/download.shtml"))

  link = @doc.search('.downlst.fl a#xzq').first.attr('href')

  @versions = link.match(/(V.+-V.+)_PATCH/)[1]

  @version = @versions.split('-').last
end


44
45
46
47
48
49
50
# File 'lib/lolink.rb', line 44

def patch_links
  files = ["#{@base_url}/patch/LOL_#{@versions}_PATCH.exe"]

  files += test_link do |i|
    "#{@base_url}/patch/LOL_#{@version}_PATCH.7z.#{i}"
  end
end


21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/lolink.rb', line 21

def test_link
  i = 0
  links = []
  loop do
    i+=1
    link = yield('%.3d' % i)
    if HTTP.follow.head(link).code == 404
      break
    else
      links << link
    end
  end
  links
end