Class: Siffer::Messages::Error

Inherits:
AcDc::Body
  • Object
show all
Defined in:
lib/siffer/messages/error.rb

Class Method Summary collapse

Class Method Details

.create(options = {}) {|error| ... } ⇒ Object

Yields:

  • (error)


11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/siffer/messages/error.rb', line 11

def self.create(options = {}, &block)
  error = Error.new
  error.category = options[:error_category]
  error.code = options[:error_code]
  error.description = options[:error_desc]
  yield error if block_given?
  raise "Error Category is required" if error.category.nil?
  raise "Error Code is required" if error.code.nil?
  raise "Error Description is required" if error.description.nil?
  raise "Error Category is invalid" unless ERROR_CATEGORY.keys.include?(error.category)
  raise "Error Code is invalid" unless ERROR_CODES[error.category].any?{|codes| codes.keys.include?(error.code)}
  error
end