class Yt::Errors::RequestError
Public Class Methods
new(msg = {})
click to toggle source
Calls superclass method
# File lib/yt/errors/request_error.rb, line 6 def initialize(msg = {}) @msg = msg super msg end
Public Instance Methods
description()
click to toggle source
# File lib/yt/errors/request_error.rb, line 22 def description response_body.fetch 'error_description', {} end
explanation()
click to toggle source
# File lib/yt/errors/request_error.rb, line 33 def explanation 'A request to YouTube API failed' end
kind()
click to toggle source
# File lib/yt/errors/request_error.rb, line 18 def kind response_body.fetch 'error', {} end
message()
click to toggle source
# File lib/yt/errors/request_error.rb, line 11 def message <<-MSG.gsub(/^ {8}/, '') #{explanation}: #{Yt.configuration.debugging? ? details : no_details } MSG end
reasons()
click to toggle 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
response_body()
click to toggle 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
details()
click to toggle 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
json()
click to toggle source
# File lib/yt/errors/request_error.rb, line 70 def json @json ||= JSON(@msg) rescue {} end
more_details()
click to toggle source
# File lib/yt/errors/request_error.rb, line 63 def more_details end
no_details()
click to toggle 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
request_curl()
click to toggle source
# File lib/yt/errors/request_error.rb, line 66 def request_curl json['request_curl'] end