class Pod::CodingArUtil
Constants
- CODING_AR_NETRC_PATH_ENV
- JSON_CONTENT_TYPE
- USER_AGENT
Public Class Methods
coding_ar_service?(url)
click to toggle source
# File lib/coding_ar_util.rb, line 12 def self.coding_ar_service?(url) request = Typhoeus::Request.new( url, :method => :get, :headers => { 'User-Agent' => USER_AGENT, }, ) request.run begin resp = JSON.parse(request.response.body) resp['service'] == 'CODING-AR' rescue return false end end
download(url, path)
click to toggle source
# File lib/coding_ar_util.rb, line 73 def self.download(url, path) request = Typhoeus::Request.new( url, :method => :get, :netrc => :optional, :netrc_file => ENV[CODING_AR_NETRC_PATH_ENV] || Netrc.default_path, :followlocation => true, :headers => { 'User-Agent' => USER_AGENT, }, ) request.run if request.response.code == 0 raise "fail to request #{url}: #{request.response.return_message}" elsif request.response.code != 200 raise "fail to request #{url}: #{request.response.body}" else file = File.new(path, 'wb') file << request.response.body file.close end end
get_json(url)
click to toggle source
# File lib/coding_ar_util.rb, line 51 def self.get_json(url) request = Typhoeus::Request.new( url, :method => :get, :netrc => :optional, :netrc_file => ENV[CODING_AR_NETRC_PATH_ENV] || Netrc.default_path, :followlocation => true, :headers => { 'User-Agent' => USER_AGENT, }, ) request.run if request.response.code == 0 raise "fail to request #{url}: #{request.response.return_message}" elsif request.response.code != 200 raise "fail to request #{url}: #{request.response.body}" else JSON.parse(request.response.body) end end
push_pod(url, body_path)
click to toggle source
# File lib/coding_ar_util.rb, line 30 def self.push_pod(url, body_path) request = Typhoeus::Request.new( url, :method => :post, :netrc => :optional, :netrc_file => ENV[CODING_AR_NETRC_PATH_ENV] || Netrc.default_path, :headers => { 'Content-Type' => JSON_CONTENT_TYPE, 'User-Agent' => USER_AGENT, }, :body => File.read(body_path), ) request.run if request.response.code == 0 raise "fail to push pod: #{request.response.return_message}" elsif request.response.code != 200 raise "fail to push pod: #{request.response.body}" end end