class RapidApi::Services::RapidApi::Services::RapidApi::Services::BaseService
Attributes
bang_mode[RW]
params[RW]
response[RW]
Public Class Methods
method_missing(meth, *args, &block)
click to toggle source
Calls superclass method
# File lib/rapid_api/services/base_service.rb, line 9 def self.method_missing(meth, *args, &block) if meth[-1] == '!' meth = meth.to_s.split('!')[0].to_sym bang_mode = true else bang_mode = false end if instance_methods.include? meth service = self.new(*args) service.bang_mode = bang_mode service.send(meth) if bang_mode return service.response.value else return service.response end else super end end
new(params={})
click to toggle source
# File lib/rapid_api/services/base_service.rb, line 30 def initialize(params={}) @params = params @response = ServiceResponse.new after_initialize end
Public Instance Methods
add_error(key, message)
click to toggle source
# File lib/rapid_api/services/base_service.rb, line 39 def add_error(key, message) raise "#{key}: #{message}" if bang_mode if response.errors.key? key response.errors[key] << message else response.errors[key] = [] response.errors[key] << message end end
after_initialize()
click to toggle source
# File lib/rapid_api/services/base_service.rb, line 36 def after_initialize end
return_value(value)
click to toggle source
# File lib/rapid_api/services/base_service.rb, line 50 def return_value(value) response.value = value end
Protected Instance Methods
_transfer_errors_from_active_record(model)
click to toggle source
# File lib/rapid_api/services/base_service.rb, line 56 def _transfer_errors_from_active_record(model) if model.errors.any? model.errors.keys.each do |k| response.errors[k]= model.errors[k] end end end