Sha256: 9a83afadaa9aeb746adef18c3361d0d5575e2f516581c4200c0a1bdd4f93eb6f
Contents?: true
Size: 1.66 KB
Versions: 3
Compression:
Stored size: 1.66 KB
Contents
# frozen_string_literal: true require 'forwardable' module Trav3 class InvalidRepository < StandardError def message "The repository format was invlaid. You must either provide the digit name for the repository, or `user/repo` or `user%2Frepo` as the name." end end class InvalidAPIEndpoint < StandardError def message "The API endpoint must be either 'https://api.travis-ci.com' or 'https://api.travis-ci.org'" end end class Unimplemented < StandardError def message 'This feature is not implemented.' end end class Response extend Forwardable attr_reader :travis def_delegators :@json, :[], :dig, :keys, :values, :has_key? def_delegators :@response, :code, :code_type, :uri, :message, :read_header, :header, :value, :entity, :response, :body, :decode_content, :msg, :reading_body, :read_body, :http_version, :connection_close?, :connection_keep_alive?, :initialize_http_header, :get_fields, :each_header def initialize(travis, response) @travis = travis @response = response @json = JSON.parse(response.body) end def inspect "<#{self.class} Response: keys = #{keys}>" end def success? raise Unimplemented end def failure? raise Unimplemented end private :travis end class Success < Response def page Trav3::Pagination.new(travis, self) end def success? true end def failure? false end end class RequestError < Response def success? false end def failure? true end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
trav3-0.2.3 | lib/trav3/result.rb |
trav3-0.2.2 | lib/trav3/result.rb |
trav3-0.2.1 | lib/trav3/result.rb |