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