class RubygemsDownloads::Stats::Base

Attributes

name[R]

Public Class Methods

new(name) click to toggle source
# File lib/rubygems_downloads/stats/base.rb, line 13
def initialize(name)
  @name = name

  raise(ArgumentError, '`name` parameter invalid.') unless name.present?
end

Public Instance Methods

call() click to toggle source
# File lib/rubygems_downloads/stats/base.rb, line 19
def call
  response = HTTParty.get(url, format: :plain)

  return nil if response.code == 404

  JSON.parse(response, symbolize_names: true)
end

Protected Instance Methods

url() click to toggle source
# File lib/rubygems_downloads/stats/base.rb, line 29
def url
  endpoint.sub(placeholder, name)
end