class Repos::RubyGemsData
Public Class Methods
new(gem_name)
click to toggle source
# File lib/repocrawler/crawler.rb, line 292 def initialize(gem_name) @gem_name = gem_name end
Public Instance Methods
get_dependencies()
click to toggle source
get the dependencies
# File lib/repocrawler/crawler.rb, line 338 def get_dependencies oga_info = Gems.info @gem_name dependencies = oga_info['dependencies'] dependencies end
get_total_downloads()
click to toggle source
total number of downloads
# File lib/repocrawler/crawler.rb, line 346 def get_total_downloads oga_info = Gems.info @gem_name total_downloads = oga_info['downloads'] total_downloads end
get_version_downloads()
click to toggle source
get the downloads of each versions
# File lib/repocrawler/crawler.rb, line 297 def get_version_downloads versions = Gems.versions @gem_name version_downloads = versions.map do |version| if version['platform'] === 'ruby' { 'number' => version['number'], 'downloads' =>version['downloads_count'] } end end.reverse! version_downloads.compact! if version_downloads.include? nil version_downloads end
get_version_downloads_trend(start_date='', end_date='')
click to toggle source
# File lib/repocrawler/crawler.rb, line 313 def get_version_downloads_trend(start_date='', end_date='') versions = Gems.versions @gem_name end_date = Date.today if end_date.to_s == '' version_downloads_trend = versions.map do |version| start = version['created_at'] if start_date.to_s == '' if version['platform'] === 'ruby' version_downloads_days = Gems.downloads @gem_name, version['number'], start, end_date { 'number' => version['number'], 'downloads_date' => version_downloads_days, 'created_at' => version['created_at'] } end end.reverse! version_downloads_trend.compact! if version_downloads_trend.include? nil version_downloads_trend.each do |version| version['downloads_date'].delete_if {|_key, value| value == 0} end end