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.
271 272 273 |
# File 'lib/repocrawler/crawler.rb', line 271 def initialize(gem_name) @gem_name = gem_name end |
Instance Method Details
#get_dependencies ⇒ Object
get the dependencies
317 318 319 320 321 322 |
# File 'lib/repocrawler/crawler.rb', line 317 def get_dependencies oga_info = Gems.info @gem_name dependencies = oga_info['dependencies'] dependencies end |
#get_total_downloads ⇒ Object
total number of downloads
325 326 327 328 329 330 |
# File 'lib/repocrawler/crawler.rb', line 325 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
276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 |
# File 'lib/repocrawler/crawler.rb', line 276 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
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 |
# File 'lib/repocrawler/crawler.rb', line 292 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 |