module Constants
LOCALHOST = "127.0.0.1".freeze
API_PATH_REPOSITORIES = ->(uri, owner=nil, repo=nil, target="") {
"#{uri}/" + (repo.nil? ? (owner.nil? ? "pulls" : "orgs/#{owner}/repos") : "repos/#{owner}/#{repo}") + "#{target}" }
API_PATH_VARIABLES = ->(uri, owner=nil, repo=nil, key="") {
"#{uri}/#{repo.to_s.strip.present? ? "repos/#{owner}/#{repo}" : (owner.present? ? "orgs/#{owner}" : "user")}/actions/variables/#{key}"
}
HEADER_JSON = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}.freeze
HEADER_FORM = {
'Content-Type' => 'application/x-www-form-urlencoded'
}.freeze
URI_GITHUB_BASE = "https://api.github.com".freeze
URI_GITHUB_LATEST = ->(owner, repo) { "#{URI_GITHUB_BASE}/repos/#{owner}/#{repo}/releases/latest" }
URI_GITHUB_TAG = ->(owner, repo, tag) { tag.blank? ? nil : "#{URI_GITHUB_BASE}/repos/#{owner}/#{repo}/releases/tags/#{'v' unless tag.start_with?('v')}#{tag}" }
end