Class: Repos::RubyGemsData
- Inherits:
-
Object
- Object
- Repos::RubyGemsData
- Defined in:
- lib/repocrawler/crawler.rb
Instance Method Summary collapse
-
#get_dependencies ⇒ Object
get the dependencies.
-
#get_total_downloads ⇒ Object
total number of downloads.
-
#get_version_downloads ⇒ Object
get the downloads of each versions.
- #get_version_downloads_trend(start_date = '', end_date = '') ⇒ Object
-
#initialize(gem_name) ⇒ RubyGemsData
constructor
A new instance of RubyGemsData.
Constructor Details
#initialize(gem_name) ⇒ RubyGemsData
Returns a new instance of RubyGemsData.
292 293 294 |
# File 'lib/repocrawler/crawler.rb', line 292 def initialize(gem_name) @gem_name = gem_name end |
Instance Method Details
#get_dependencies ⇒ Object
get the dependencies
338 339 340 341 342 343 |
# 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 ⇒ Object
total number of downloads
346 347 348 349 350 351 |
# 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 ⇒ Object
get the downloads of each versions
297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 |
# 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 = '') ⇒ Object
313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 |
# 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 |