lib/trav3/result.rb in trav3-0.1.1 vs lib/trav3/result.rb in trav3-0.2.0
- old
+ new
@@ -8,39 +8,50 @@
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
- "You need to implement this method"
+ "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(response)
+ def initialize(travis, response)
+ @travis = travis
@response = response
@json = JSON.parse(response.body)
end
def inspect
"<#{self.class} Response: keys = #{self.keys}>"
end
def success?; raise Unimplemented end
def failure?; raise Unimplemented end
+ private :travis
end
class Success < Response
def page
- Trav3::Pagination.new(self)
+ Trav3::Pagination.new(travis, self)
end
def success?; true end
def failure?; false end
end