Class: Lolink
- Inherits:
-
Object
- Object
- Lolink
- Defined in:
- lib/lolink.rb,
lib/lolink/version.rb
Constant Summary collapse
- Version =
'0.0.8'
Instance Attribute Summary collapse
-
#versions ⇒ Object
Returns the value of attribute versions.
Class Method Summary collapse
Instance Method Summary collapse
- #full_links ⇒ Object
-
#initialize(v = nil) ⇒ Lolink
constructor
A new instance of Lolink.
- #parse_version ⇒ Object
- #patch_links ⇒ Object
- #test_link ⇒ Object
- #version ⇒ Object
- #version_number ⇒ Object
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
#versions ⇒ Object
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
#full_links ⇒ Object
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_version ⇒ Object
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 |
#patch_links ⇒ Object
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 |
#test_link ⇒ Object
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 |
#version ⇒ Object
17 18 19 |
# File 'lib/lolink.rb', line 17 def version @version ||= @versions.split('-').last end |
#version_number ⇒ Object
44 45 46 |
# File 'lib/lolink.rb', line 44 def version_number version.gsub /[^\d]/, '' end |