Class: Lolink

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

Constant Summary collapse

Version =
'0.0.8'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(v = nil) ⇒ Lolink

Returns a new instance of Lolink.



8
9
10
11
12
13
14
15
# File 'lib/lolink.rb', line 8

def initialize(v=nil)
  @base_url = "http://down.qq.com/lol"
  if v
    self.versions = v
  else
    parse_version
  end
end

Instance Attribute Details

#versionsObject

Returns the value of attribute versions.



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

def versions
  @versions
end

Class Method Details

.aria2(links) ⇒ Object



64
65
66
# File 'lib/lolink.rb', line 64

def self.aria2(links)
  system "aria2c --force-sequential=true --continue=true #{links.join(' ')}"
end

Instance Method Details



48
49
50
51
52
53
54
# File 'lib/lolink.rb', line 48

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

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

#parse_versionObject



21
22
23
24
25
26
27
# File 'lib/lolink.rb', line 21

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]
end


56
57
58
59
60
61
62
# File 'lib/lolink.rb', line 56

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

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


29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/lolink.rb', line 29

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

#versionObject



17
18
19
# File 'lib/lolink.rb', line 17

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

#version_numberObject



44
45
46
# File 'lib/lolink.rb', line 44

def version_number
  version.gsub /[^\d]/, ''
end