class Spigoter::PluginCurse

Class that represent a Curse plugin. @author Daniel Ramos Acosta <danielramosacosta@hotmail.com>

Public Class Methods

new(website) click to toggle source
Calls superclass method
# File lib/spigoter/webapi/curse.rb, line 8
def initialize(website)
  raise "Bad URL #{website}" if website.match(%r{^http://mods.curse.com/bukkit-plugins/minecraft/[a-z\-]+$}).nil?
  super(website)
end

Public Instance Methods

name() click to toggle source
# File lib/spigoter/webapi/curse.rb, line 30
def name
  return @name unless @name.nil?
  @name = Regexp.new('Main Title -->\s*<H2 >\s*(?<name>.+)</H2>').match(@main_page)[:name]
end
version() click to toggle source
# File lib/spigoter/webapi/curse.rb, line 25
def version
  return @version unless @version.nil?
  @version = /Newest File: (?<version>.+)</.match(@main_page)[:version]
end

Private Instance Methods

download_page() click to toggle source
# File lib/spigoter/webapi/curse.rb, line 13
def download_page
  return @download_page unless @download_page.nil?
  @download_page = Spigoter::Utils.download("#{@url}/download")
end
download_url() click to toggle source
# File lib/spigoter/webapi/curse.rb, line 18
def download_url
  return @download_url unless @download_url.nil?
  download_page
  @download_url = %r{(?<download_url>http://addons\.curse\.cursecdn\.com.+\.jar)}
                  .match(@download_page)[:download_url]
end