lib/aurb.rb in aurb-1.0.3 vs lib/aurb.rb in aurb-1.1.0

- old
+ new

@@ -6,38 +6,50 @@ # See LICENSE file for details. #++ require 'logger' require 'getoptlong' -require 'zlib' require 'open-uri' + +require 'zlib' require 'yajl' require 'ansi' require 'archive/tar/minitar' require 'facets/version' -module Aurb - # Generic Aurb error. - class AurbError < StandardError; end +module Aurb #:nodoc: + VERSION = '1.1.0' - # Raised for faulty arguments. - class AurbArgumentError < AurbError - def initialize - super('Invalid arguments') + class AurbError < StandardError + def self.status_code(code = nil) + return @code unless code + @code = code end - end - # Make a +Logger+ object available. - def self.logger - @logger ||= Logger.new(STDOUT) + def status_code + self.class.status_code + end end - # Returns an URL which will be used for JSON parsing. - def self.aur_path(type, arg) - "http://aur.archlinux.org/rpc.php?type=#{type}&arg=#{arg}" + class AurbDownloadError < AurbError; status_code(10); end + class AurbArgumentError < AurbError; status_code(12); end + + class << self + attr_reader :aur + + def logger + @logger ||= Logger.new(STDOUT) + end + + def aur_path(type, arg) + "http://aur.archlinux.org/rpc.php?type=#{type}&arg=#{arg}" + end + + def aur + @aur ||= Aur.new + end end end -$LOAD_PATH.unshift File.dirname(__FILE__) -require 'aurb/support' +$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__)) require 'aurb/aur' -require 'aurb/version' +require 'aurb/support'