class Npmfed::NpmPackage
Attributes
debug[RW]
dependencies[RW]
fedora_rawhide_version[RW]
koji_requests[RW]
name[RW]
npm_data[RW]
npmjs_url[RW]
pkgdb_requests[RW]
tarball[RW]
version[RW]
Public Class Methods
new(name, debug, version = nil)
click to toggle source
# File lib/npmfed/npm_package.rb, line 8 def initialize name, debug, version = nil #debuging options @koji_requests = 0 @pkgdb_requests = 0 @debug = debug @npmjs_url = URI("https://registry.npmjs.org/#{name}") @fedora_rawhide_version = "f24" @npm_data = JSON.parse Net::HTTP.get(@npmjs_url) @version = version || @npm_data["dist-tags"]["latest"] || abort("Can't determine version") @npm_data = @npm_data["versions"][@version] || abort("No such version: #{@version.inspect}") @name = @npm_data["name"] @dependencies = get_dependencies get_builds_for_deps end
Public Instance Methods
get_builds_for_deps()
click to toggle source
# File lib/npmfed/npm_package.rb, line 72 def get_builds_for_deps puts "Getting infromation about builds of package dependencies from koji" @koji_requests +=1 @dependencies.each do |name, data| IO.popen("koji search build -r 'nodejs-#{name}-[0-9]'") do |f| puts("checking builds for" + " #{name}".yellow) data[:builds] = f.readlines.collect {|build| build.chop } end unless data.nil? end puts "DONE".green end
get_dependencies()
click to toggle source
# File lib/npmfed/npm_package.rb, line 32 def get_dependencies puts "Getting infromation about #{@name} and its dependencies from pkgdb" result = {} @npm_data['dependencies'].each do |name, version| pkgdb_data = pkg_in_fedora? name if pkgdb_data result["#{name}"] = {distgit_branches: Array.new, builds: Array.new} result["#{name}"][:distgit_branches] = pkgdb_data else result["#{name}"] = nil end end unless @npm_data['dependencies'].nil? puts "DONE".green return result end
licenses()
click to toggle source
# File lib/npmfed/npm_package.rb, line 28 def licenses @npm_data['license'] end
pkg_in_fedora?(name)
click to toggle source
# File lib/npmfed/npm_package.rb, line 60 def pkg_in_fedora? name @pkgdb_requests += 1 IO.popen("git ls-remote http://pkgs.fedoraproject.org/cgit/nodejs-" + name + ".git/") do |f| result = f.readlines.collect {|branch| branch.match(/\/[emf][a-z]*[0-9]*/).to_s[1..-1] } if result.empty? return false else return result.compact end end end
pkgversion()
click to toggle source
# File lib/npmfed/npm_package.rb, line 52 def pkgversion @pkgversion ||= @version.tr('-', '_') end
rpmname()
click to toggle source
# File lib/npmfed/npm_package.rb, line 56 def rpmname "nodejs-#{@name}" end
srcversion()
click to toggle source
# File lib/npmfed/npm_package.rb, line 48 def srcversion @srcversion ||= @version end