class SendleAPI::Base
Public Class Methods
new(attributes = {}, persisted = false)
click to toggle source
Calls superclass method
# File lib/sendle_api/resources/base.rb, line 11 def initialize(attributes = {}, persisted = false) if defined?(self.class::DEFAULT_ATTRS) attributes = self.class::DEFAULT_ATTRS.merge(attributes) end super end
Private Class Methods
basic_auth_details()
click to toggle source
# File lib/sendle_api/resources/base.rb, line 53 def basic_auth_details "#{SendleAPI.config.sendle_id}:#{SendleAPI.config.api_key}" end
set_site()
click to toggle source
# File lib/sendle_api/resources/base.rb, line 45 def set_site self.site = if SendleAPI.config.testing? "https://#{basic_auth_details}@sandbox.sendle.com" else "https://#{basic_auth_details}@api.sendle.com" end end
validate_configs()
click to toggle source
# File lib/sendle_api/resources/base.rb, line 57 def validate_configs unless SendleAPI.config.sendle_id raise ArgumentError, "SendleAPI sendle_id is missing, please set it in the config and restart." end unless SendleAPI.config.api_key raise ArgumentError, "SendleAPI api_key is missing, please set it in the config and restart." end end
Public Instance Methods
errors()
click to toggle source
# File lib/sendle_api/resources/base.rb, line 23 def errors @errors ||= Errors.new(self) end
save()
click to toggle source
Calls superclass method
# File lib/sendle_api/resources/base.rb, line 18 def save self.class.validate_configs super end
Private Instance Methods
child_object_validations()
click to toggle source
# File lib/sendle_api/resources/base.rb, line 29 def child_object_validations if defined?(self.class::CHILD_OBJECT_KEYS_FOR_VALIDATION) self.class::CHILD_OBJECT_KEYS_FOR_VALIDATION.each do |obj| if !attributes[obj].nil? && !send(obj).valid? send(obj).errors.messages.each do |msg_key, messages| messages.each do |message| errors.add("#{obj}_#{msg_key}".to_sym, message) end end end end end end