Sha256: ae10843d65e397b1d3ccbd865cedb261bc1c139259204bd328c1cef12cfd8e0f
Contents?: true
Size: 1.43 KB
Versions: 3
Compression:
Stored size: 1.43 KB
Contents
# encoding: utf-8 require 'jiralicious/configuration' module Jiralicious ## # The Session class handles the interactions with the Jira Rest API # Through the HTTParty gem. # class Session include HTTParty # Sets the default format to JSON for send and return format :json # Sets the default headers to application/json for send and return headers 'Content-Type' => 'application/json' ## # Main access method to request data from the Jira API # def request(method, *options) if options.last.is_a?(Hash) && options.last[:handler] response_handler = options.last.delete(:handler) else response_handler = handler end self.class.base_uri Jiralicious.uri before_request if respond_to?(:before_request) response = self.class.send(method, *options) after_request(response) if respond_to?(:after_request) response_handler.call(response) end private ## # Configures the default handler. This can be overridden in # the child class to provide additional error handling. # def handler Proc.new do |response| case response when 200..204 response.body else message = response.body if message.is_a?(Hash) message = message['errorMessages'].join('\n') end Jiralicious::JiraError.new(message) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jiralicious-0.3.0 | lib/jiralicious/session.rb |
jiralicious-0.2.2 | lib/jiralicious/session.rb |
jiralicious-0.2.1 | lib/jiralicious/session.rb |