class Veyor::Request
Attributes
args[RW]
body[RW]
options[RW]
route[RW]
verbose[RW]
Public Class Methods
new(route, args, body, options, verbose)
click to toggle source
# File lib/veyor/request.rb, line 75 def initialize(route, args, body, options, verbose) self.route = route self.args = args self.body = body self.options = options self.verbose = verbose end
Public Instance Methods
_veyor_delete(route)
click to toggle source
# File lib/veyor/request.rb, line 133 def _veyor_delete(route) tok = Veyor.account_token if tok.nil? raise 'could not find env var APPVEYOR_API_TOKEN; please set it' end conn = get_conn conn.delete do |req| req.url '/api/' + route req.headers["Authorization"] = "Bearer " + tok end end
_veyor_get(route, opts)
click to toggle source
# File lib/veyor/request.rb, line 108 def _veyor_get(route, opts) tok = Veyor.account_token conn = get_conn conn.get do |req| req.url '/api/' + route req.params = opts req.headers["Content-Type"] = "application/json" req.headers["Authorization"] = "Bearer " + tok if tok end end
_veyor_post(route, body)
click to toggle source
# File lib/veyor/request.rb, line 119 def _veyor_post(route, body) tok = Veyor.account_token if tok.nil? raise 'could not find env var APPVEYOR_API_TOKEN; please set it' end conn = get_conn conn.post do |req| req.url '/api/' + route req.body = MultiJson.dump(body) req.headers["Content-Type"] = "application/json" req.headers["Authorization"] = "Bearer " + tok end end
delete()
click to toggle source
# File lib/veyor/request.rb, line 163 def delete return _veyor_delete(self.route).status end
get()
click to toggle source
# File lib/veyor/request.rb, line 153 def get res = _veyor_get(self.route, self.args) return parse_result(res) end
get_conn()
click to toggle source
# File lib/veyor/request.rb, line 83 def get_conn # if args.nil? # args = {} # end if self.verbose conn = Faraday.new(:url => Veyor.base_url, :request => self.options) do |f| f.request :url_encoded f.response :logger f.use CustomErrors f.adapter Faraday.default_adapter end else conn = Faraday.new(:url => Veyor.base_url, :request => self.options) do |f| f.request :url_encoded f.use CustomErrors f.adapter Faraday.default_adapter end end conn.headers[:user_agent] = make_ua conn.headers["X-USER-AGENT"] = make_ua return conn end
parse_result(z)
click to toggle source
# File lib/veyor/request.rb, line 145 def parse_result(z) if z.headers['content-type'].match('json').nil? return z.body else return MultiJson.load(z.body) end end
post()
click to toggle source
# File lib/veyor/request.rb, line 158 def post res = _veyor_post(self.route, self.body) return parse_result(res) end