class SocialMedia::Service::Base
Attributes
connection_params[R]
not_provided_behavior[R]
Public Class Methods
name()
click to toggle source
# File lib/social_media/service/base.rb, line 4 def self.name raise NotImplementedError.new "#{self.to_s}::name not implemented" end
new(connection_params)
click to toggle source
# File lib/social_media/service/base.rb, line 11 def initialize connection_params @connection_params = connection_params @not_provided_behavior = connection_params.delete(:not_provided_behavior) || :raise_error end
Public Instance Methods
cast_error(error)
click to toggle source
# File lib/social_media/service/base.rb, line 16 def cast_error error return Error end
handle_error() { || ... }
click to toggle source
# File lib/social_media/service/base.rb, line 27 def handle_error &block begin yield rescue Exception => error wrapped_error = SocialMedia::convert_exception_class(error, cast_error(error) || Error) raise wrapped_error end end
raise_not_provided_error()
click to toggle source
# File lib/social_media/service/base.rb, line 20 def raise_not_provided_error return if not_provided_behavior == :silent method_name = caller.first.scan(/\:in \`(.*)\'$/).join raise SocialMedia::Error::NotProvided.new "#{self.class.to_s}##{method_name}" end