class Yt::Errors::RequestError
Public Class Methods
Source
# File lib/yt/errors/request_error.rb, line 6 def initialize(msg = {}) @msg = msg super msg end
Calls superclass method
Public Instance Methods
Source
# File lib/yt/errors/request_error.rb, line 22 def description response_body.fetch 'error_description', {} end
Source
# File lib/yt/errors/request_error.rb, line 33 def explanation 'A request to YouTube API failed' end
Source
# File lib/yt/errors/request_error.rb, line 18 def kind response_body.fetch 'error', {} end
Source
# File lib/yt/errors/request_error.rb, line 11 def message <<-MSG.gsub(/^ {8}/, '') #{explanation}: #{Yt.configuration.debugging? ? details : no_details } MSG end
Source
# File lib/yt/errors/request_error.rb, line 26 def reasons case kind when Hash then kind.fetch('errors', []).map{|e| e['reason']} else kind end end
Source
# File lib/yt/errors/request_error.rb, line 37 def response_body json['response_body'].is_a?(Hash) ? json['response_body'] : {} end
Private Instance Methods
Source
# File lib/yt/errors/request_error.rb, line 43 def details <<-MSG.gsub(/^ {8}/, '') #{response_body} You can retry the same request manually by running: #{request_curl} #{more_details} MSG end
Source
# File lib/yt/errors/request_error.rb, line 70 def json @json ||= JSON(@msg) rescue {} end
Source
# File lib/yt/errors/request_error.rb, line 53 def no_details <<-MSG.gsub(/^ {8}/, '') To display more verbose errors, change the configuration of Yt with: Yt.configure do |config| config.log_level = :debug end MSG end
Source
# File lib/yt/errors/request_error.rb, line 66 def request_curl json['request_curl'] end