module GithubReleases::Client

Public Instance Methods

fetch(key, resource) click to toggle source
# File lib/github_releases/client.rb, line 2
def fetch(key, resource)
  return cache.read(key) if cache.exist?(key)
  cache.write(key, get(resource))
  cache.read(key)
end

Private Instance Methods

cache() click to toggle source
# File lib/github_releases/client.rb, line 28
def cache
  Rails.cache
end
endpoint() click to toggle source
# File lib/github_releases/client.rb, line 23
def endpoint
  "#{GithubReleases.github_api}/repos/#{GithubReleases.username}/" \
  "#{GithubReleases.repo}/releases"
end
get(resource) click to toggle source
# File lib/github_releases/client.rb, line 10
def get(resource)
  JSON.parse(HTTParty.get(resource, headers: headers).body)
end
headers() click to toggle source
# File lib/github_releases/client.rb, line 14
def headers
  {
    'Content-Type'  => 'application/json',
    'Accept'        => 'application/vnd.github.v3+json',
    'User-Agent'    => GithubReleases.username,
    'Authorization' => "token #{ENV['GITHUB_API_TOKEN']}"
  }
end