Sha256: e8658ea0c8b5261cd5dee6888eed3c71be59d3f06bcdddae163701bf02f68b38

Contents?: true

Size: 686 Bytes

Versions: 1

Compression:

Stored size: 686 Bytes

Contents

require 'httparty'

module BambooId
  module Requests
    module BasicRequestHandling
      def self.included(base)
        base.send :include, HTTParty
        base.send :format, :json
      end

      private

      def response
        @response ||= OpenStruct.new(http_response)
      rescue NoMethodError, JSON::ParserError
        OpenStruct.new(error: 'Invalid response from Bamboo. Please try again.')
      end

      def http_response
        @http_response ||= self.class.post(url.to_s, body: url.params, headers: headers)
      end

      def headers
        {}
      end

      def url
        raise NotImplementedError, 'Please implement #url'
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bamboo-id-0.1.3 lib/bamboo_id/requests/basic_request_handling.rb